:root{--brand:#667eea;--brand-dark:#5a67d8;--brand-gradient:linear-gradient(135deg, var(--brand) 0%, #764ba2 100%);--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--color-success:#16a34a;--color-success-light:#f0fdf4;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-light:#fef2f2;--color-info:#2563eb;--color-info-light:#eff6ff;--color-focus:#4f46e5;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--primary-color:var(--brand);--accent-color:var(--brand);--surface-primary:#fff;--welcome-brand:var(--brand);--welcome-brand-dark:var(--brand-dark);--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--gray-800);background-color:var(--surface-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0;overflow:hidden}body{min-width:320px;margin:0}#root{width:100%;height:100%}h1,h2,h3{margin:0;font-weight:600}a{color:var(--brand);-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:var(--brand-dark)}button{border-radius:var(--radius-lg);background-color:var(--gray-100);color:var(--gray-800);cursor:pointer;border:1px solid #0000;font-family:inherit;font-size:.9em;font-weight:500}:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.app-loading{background:var(--surface-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.app-loading__spinner{border:3px solid var(--gray-200);border-top-color:var(--brand);border-radius:50%;width:40px;height:40px;animation:1s linear infinite app-loading-spin}@keyframes app-loading-spin{to{transform:rotate(360deg)}}.table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.social-login-buttons{flex-direction:column;gap:12px;width:100%;margin-bottom:20px;display:flex}.social-btn{color:#333;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 24px;font-size:15px;font-weight:500;transition:all .2s;display:flex;position:relative}.social-btn:hover:not(:disabled){background:#f8f9fa;border-color:#ccc;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.social-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 4px #0000001a}.social-btn:focus-visible{outline:2px solid var(--welcome-brand,#667eea);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.social-btn:disabled{opacity:.6;cursor:not-allowed}.social-icon{flex-shrink:0;width:20px;height:20px}.google-btn:hover:not(:disabled){border-color:#4285f4}.microsoft-btn:hover:not(:disabled){border-color:#00a4ef}.facebook-btn:hover:not(:disabled){border-color:#1877f2}.loading-spinner{animation:1s linear infinite spin;display:inline-block}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=480px){.social-btn{padding:10px 20px;font-size:14px}.social-icon{width:18px;height:18px}}.email-display{background:#f3f4f6;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 15px;display:flex}.email-display span{color:#374151;font-weight:500}.change-email-btn{color:#007bff;cursor:pointer;background:0 0;border:none;font-size:14px;text-decoration:underline}.change-email-btn:hover{color:#0056b3}.change-email-btn:focus-visible{outline:2px solid var(--welcome-brand,#667eea);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.sso-available-banner{text-align:center;background:linear-gradient(135deg,#e0f2fe 0%,#f0f9ff 100%);border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:15px}.sso-available-banner p{color:#0369a1;margin:0 0 12px}.sso-available-banner .btn-sso{justify-content:center;align-items:center;gap:10px;width:100%;display:flex}.or-divider{color:#9ca3af;align-items:center;margin:20px 0;display:flex}.or-divider:before,.or-divider:after{content:"";background:#e5e7eb;flex:1;height:1px}.or-divider span{text-transform:uppercase;padding:0 15px;font-size:12px}.sso-redirect{text-align:center;padding:30px 20px}.sso-redirect-icon{color:var(--welcome-brand,#667eea);margin-bottom:20px}.sso-redirect h3{color:#333;margin:0 0 15px;font-size:20px}.sso-redirect p{color:#666;margin:0 0 10px}.sso-redirect .redirect-message{color:#007bff;margin-top:20px;font-style:italic}.sso-redirect .loading-spinner{border:3px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:30px;height:30px;margin:20px auto;animation:1s linear infinite spin}.sso-redirect-actions{justify-content:center;gap:12px;margin-top:25px;display:flex}.sso-providers{flex-direction:column;gap:10px;margin-top:15px;display:flex}.sso-provider-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.sso-provider-btn:hover{background:#f9fafb;border-color:#9ca3af}.sso-provider-btn:disabled{opacity:.6;cursor:not-allowed}.sso-provider-btn .provider-icon{width:20px;height:20px}.sso-provider-btn.azure-ad{color:#0078d4;border-color:#0078d4}.sso-provider-btn.azure-ad:hover{background:#f0f7ff}.sso-provider-btn.google{color:#4285f4;border-color:#4285f4}.sso-provider-btn.google:hover{background:#f0f7ff}.sso-provider-btn.okta{color:#007dc1;border-color:#007dc1}.sso-provider-btn.okta:hover{background:#f0f9ff}.sso-provider-btn.saml{color:#6b7280;border-color:#6b7280}.sso-provider-btn.saml:hover{background:#f9fafb}.sso-callback-processing{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:200px;display:flex}.sso-callback-processing .loading-spinner{border-width:4px;width:40px;height:40px;margin-bottom:20px}.sso-callback-processing p{color:#666;margin:0}.sso-error{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:20px}.sso-error-icon{margin-bottom:15px;font-size:40px}.sso-error h4{color:#b91c1c;margin:0 0 10px}.sso-error p{color:#991b1b;margin:0}.language-switcher{display:inline-block;position:relative}.language-switcher-toggle{border:1px solid var(--border-color,#ddd);cursor:pointer;color:var(--text-color,#333);background:0 0;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:.875rem;transition:background-color .15s;display:flex}.language-switcher-toggle:hover{background:var(--hover-bg,#0000000d)}.language-switcher-toggle:focus-visible{outline:2px solid var(--welcome-brand,var(--brand));outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.language-flag{font-size:1.1rem;line-height:1}.language-label{white-space:nowrap}.language-switcher--compact .language-switcher-toggle{border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:6px;display:flex}.language-switcher--compact .language-flag{font-size:1.25rem}.language-switcher-dropdown{background:var(--dropdown-bg,#fff);border:1px solid var(--border-color,#ddd);z-index:1000;border-radius:6px;min-width:150px;margin-top:4px;padding:4px 0;list-style:none;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001a}.language-switcher-dropdown li button{cursor:pointer;width:100%;color:var(--text-color,#333);background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:.875rem;transition:background-color .15s;display:flex}.language-switcher-dropdown li button:hover{background:var(--hover-bg,#0000000d)}.language-switcher-dropdown li button:focus-visible{outline:2px solid var(--welcome-brand,var(--brand));outline-offset:-2px;box-shadow:none}.language-switcher-dropdown li[aria-selected=true] button{background:var(--selected-bg,#00000008);font-weight:600}:root{--welcome-brand:var(--brand,#667eea);--welcome-brand-dark:var(--brand-dark,#5a67d8);--welcome-fg:#1a1a2e;--welcome-fg-muted:#6b7280;--welcome-bg:#fff;--welcome-hero-bg:#f8f9fc;--welcome-border:#e5e7eb;--welcome-error:#dc2626;--welcome-error-bg:#fef2f2;--welcome-success:#059669;--welcome-success-bg:#ecfdf5;--welcome-radius:16px;--welcome-transition:.28s ease}.welcome-layout{background:var(--welcome-bg);grid-template-columns:1fr;height:100dvh;display:grid;position:relative;overflow:hidden auto}.welcome-top-right{top:calc(12px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));z-index:10;position:absolute}.welcome-hero-side{display:flex}.welcome-mobile-brand{display:none}.hero-panel{background:var(--welcome-hero-bg);width:100%;min-width:0;height:auto;padding:calc(32px + env(safe-area-inset-top)) 20px 32px;flex:auto;justify-content:center;align-items:center;display:flex}.hero-panel-content{text-align:center;max-width:340px;color:var(--welcome-fg)}.hero-illustration{color:var(--welcome-brand);margin-bottom:32px;position:relative}.hero-illustration svg{-webkit-user-select:none;user-select:none;width:100%;max-width:200px;height:auto;color:var(--welcome-brand)}.hero-brand{letter-spacing:-.02em;color:var(--welcome-fg);margin:0 0 8px;font-size:2rem;font-weight:700}.hero-tagline{color:var(--welcome-brand);margin:0 0 8px;font-size:1.05rem;font-weight:500}.hero-subtitle{color:var(--welcome-fg-muted);margin:0;font-size:.875rem;line-height:1.5}.welcome-form-side{padding:32px 20px calc(32px + env(safe-area-inset-bottom));justify-content:center;align-items:center;min-height:0;display:flex}.welcome-card{background:var(--welcome-bg);border-radius:var(--welcome-radius);border:none;width:100%;max-width:420px;padding:36px 32px;box-shadow:0 2px 8px #0000000f}.welcome-card .form-group{margin-bottom:20px;display:block}.welcome-card .form-group label{color:var(--welcome-fg);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.welcome-card .form-group input,.welcome-card .form-group textarea,.welcome-card .form-group select{width:100%;max-width:none;color:var(--welcome-fg);transition:border-color var(--welcome-transition), box-shadow var(--welcome-transition);box-sizing:border-box;background:0 0;border-radius:0;padding:11px 2px;font-size:16px;display:block;border:none!important;border-bottom:1.5px solid var(--welcome-border)!important}.welcome-card .form-group input::placeholder{color:#9ca3af}.welcome-card .form-group input:focus,.welcome-card .form-group textarea:focus,.welcome-card .form-group select:focus{border-bottom-color:var(--welcome-brand);box-shadow:0 1px 0 0 var(--welcome-brand);outline:none}.welcome-card .form-group textarea{resize:vertical;min-height:80px}.welcome-card form{width:100%;display:block}.welcome-layout .btn{cursor:pointer;transition:background var(--welcome-transition), color var(--welcome-transition), box-shadow var(--welcome-transition);text-align:center;box-sizing:border-box;border:none;border-radius:8px;width:100%;padding:11px 24px;font-size:15px;font-weight:500;text-decoration:none;display:block}.welcome-layout .btn-primary{background:var(--welcome-brand);color:#fff;width:100%;margin-bottom:14px}.welcome-layout .btn-primary:hover{background:var(--welcome-brand-dark);box-shadow:0 2px 8px #667eea40}.welcome-layout .btn-primary:active{transform:scale(.99)}.welcome-layout .btn-secondary{color:var(--welcome-brand);border:1px solid var(--welcome-border);background:0 0;width:100%;margin-bottom:12px}.welcome-layout .btn-secondary:hover{border-color:var(--welcome-brand);background:#667eea0a}.welcome-layout .btn-link{color:var(--welcome-brand);cursor:pointer;background:0 0;border:none;padding:8px 0;font-size:14px}.welcome-layout .btn-link:hover{color:var(--welcome-brand-dark);text-decoration:underline}.auth-page-title{color:var(--welcome-fg);text-align:center;margin:0 0 6px;font-size:1.5rem;font-weight:600}.auth-page-description{text-align:center;color:var(--welcome-fg-muted);margin:0 0 28px;font-size:.875rem;line-height:1.5}.auth-links{text-align:center;margin-top:20px}.auth-links a,.auth-links button{color:var(--welcome-brand);cursor:pointer;background:0 0;border:none;margin:0 8px;padding:0;font-size:14px;text-decoration:none}.auth-links a:hover,.auth-links button:hover{color:var(--welcome-brand-dark);text-decoration:underline}.auth-links span{color:var(--welcome-border)}.divider{text-align:center;color:var(--welcome-fg-muted);margin:20px 0;font-size:13px;position:relative}.divider:before{content:"";background:var(--welcome-border);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.divider span{background:var(--welcome-bg);z-index:2;padding:0 14px;position:relative}.welcome-card .error-message,.welcome-layout .error-message{color:var(--welcome-error);background:0 0;border:none;margin-bottom:4px;padding:0 0 12px;font-size:13px;line-height:1.4}.success-message{color:var(--welcome-success);background:0 0;border:none;margin-bottom:4px;padding:0 0 12px;font-size:13px;line-height:1.4}.org-badge{background:var(--welcome-hero-bg);border:1px solid var(--welcome-border);color:var(--welcome-fg-muted);border-radius:20px;align-items:center;gap:6px;margin-bottom:20px;padding:6px 14px;font-size:13px;display:inline-flex}.org-badge strong{color:var(--welcome-fg);font-weight:600}.back-button{margin-bottom:16px}.auth-terms-text{text-align:center;color:var(--welcome-fg-muted);margin-top:20px;font-size:12px}.create-org-scroll,.register-form-scroll{max-height:85vh;overflow-y:auto}.create-org-fullscreen{background:var(--welcome-bg);min-height:100vh;position:relative}.create-org-split{border:none;grid-template-columns:1fr;min-height:100vh;margin:0;padding:0;display:grid}.create-org-panel{justify-content:center;align-items:center;padding:48px 32px;display:flex}.create-org-panel-inner{width:100%;max-width:420px}.create-org-club-panel{background:var(--welcome-hero-bg)}.create-org-illustration{text-align:center;color:var(--welcome-brand);margin-bottom:24px}.create-org-illustration svg{-webkit-user-select:none;user-select:none;width:100%;max-width:180px;height:auto;color:var(--welcome-brand)}.create-org-account-panel{background:var(--welcome-bg)}.create-org-heading{color:var(--welcome-fg);margin:0 0 4px;font-size:1.5rem;font-weight:600}.create-org-subtitle{color:var(--welcome-fg-muted);margin:0 0 24px;font-size:.875rem;line-height:1.5}.create-org-back{text-align:center;margin-top:20px}.create-org-panel .form-group{margin-bottom:20px;display:block}.create-org-panel .form-group label{color:var(--welcome-fg);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.create-org-panel .form-group input{border:none;border-bottom:1.5px solid var(--welcome-border);width:100%;max-width:none;color:var(--welcome-fg);transition:border-color var(--welcome-transition), box-shadow var(--welcome-transition);box-sizing:border-box;background:0 0;border-radius:0;padding:11px 2px;font-size:15px;display:block}.create-org-panel .form-group input::placeholder{color:#9ca3af}.create-org-panel .form-group input:focus{border-bottom-color:var(--welcome-brand);box-shadow:0 1px 0 0 var(--welcome-brand);outline:none}.create-org-panel .btn{cursor:pointer;transition:background var(--welcome-transition), color var(--welcome-transition), box-shadow var(--welcome-transition);text-align:center;box-sizing:border-box;border:none;border-radius:8px;width:100%;padding:11px 24px;font-size:15px;font-weight:500;text-decoration:none;display:block}.create-org-panel .btn-primary{background:var(--welcome-brand);color:#fff;width:100%;margin-top:8px}.create-org-panel .btn-primary:hover{background:var(--welcome-brand-dark);box-shadow:0 2px 8px #667eea40}.create-org-panel .btn-link{color:var(--welcome-brand);cursor:pointer;background:0 0;border:none;width:auto;padding:8px 0;font-size:14px}.create-org-panel .btn-link:hover{color:var(--welcome-brand-dark);text-decoration:underline}.create-org-panel .divider{text-align:center;color:var(--welcome-fg-muted);margin:20px 0;font-size:13px;position:relative}.create-org-panel .divider:before{content:"";background:var(--welcome-border);z-index:1;height:1px;position:absolute;top:50%;left:0;right:0}.create-org-panel .divider span{background:var(--welcome-bg);z-index:2;padding:0 14px;position:relative}.create-org-panel .organization-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}.create-org-panel .error-message{color:var(--welcome-error);background:0 0;border:none;margin-bottom:4px;padding:0 0 12px;font-size:13px;line-height:1.4}.create-org-panel .success-message{color:var(--welcome-success);background:0 0;border:none;margin-bottom:4px;padding:0 0 12px;font-size:13px;line-height:1.4}@media (width>=768px){.create-org-split{grid-template-columns:1fr 1fr}.create-org-panel{min-height:100vh;padding:48px 40px}.create-org-illustration svg{max-width:220px}}@media (width>=1200px){.create-org-panel{padding:48px 56px}.create-org-illustration svg{max-width:260px}}@media (width<=480px){.create-org-panel{padding:24px 16px}.create-org-panel .organization-grid{grid-template-columns:1fr;gap:10px}}@media (width<=360px){.create-org-panel{padding:16px 10px}.create-org-illustration svg{max-width:120px}}.form-hint{color:var(--welcome-fg-muted);margin-left:8px;font-size:.75rem;font-weight:400}.form-hint-block{color:var(--welcome-fg-muted);margin-top:4px;font-size:.75rem;display:block}.form-section-divider{border-top:1px solid var(--welcome-border);margin:16px 0;padding-top:16px}.form-section-title{color:var(--welcome-fg);margin:0 0 14px;font-size:.9rem;font-weight:600}.organization-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px;display:grid}@keyframes bounce-ball{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.bouncing-ball-animate{animation:1.2s ease-in-out infinite bounce-ball}@media (width>=768px){.welcome-layout{grid-template-columns:60% 40%;height:100dvh}.welcome-hero-side{display:flex}.hero-panel{height:100%;padding:48px 32px}.hero-illustration svg{max-width:280px}.welcome-form-side{min-height:100vh;padding:48px 40px}}@media (width>=1200px){.hero-illustration svg{max-width:340px}.hero-brand{font-size:2.4rem}.welcome-form-side{padding:48px 56px}}@media (width<=480px){.welcome-hero-side{flex:none}.hero-panel{padding:calc(16px + env(safe-area-inset-top)) 20px 12px}.hero-illustration{margin-bottom:10px}.hero-illustration svg{max-width:84px}.hero-brand{margin-bottom:2px;font-size:1.5rem}.hero-tagline{margin-bottom:4px;font-size:.9rem}.hero-subtitle{display:none}.welcome-form-side{padding:8px 16px calc(30vh + env(safe-area-inset-bottom));align-items:flex-start}.welcome-card{max-width:100%;box-shadow:none;border:none;padding:4px 18px 12px}.welcome-card .form-group{margin-bottom:14px}.welcome-layout .social-login-buttons{gap:8px;margin-bottom:14px}.welcome-layout .social-btn{padding:9px 16px}.welcome-layout .divider{margin:14px 0}.auth-page-description{margin-bottom:18px}.organization-grid{grid-template-columns:1fr;gap:10px}}@media (width<=360px){.welcome-form-side{padding:14px 12px calc(16px + env(safe-area-inset-bottom))}.welcome-card{padding:6px 14px 14px}.hero-panel{padding:calc(16px + env(safe-area-inset-top)) 12px 12px}.hero-brand{font-size:1.45rem}.hero-illustration{margin-bottom:10px}.hero-illustration svg{max-width:92px}.welcome-layout .btn{padding:10px 16px;font-size:14px}.sso-redirect-actions{flex-direction:column}}.welcome-layout .btn:focus-visible,.welcome-layout .btn-link:focus-visible,.auth-links button:focus-visible,.auth-links a:focus-visible,.social-btn:focus-visible,.change-email-btn:focus-visible,.language-switcher-toggle:focus-visible,.language-switcher-dropdown button:focus-visible{outline:2px solid var(--welcome-brand);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.welcome-card .form-group input:focus-visible,.welcome-card .form-group textarea:focus-visible,.welcome-card .form-group select:focus-visible{border-bottom-color:var(--welcome-brand);box-shadow:0 1px 0 0 var(--welcome-brand);outline:none}.auth-page-title:focus{outline:none}@media (prefers-reduced-motion:reduce){.bouncing-ball-animate{animation:none}.welcome-layout .btn,.welcome-card .form-group input,.welcome-card .form-group textarea,.welcome-card .form-group select{transition:none}.view-transition{transition:none!important}}.view-transition{will-change:opacity, transform;transition:opacity .3s ease-out,transform .3s ease-out}.view-enter-active{opacity:1;transform:translate(0)}.view-exit-left{opacity:0;transform:translate(-24px)}.view-exit-right,.view-enter-right{opacity:0;transform:translate(24px)}.view-enter-left{opacity:0;transform:translate(-24px)}.view-exit-up{opacity:0;transform:translateY(-24px)}.view-enter-bottom{opacity:0;transform:translateY(24px)}.post-auth-org-list{flex-direction:column;gap:10px;margin-bottom:24px;display:flex}.post-auth-org-card{border:1.5px solid var(--welcome-border,#e5e7eb);cursor:pointer;width:100%;color:var(--welcome-fg,#1a1a2e);text-align:left;background:#fff;border-radius:10px;justify-content:space-between;align-items:center;padding:14px 16px;font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s,opacity .2s;animation:.35s both post-auth-card-fadein;display:flex}.post-auth-org-card:first-child{animation-delay:0s}.post-auth-org-card:nth-child(2){animation-delay:60ms}.post-auth-org-card:nth-child(3){animation-delay:.12s}.post-auth-org-card:nth-child(4){animation-delay:.18s}.post-auth-org-card:nth-child(5){animation-delay:.24s}@keyframes post-auth-card-fadein{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.post-auth-org-card:hover:not(:disabled){border-color:var(--welcome-brand,#667eea);background:#667eea0a;box-shadow:0 2px 8px #667eea1f}.post-auth-org-card:focus-visible{outline:2px solid var(--welcome-brand,#667eea);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.post-auth-org-card:disabled{opacity:.55;cursor:not-allowed}.post-auth-org-card--primary{background:#667eea08;border-color:#667eea4d}.post-auth-org-card__leading{align-items:center;gap:12px;min-width:0;display:flex}.post-auth-org-card__logo{object-fit:cover;border-radius:8px;flex-shrink:0;width:36px;height:36px}.post-auth-org-card__initial{background:var(--welcome-hero-bg,#f8f9fc);width:36px;height:36px;color:var(--welcome-brand,#667eea);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.post-auth-org-card__text{flex-direction:column;min-width:0;display:flex}.post-auth-org-card__name{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.post-auth-org-card__roles{color:var(--welcome-fg-muted,#6b7280);margin-top:2px;font-size:12px}.post-auth-org-card__trailing{flex-shrink:0;align-items:center;gap:8px;display:flex}.post-auth-org-card__badge{text-transform:uppercase;color:var(--welcome-brand,#667eea);letter-spacing:.03em;background:#667eea14;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}.post-auth-org-card__arrow{color:var(--welcome-fg-muted,#6b7280);font-size:20px;line-height:1}.post-auth-org-selecting{color:var(--welcome-fg-muted,#6b7280);justify-content:center;align-items:center;gap:10px;padding:12px 0;font-size:14px;display:flex}.post-auth-org-back{text-align:center;margin-top:20px}.post-auth-org-back button{color:var(--welcome-brand,#667eea);cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;text-decoration:none}.post-auth-org-back button:hover{color:var(--welcome-brand-dark,#5a67d8);text-decoration:underline}@media (prefers-reduced-motion:reduce){.post-auth-org-card{transition:none;animation:none}}.photo-capture-container{z-index:10000;color:#fff;background:#0a0a1a;flex-direction:column;justify-content:center;align-items:center;font-family:Inter,Segoe UI,system-ui,sans-serif;display:flex;position:fixed;inset:0}.photo-capture-header{text-align:center;margin-bottom:1rem}.photo-capture-header h2{margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.photo-capture-header p{color:#ffffffb3;margin:0;font-size:1rem}.camera-viewport{aspect-ratio:4/3;background:#111;border-radius:16px;width:90vw;max-width:480px;position:relative;overflow:hidden;box-shadow:0 0 40px #0078ff26}.camera-feed{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.alignment-overlay{pointer-events:none;position:absolute;inset:0}.alignment-guide{width:100%;height:100%}.alignment-hint{color:#ffffffe6;white-space:nowrap;background:#0009;border-radius:20px;padding:6px 16px;font-size:.85rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.countdown-overlay{background:#0000004d;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown-number{color:#fff;text-shadow:0 4px 20px #00000080;font-size:6rem;font-weight:800;animation:1s ease-in-out infinite countdown-pulse}@keyframes countdown-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2)}}.photo-capture-actions{justify-content:center;margin-top:1.5rem;display:flex}.capture-btn{cursor:pointer;background:#fff3;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;transition:transform .15s,background .15s;display:flex}.capture-btn:hover{background:#ffffff4d;transform:scale(1.05)}.capture-btn:active{transform:scale(.95)}.capture-btn-inner{background:#fff;border-radius:50%;width:52px;height:52px}.camera-loading{color:#ffffff80;font-size:.9rem}.photo-skip-btn{color:#ffffff80;cursor:pointer;background:0 0;border:none;margin-top:1.5rem;padding:8px 16px;font-size:.95rem;transition:color .15s}.photo-skip-btn:hover{color:#fffc}.photo-preview-viewport{aspect-ratio:4/3;background:#111;border-radius:16px;width:90vw;max-width:480px;overflow:hidden;box-shadow:0 0 40px #00c86426}.photo-preview-img{object-fit:cover;width:100%;height:100%}.photo-preview-actions{justify-content:center;gap:1rem;margin-top:1.5rem;display:flex}.photo-confirm-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;padding:14px 32px;font-size:1.1rem;font-weight:600;transition:transform .15s,box-shadow .15s}.photo-confirm-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.photo-retake-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:2px solid #ffffff4d;border-radius:12px;padding:14px 24px;font-size:1rem;font-weight:500;transition:background .15s,border-color .15s}.photo-retake-btn:hover{background:#fff3;border-color:#ffffff80}.photo-error{color:#f87171;text-align:center;margin-top:.75rem;font-size:.9rem}.photo-saving{flex-direction:column;align-items:center;gap:1rem;display:flex}.photo-saving .spinner{border:4px solid #fff3;border-top-color:#fff;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}.photo-saving p{color:#fffc;font-size:1.1rem}.photo-done{text-align:center;animation:.5s photo-done-enter}@keyframes photo-done-enter{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.photo-done-icon{background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1rem;font-size:2.5rem;display:flex;box-shadow:0 8px 30px #22c55e66}.photo-done h2{margin:0 0 .5rem;font-size:1.5rem}.photo-done p{color:#ffffffb3;margin:0;font-size:1rem}.photo-error-view{text-align:center}.photo-error-icon{margin-bottom:1rem;font-size:3rem}.photo-error-view p{color:#fffc;margin-bottom:1.5rem;font-size:1.1rem}@media (width<=600px){.camera-viewport,.photo-preview-viewport{border-radius:12px;width:95vw}.photo-capture-header h2{font-size:1.25rem}.photo-preview-actions{flex-direction:column;align-items:center}.capture-btn{width:64px;height:64px}.capture-btn-inner{width:44px;height:44px}}.kiosk-container{color:#fff;z-index:10000;-webkit-user-select:none;user-select:none;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;position:fixed;inset:0;overflow:hidden}.kiosk-welcome{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;animation:.5s ease-in fadeIn;display:flex}.kiosk-welcome h1{color:#e94560;margin-bottom:16px;font-size:3rem;font-weight:700}.kiosk-welcome .session-info{opacity:.9;margin-bottom:8px;font-size:1.5rem}.kiosk-welcome .session-time{opacity:.7;margin-bottom:48px;font-size:1.2rem}.kiosk-welcome .tap-prompt{color:#53d8fb;cursor:pointer;border:3px solid #53d8fb4d;border-radius:16px;padding:24px 48px;font-size:2rem;font-weight:600;animation:2s ease-in-out infinite pulse}.kiosk-welcome .tap-prompt:hover{background:#53d8fb1a}.kiosk-pin-entry{flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.kiosk-pin-entry h2{color:#53d8fb;margin-bottom:32px;font-size:2rem}.pin-display{gap:12px;margin-bottom:32px;display:flex}.pin-dot{background:0 0;border:2px solid #ffffff80;border-radius:50%;width:20px;height:20px;transition:all .2s}.pin-dot.filled{background:#e94560;border-color:#e94560}.pin-keypad{grid-template-columns:repeat(3,1fr);gap:12px;width:100%;max-width:360px;display:grid}.pin-key{color:#fff;cursor:pointer;text-align:center;background:#ffffff0d;border:2px solid #fff3;border-radius:12px;padding:20px;font-size:1.8rem;font-weight:600;transition:all .15s}.pin-key:active{background:#e945604d;transform:scale(.95)}.pin-key.backspace{font-size:1.4rem}.pin-key.clear{color:#fff9;font-size:1rem}.pin-error{color:#ff6b6b;min-height:24px;margin-top:16px;font-size:1rem}.kiosk-checkin{flex-direction:column;flex:1;display:flex;overflow:hidden}.kiosk-header{background:#0000004d;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:20px 32px;display:flex}.kiosk-header-left h2{color:#e94560;margin:0 0 4px;font-size:1.5rem}.kiosk-header-left .session-detail{opacity:.7;font-size:.95rem}.kiosk-header-right{align-items:center;gap:24px;display:flex}.checkin-counter{color:#53d8fb;font-size:1.8rem;font-weight:700}.checkin-counter span{opacity:.6;font-size:1rem;font-weight:400}.sync-indicator{opacity:.6;align-items:center;gap:8px;font-size:.85rem;display:flex}.sync-dot{background:#4ecdc4;border-radius:50%;width:8px;height:8px}.sync-dot.offline{background:#ff6b6b;animation:1.5s ease-in-out infinite blink}.sync-dot.syncing{background:#ffd93d;animation:.5s ease-in-out infinite blink}.roster-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start;gap:16px;padding:24px 32px;display:grid;overflow-y:auto}.roster-card{appearance:none;font:inherit;color:inherit;text-align:center;cursor:pointer;background:#ffffff14;border:2px solid #ffffff26;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:24px;transition:all .2s;display:flex}.roster-card:focus-visible{outline-offset:2px;outline:2px solid #53d8fb}.roster-card:hover{background:#ffffff1f;border-color:#53d8fb80;transform:translateY(-2px)}.roster-card:active{transform:scale(.97)}.roster-card.checked-in{cursor:default;background:#4ecdc426;border-color:#4ecdc480}.roster-card.checked-in:hover{transform:none}.roster-card .member-name{font-size:1.2rem;font-weight:600}.roster-card .member-status{opacity:.6;font-size:.85rem}.roster-card.checked-in .member-status{color:#4ecdc4;opacity:1}.roster-card .check-icon{color:#4ecdc4;font-size:2rem}.roster-card.pending-sync{cursor:default;background:#ffd93d1a;border-color:#ffd93d80}.roster-card.pending-sync:hover{transform:none}.roster-card.pending-sync .member-status{color:#ffd93d;opacity:1}.roster-card .pending-icon{color:#ffd93d;animation:1.5s ease-in-out infinite blink}.checkin-success-flash{z-index:10001;pointer-events:none;background:#4ecdc433;justify-content:center;align-items:center;animation:1.5s ease-out forwards flashFade;display:flex;position:fixed;inset:0}.checkin-success-flash .flash-content{text-align:center}.checkin-success-flash .flash-check{font-size:6rem}.checkin-success-flash .flash-name{margin-top:16px;font-size:2rem;font-weight:700}.kiosk-footer{background:#0000004d;border-top:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 32px;font-size:.85rem;display:flex}.kiosk-footer>span{color:#ffffff73}.kiosk-footer-btn{appearance:none;color:#ffffffc7;cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 10px;font-size:.9rem;display:inline-flex}.kiosk-footer-btn:hover{color:#fff;background:#ffffff14}.kiosk-footer-btn:focus-visible{outline-offset:2px;outline:2px solid #53d8fb}.kiosk-loading{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:24px;display:flex}.kiosk-loading .spinner{border:4px solid #fff3;border-top-color:#53d8fb;border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spin}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}@keyframes flashFade{0%{opacity:1}70%{opacity:1}to{opacity:0}}@media (width<=768px){.kiosk-welcome h1{font-size:2rem}.kiosk-welcome .tap-prompt{padding:16px 32px;font-size:1.5rem}.roster-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:16px}.roster-card{min-height:100px;padding:16px}.roster-card .member-name{font-size:1rem}}.checkin-methods{gap:32px;margin-top:48px;display:flex}.checkin-method-card{appearance:none;font:inherit;color:inherit;text-align:center;cursor:pointer;background:#ffffff14;border:2px solid #ffffff26;border-radius:24px;min-width:240px;padding:40px 48px;transition:all .2s}.checkin-method-card:focus-visible{outline-offset:2px;outline:2px solid #53d8fb}.checkin-method-card:hover{background:#ffffff1f;border-color:#53d8fb80;transform:translateY(-4px)}.checkin-method-card:active{transform:scale(.97)}.method-icon{margin-bottom:16px;font-size:3rem}.method-label{color:#53d8fb;margin-bottom:8px;font-size:1.4rem;font-weight:700}.method-desc{opacity:.6;font-size:.95rem}.pin-subtitle{opacity:.7;text-align:center;margin-bottom:24px;font-size:1rem}.pin-dot.filled.athlete{background:#53d8fb;border-color:#53d8fb}.pin-submit-btn{color:#53d8fb;cursor:pointer;background:#53d8fb26;border:2px solid #53d8fb;border-radius:12px;margin-top:24px;padding:16px 48px;font-size:1.2rem;font-weight:600;transition:all .2s}.kiosk-result{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px;animation:.4s ease-out fadeIn;display:flex}.result-success-icon{color:#4ecdc4;animation:.5s ease-out resultPop}.result-duplicate-icon{color:#ffd93d}.result-nosession-icon,.result-error-icon{color:#ff6b6b}.result-name{margin-bottom:12px;font-size:2.2rem;font-weight:700}.result-message{opacity:.9;margin-bottom:12px;font-size:1.4rem}.result-time{opacity:.6;font-size:1.1rem}.result-countdown{opacity:.4;margin-top:32px;font-size:.9rem}.kiosk-result-success{background:radial-gradient(#4ecdc41a 0%,#0000 70%)}.kiosk-result-duplicate{background:radial-gradient(#ffd93d14 0%,#0000 70%)}.kiosk-result-no-session,.kiosk-result-error{background:radial-gradient(#ff6b6b14 0%,#0000 70%)}@keyframes resultPop{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@media (width<=768px){.checkin-methods{flex-direction:column;gap:16px}.checkin-method-card{min-width:auto;padding:24px 32px}.method-icon{font-size:2rem}.method-label{font-size:1.1rem}.result-icon{font-size:4rem}.result-name{font-size:1.6rem}.result-message{font-size:1.1rem}}.game-info-banner{text-align:center;background:#e9456026;border:1px solid #e945604d;border-radius:12px;margin-bottom:24px;padding:16px 20px}.game-badge-kiosk{color:#fff;letter-spacing:2px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:16px;margin-bottom:8px;padding:4px 14px;font-size:.75rem;font-weight:700;display:inline-block}.game-opponent{color:#fff;margin-bottom:4px;font-size:1.4rem;font-weight:700}.game-format{color:#fff9;margin-bottom:6px;font-size:.9rem}.game-arrival-notice{color:#fbbf24;border-top:1px solid #ffffff1a;padding-top:6px;font-size:.85rem;font-weight:500}.game-checkin-container{color:#fff;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.game-checkin-screen{text-align:center;width:100%;max-width:420px}.game-checkin-header{margin-bottom:24px}.game-badge{color:#fff;letter-spacing:2px;background:linear-gradient(135deg,#e94560,#ff6b6b);border-radius:20px;margin-bottom:12px;padding:6px 16px;font-size:12px;font-weight:700;display:inline-block}.game-checkin-header h1{margin:0 0 8px;font-size:28px;font-weight:700}.game-checkin-header .subtitle{opacity:.7;margin:0;font-size:14px}.pin-display{justify-content:center;gap:12px;margin-bottom:16px;display:flex}.pin-dot{opacity:.3;justify-content:center;align-items:center;width:40px;height:40px;font-size:24px;transition:opacity .2s;display:flex}.pin-dot.filled{opacity:1;color:#4ade80}.pin-error{color:#fca5a5;background:#ef444433;border:1px solid #ef444466;border-radius:8px;margin-bottom:16px;padding:10px 16px;font-size:14px}.pin-keypad{grid-template-columns:repeat(3,1fr);gap:10px;max-width:300px;margin:0 auto 24px;display:grid}.keypad-btn{color:#fff;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#ffffff1a;border:1px solid #fff3;border-radius:12px;padding:16px;font-size:22px;font-weight:600;transition:all .15s}.keypad-btn:active{background:#ffffff40;transform:scale(.95)}.keypad-btn:disabled{opacity:.4;cursor:not-allowed}.keypad-btn.clear-btn{color:#fca5a5;font-size:14px}.keypad-btn.backspace-btn{font-size:20px}.loading-indicator{opacity:.7;margin-bottom:16px;font-size:14px;animation:1.5s ease-in-out infinite pulse}.pin-submit-btn{color:#4ade80;cursor:pointer;background:#4ade8026;border:2px solid #4ade80;border-radius:12px;margin:0 auto 16px;padding:14px 48px;font-size:18px;font-weight:600;transition:all .2s;display:block}.pin-submit-btn:hover:not(:disabled){background:#4ade804d}.pin-submit-btn:disabled{opacity:.3;cursor:not-allowed}.pin-submit-btn:focus-visible{outline-offset:2px;outline:2px solid #4ade80}.back-btn{color:#fff9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:8px;padding:10px 20px;font-size:14px;transition:all .2s}.back-btn:hover{color:#fff;border-color:#fff6}.result-screen{animation:.4s ease-out fadeInUp}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.result-icon{margin-bottom:16px;font-size:64px}.result-title{margin:0 0 8px;font-size:28px;font-weight:700}.result-screen.success .result-title{color:#4ade80}.result-screen.late .result-title{color:#fbbf24}.result-screen.duplicate .result-title{color:#60a5fa}.result-screen.error .result-title{color:#f87171}.result-name{opacity:.9;margin:0 0 12px;font-size:22px;font-weight:500}.result-message{opacity:.8;margin:0 0 20px;font-size:16px}.game-info-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;margin-bottom:16px;padding:16px}.game-info-row{justify-content:space-between;align-items:center;padding:8px 0;display:flex}.game-info-row:not(:last-child){border-bottom:1px solid #ffffff1a}.info-label{opacity:.6;text-transform:uppercase;letter-spacing:1px;font-size:13px}.info-value{font-size:16px;font-weight:600}.late-indicator{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf244d;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:14px;font-weight:500;display:flex}.late-icon{font-size:18px}.result-time{opacity:.6;margin-top:12px;font-size:14px}@media (width<=480px){.game-checkin-container{padding:12px}.game-checkin-header h1{font-size:24px}.keypad-btn{padding:14px;font-size:20px}.result-icon{font-size:48px}.result-title{font-size:24px}}@media (width>=768px){.game-checkin-screen{max-width:480px}.keypad-btn{padding:20px;font-size:24px}}.public-game-page{max-width:800px;margin:0 auto;padding:20px}.public-game-loading,.public-game-error{text-align:center;color:#666;padding:40px}.public-game-error{color:#dc3545}.game-header{margin-bottom:24px}.game-header h1{color:#333;margin-bottom:8px;font-size:1.8em}.game-meta{color:#666;flex-wrap:wrap;gap:16px;font-size:.95em;display:flex}.game-format{color:#1565c0;background:#e3f2fd;border-radius:12px;padding:2px 10px;font-weight:500}.game-notes{color:#888;margin-top:8px;font-style:italic}.sections-container h2{margin-bottom:16px}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:20px;display:grid}.section-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .2s}.section-card:hover{box-shadow:0 2px 8px #0000001a}.section-card.sold-out{opacity:.6;background:#f5f5f5}.section-card h3{margin:0 0 8px;font-size:1.1em}.section-details{flex-direction:column;gap:4px;display:flex}.section-price{color:#2e7d32;font-size:1.3em;font-weight:700}.section-availability{color:#666;font-size:.85em}.buy-tickets-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:8px;padding:12px 32px;font-size:1.1em}.buy-tickets-btn:hover{background:#1565c0}.member-pricing-hint{color:#795548;text-align:center;background:#fff8e1;border-radius:6px;margin-bottom:12px;padding:10px 16px;font-size:.9em}.no-ticketing{text-align:center;color:#999;padding:40px}C .hero-banner{background-position:50%;background-repeat:no-repeat;background-size:cover;justify-content:center;align-items:center;width:100%;min-height:60vh;display:flex;position:relative;overflow:hidden}.hero-banner--gradient{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 50%, var(--color-primary) 100%)}.hero-banner__overlay{z-index:1;position:absolute;inset:0}.hero-banner--image .hero-banner__overlay{background:linear-gradient(#00000059 0%,#0000008c 100%)}.hero-banner--gradient .hero-banner__overlay{background:#0000001a}.hero-banner__content{z-index:2;text-align:center;flex-direction:column;align-items:center;max-width:800px;padding:48px 24px;display:flex;position:relative}.hero-banner__logo{object-fit:cover;background-color:#ffffff1a;border:3px solid #ffffffe6;border-radius:50%;width:96px;height:96px;margin-bottom:20px;box-shadow:0 4px 24px #0000004d}.hero-banner__title{color:#fff;text-shadow:0 2px 12px #0006;letter-spacing:-.02em;margin:0 0 12px;font-size:2rem;font-weight:800;line-height:1.2}.hero-banner__tagline{color:#ffffffe6;text-shadow:0 1px 6px #0000004d;max-width:600px;margin:0 0 28px;font-size:1.125rem;line-height:1.5}.hero-banner__cta{background-color:var(--color-accent,#f59e0b);color:var(--color-text-on-accent,#1f2937);border-radius:8px;padding:14px 36px;font-size:1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-block;box-shadow:0 4px 16px #0003}.hero-banner__cta:hover{transform:translateY(-2px);box-shadow:0 6px 24px #0000004d}.hero-banner__cta:active{transform:translateY(0)}@media (width>=640px){.hero-banner{min-height:65vh}.hero-banner__logo{width:120px;height:120px;margin-bottom:24px}.hero-banner__title{font-size:2.75rem}.hero-banner__tagline{font-size:1.25rem}}@media (width>=768px){.hero-banner{min-height:70vh}.hero-banner__content{padding:64px 32px}.hero-banner__logo{border-width:4px;width:140px;height:140px}.hero-banner__title{font-size:3.25rem}.hero-banner__tagline{font-size:1.375rem}.hero-banner__cta{padding:16px 44px;font-size:1.0625rem}}@media (width>=1024px){.hero-banner{min-height:75vh}.hero-banner__title{font-size:3.75rem}}.contact-about{grid-template-columns:1fr;gap:32px;max-width:1200px;margin:0 auto;display:grid}.contact-about__heading{color:var(--color-primary-dark,#3730a3);margin:0 0 16px;font-size:1.75rem;font-weight:700}.contact-about__text{color:#374151;font-size:1rem;line-height:1.7}.contact-about__text p{margin:0 0 12px}.contact-about__text p:last-child{margin-bottom:0}.contact-about__sidebar{flex-direction:column;gap:24px;display:flex}.contact-about__card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000000f}.contact-about__card-title{color:var(--color-primary-dark,#3730a3);border-bottom:2px solid var(--color-primary,#4f46e5);margin:0 0 16px;padding-bottom:12px;font-size:1.125rem;font-weight:600}.contact-about__list{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.contact-about__item{flex-direction:column;gap:2px;display:flex}.contact-about__label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-size:.75rem;font-weight:600}.contact-about__link{color:var(--color-primary,#4f46e5);word-break:break-all;font-size:.9375rem;font-weight:500;text-decoration:none;transition:color .15s}.contact-about__link:hover{color:var(--color-primary-dark,#3730a3);text-decoration:underline}.contact-about__social{flex-wrap:wrap;gap:12px;display:flex}.contact-about__social-link{color:#374151;background-color:#f3f4f6;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,transform .15s;display:inline-flex}.contact-about__social-link:hover{background-color:var(--color-primary,#4f46e5);color:var(--color-text-on-primary,#fff);transform:translateY(-1px)}.contact-about__social-link svg{flex-shrink:0}.contact-about__social-fallback{background-color:var(--color-primary,#4f46e5);color:#fff;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;font-size:.75rem;font-weight:700;display:inline-flex}.contact-about__social-name{white-space:nowrap}@media (width>=640px){.contact-about__sidebar{flex-direction:row}.contact-about__card{flex:1}}@media (width>=768px){.contact-about{grid-template-columns:1.5fr 1fr;gap:48px}.contact-about__heading{font-size:2rem}.contact-about__sidebar{flex-direction:column}}.news-feed{max-width:1200px;margin:0 auto}.news-feed__title{color:var(--color-primary-dark,#3730a3);margin:0 0 24px;font-size:1.75rem;font-weight:700}.news-feed__loading,.news-feed__empty{text-align:center;color:#6b7280;padding:48px 24px;font-size:1rem}.news-feed__empty p{margin:0}.news-feed__grid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=640px){.news-feed__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.news-feed__grid{grid-template-columns:repeat(3,1fr)}}.news-card{cursor:pointer;background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:8px;padding:24px;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.news-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.news-card:focus-visible{outline:2px solid var(--color-primary,#4f46e5);outline-offset:2px}.news-card--pinned{border-left:4px solid var(--color-primary,#4f46e5)}.news-card--expanded{grid-column:1/-1}.news-card__pinned-badge{color:var(--color-primary,#4f46e5);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600;display:inline-block}.news-card__title{color:#111827;margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.news-card__date{color:#9ca3af;font-size:.8125rem}.news-card__preview{color:#374151;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:4px 0 0;font-size:.9375rem;line-height:1.6;display:-webkit-box;overflow:hidden}.news-card__content-full{color:#374151;margin:8px 0 0;font-size:.9375rem;line-height:1.7}.news-card__content-full p{margin:0 0 12px}.news-card__content-full p:last-child{margin-bottom:0}.news-card__content-full a{color:var(--color-primary,#4f46e5);text-decoration:underline}.news-card__content-full img{border-radius:8px;max-width:100%;margin:12px 0}.news-card__toggle{color:var(--color-primary,#4f46e5);margin-top:auto;padding-top:8px;font-size:.8125rem;font-weight:600}.news-card:hover .news-card__toggle{text-decoration:underline}.roster-display{max-width:1200px;margin:0 auto}.roster-display__header{margin-bottom:2rem}.roster-display__back{color:var(--public-primary,#2563eb);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;margin-bottom:1rem;padding:.5rem 0;font-size:.9rem;font-weight:600;transition:color .15s;display:inline-flex}.roster-display__back:hover{color:var(--public-primary-dark,#1d4ed8)}.roster-display__team-info{align-items:center;gap:1.25rem;display:flex}.roster-display__team-photo{object-fit:cover;border:3px solid var(--public-primary,#2563eb);border-radius:12px;width:80px;height:80px}.roster-display__team-name{color:var(--public-text-primary,#1a1a2e);margin:0 0 .375rem;font-size:1.75rem;font-weight:800;line-height:1.2}.roster-display__team-meta{gap:.5rem;display:flex}.roster-display__badge{text-transform:uppercase;letter-spacing:.04em;background:var(--public-primary-light,#dbeafe);color:var(--public-primary,#2563eb);border-radius:6px;padding:.2rem .65rem;font-size:.75rem;font-weight:700;display:inline-block}.roster-display__badge--level{color:#16a34a;background:#f0fdf4}.roster-display__section{margin-bottom:2.5rem}.roster-display__section-title{color:var(--public-text-primary,#1a1a2e);border-bottom:2px solid var(--public-border,#e5e7eb);align-items:center;gap:.5rem;margin:0 0 1.25rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700;display:flex}.roster-display__count{background:var(--public-primary,#2563eb);color:#fff;border-radius:999px;padding:.15rem .5rem;font-size:.75rem;font-weight:700}.roster-display__loading{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem}.roster-display__empty{text-align:center;color:var(--public-text-secondary,#6b7280);padding:2rem 1rem}.roster-display__coaches{flex-wrap:wrap;gap:1rem;display:flex}.coach-card{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);border-radius:12px;align-items:center;gap:.75rem;min-width:220px;padding:.75rem 1.25rem;display:flex}.coach-card__photo{background:#ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;overflow:hidden}.coach-card__photo img{object-fit:cover;width:100%;height:100%}.coach-card__photo .roster-card__silhouette{color:#ffffff80;width:36px;height:36px}.coach-card__info{flex-direction:column;display:flex}.coach-card__name{font-size:.95rem;font-weight:700;line-height:1.2}.coach-card__role{opacity:.7;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem}.roster-display__player-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=640px){.roster-display__player-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=900px){.roster-display__player-grid{grid-template-columns:repeat(4,1fr)}}@media (width>=1100px){.roster-display__player-grid{grid-template-columns:repeat(5,1fr)}}.player-card{background:linear-gradient(160deg,#1e293b 0%,#0f172a 100%);border-radius:12px;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden}.player-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #00000040}.player-card__photo-wrap{aspect-ratio:3/4;background:linear-gradient(#1e293b00 0%,#0f172ae6 100%);justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.player-card__photo{object-fit:cover;width:100%;height:100%}.player-card__photo-fallback{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.player-card__photo-fallback .roster-card__silhouette{color:#ffffff40;width:60%;height:60%}.player-card__jersey{background:var(--public-primary,#2563eb);color:#fff;letter-spacing:-.02em;text-align:center;border-radius:8px;min-width:2.2rem;padding:.25rem .5rem;font-size:1.1rem;font-weight:900;line-height:1;position:absolute;top:.5rem;right:.5rem;box-shadow:0 2px 8px #0000004d}.player-card__body{text-align:center;padding:.75rem}.player-card__name{color:#fff;margin-bottom:.25rem;font-size:.85rem;font-weight:700;line-height:1.25;display:block}.player-card__position{color:#fff9;text-transform:uppercase;letter-spacing:.06em;background:#ffffff14;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;display:inline-block}@media (width<=480px){.roster-display__team-name{font-size:1.35rem}.roster-display__team-photo{width:56px;height:56px}.coach-card{min-width:100%}.player-card__jersey{font-size:.9rem}}.teams-section{max-width:1200px;margin:0 auto}.teams-section__title{color:var(--public-text-primary,#1a1a2e);text-align:center;margin:0 0 1rem;font-size:1.75rem;font-weight:700}.teams-section__season-badge{text-align:center;background:var(--public-primary,#2563eb);color:#fff;text-align:center;border-radius:999px;width:fit-content;margin:0 auto 2rem;padding:.375rem 1rem;font-size:.875rem;font-weight:600;display:block}.teams-section__loading{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem}.teams-section__empty{text-align:center;padding:3rem 1rem}.teams-section__empty-icon{margin-bottom:1rem;font-size:3rem}.teams-section__group{margin-bottom:2.5rem}.teams-section__group-label{color:var(--public-text-primary,#1a1a2e);border-bottom:2px solid var(--public-primary,#2563eb);margin:0 0 1rem;padding-bottom:.5rem;font-size:1.125rem;font-weight:700;display:inline-block}.teams-section__grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem;display:grid}.team-card{border:1px solid var(--public-border,#e5e7eb);cursor:pointer;background:#fff;border-radius:12px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.team-card:hover,.team-card:focus-visible{outline:none;transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.team-card:focus-visible{box-shadow:0 0 0 3px var(--public-primary,#2563eb)}.team-card__photo{background:linear-gradient(135deg, var(--public-primary,#2563eb) 0%, #1e40af 100%);justify-content:center;align-items:center;height:140px;display:flex;overflow:hidden}.team-card__photo-img{object-fit:cover;width:100%;height:100%}.team-card__photo-placeholder{color:#ffffff80;width:80px;height:80px}.team-card__photo-svg{width:100%;height:100%}.team-card__body{flex:1;padding:1rem}.team-card__name{color:var(--public-text-primary,#1a1a2e);margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.team-card__meta{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.team-card__badge{text-transform:uppercase;letter-spacing:.03em;border-radius:6px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.team-card__badge--level{background:var(--public-primary-light,#dbeafe);color:var(--public-primary,#2563eb)}.team-card__stats{gap:1.25rem;display:flex}.team-card__stat{flex-direction:column;align-items:center;display:flex}.team-card__stat-number{color:var(--public-text-primary,#1a1a2e);font-size:1.25rem;font-weight:800;line-height:1}.team-card__stat-label{color:var(--public-text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;margin-top:.15rem;font-size:.7rem}.team-card__action{border-top:1px solid var(--public-border,#e5e7eb);justify-content:center;align-items:center;padding:.75rem;display:flex}.team-card__arrow{color:var(--public-primary,#2563eb);font-size:1.25rem;transition:transform .2s}.team-card:hover .team-card__arrow{transform:translate(4px)}@media (width<=640px){.teams-section__grid{grid-template-columns:1fr}.team-card__photo{height:120px}}.schedule-section{max-width:1200px;margin:0 auto}.schedule-section__title{color:var(--public-text-primary,#1a1a2e);text-align:center;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.schedule-section__controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.schedule-section__tabs{background:var(--public-surface,#f3f4f6);border-radius:10px;gap:0;padding:4px;display:flex}.schedule-section__tab{color:var(--public-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .2s,color .2s;display:inline-flex}.schedule-section__tab:hover{color:var(--public-text-primary,#1a1a2e)}.schedule-section__tab--active{color:var(--public-primary,#2563eb);background:#fff;box-shadow:0 1px 3px #00000014}.schedule-section__tab-count{background:var(--public-primary,#2563eb);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.7rem;font-weight:700;line-height:1;display:inline-flex}.schedule-section__tab:not(.schedule-section__tab--active) .schedule-section__tab-count{background:var(--public-text-secondary,#6b7280)}.schedule-section__filter{border:1px solid var(--public-border,#e5e7eb);color:var(--public-text-primary,#1a1a2e);cursor:pointer;background:#fff;border-radius:8px;padding:.5rem .75rem;font-size:.875rem}.schedule-section__filter:focus{outline:2px solid var(--public-primary,#2563eb);outline-offset:2px}.schedule-section__loading{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem}.schedule-section__empty{text-align:center;padding:3rem 1rem}.schedule-section__empty-icon{margin-bottom:1rem;font-size:3rem}.schedule-section__empty p{color:var(--public-text-secondary,#6b7280)}.schedule-section__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.game-card{border:1px solid var(--public-border,#e5e7eb);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:box-shadow .2s;display:flex}.game-card:hover{box-shadow:0 4px 16px #00000014}.game-card--completed{border-left:4px solid var(--public-primary,#2563eb)}.game-card--upcoming{border-left:4px solid #f59e0b}.game-card__header{justify-content:space-between;align-items:center;display:flex}.game-card__date{color:var(--public-text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.game-card__format-badge{text-transform:uppercase;background:var(--public-primary-light,#dbeafe);color:var(--public-primary,#2563eb);border-radius:6px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.game-card__matchup{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;display:flex}.game-card__team,.game-card__opponent{color:var(--public-text-primary,#1a1a2e);font-size:1.05rem;font-weight:700}.game-card__vs{color:var(--public-text-secondary,#6b7280);text-transform:uppercase;font-size:.8rem;font-weight:600}.game-card__score{justify-content:center;align-items:center;gap:.5rem;display:flex}.game-card__score-value{color:var(--public-primary,#2563eb);font-size:2rem;font-weight:800;line-height:1}.game-card__score-sep{color:var(--public-text-secondary,#6b7280);font-size:1.5rem;font-weight:300}.game-card__quarters{overflow-x:auto}.game-card__quarters-table{border-collapse:collapse;text-align:center;width:100%;font-size:.8rem}.game-card__quarters-table th,.game-card__quarters-table td{border-bottom:1px solid var(--public-border,#e5e7eb);padding:.3rem .5rem}.game-card__quarters-table th{color:var(--public-text-secondary,#6b7280);font-weight:600}.game-card__quarters-label{text-align:left;color:var(--public-text-primary,#1a1a2e);font-weight:600}.game-card__meta{color:var(--public-text-secondary,#6b7280);flex-wrap:wrap;align-items:center;gap:1rem;font-size:.825rem;display:flex}.game-card__time,.game-card__venue{align-items:center;gap:.3rem;display:inline-flex}.game-card__icon{flex-shrink:0;width:14px;height:14px}.game-card__cta{border-top:1px solid var(--public-border,#e5e7eb);padding-top:.5rem}.game-card__ticket-btn{background:var(--public-primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:8px;width:100%;padding:.6rem 1rem;font-size:.875rem;font-weight:600;transition:background .2s}.game-card__ticket-btn:hover{background:var(--public-primary-dark,#1d4ed8)}@media (width<=640px){.schedule-section__controls{flex-direction:column;align-items:stretch}.schedule-section__tabs{justify-content:center}.schedule-section__grid{grid-template-columns:1fr}.game-card__matchup{flex-direction:column;gap:.25rem}}.facilities-section{max-width:1200px;margin:0 auto}.facilities-section__title{color:var(--public-text-primary,#1a1a2e);text-align:center;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.facilities-section__loading{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem;font-size:1rem}.facilities-section__empty{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem}.facilities-section__empty-icon{margin-bottom:1rem;font-size:3rem}.facilities-section__empty p{margin:0;font-size:1rem}.facilities-section__grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.facility-card{border:1px solid var(--public-border,#e5e7eb);background:#fff;border-radius:12px;padding:1.5rem;transition:box-shadow .2s,transform .15s}.facility-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.facility-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.facility-card__name{color:var(--public-text-primary,#1a1a2e);margin:0;font-size:1.2rem;font-weight:700}.facility-card__status{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.25rem .6rem;font-size:.75rem;font-weight:600}.facility-card__status--open{color:#166534;background:#dcfce7}.facility-card__status--closed{color:#991b1b;background:#fee2e2}.facility-card__address{color:var(--public-text-secondary,#6b7280);align-items:flex-start;gap:.4rem;margin-bottom:.5rem;font-size:.9rem;line-height:1.4;display:flex}.facility-card__icon{width:16px;height:16px;color:var(--public-primary,#2563eb);flex-shrink:0;margin-top:2px}.facility-card__maps-link{color:var(--public-primary,#2563eb);margin-bottom:1rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-block}.facility-card__maps-link:hover{opacity:.75;text-decoration:underline}.facility-card__section{border-top:1px solid var(--public-border,#e5e7eb);margin-top:.75rem;padding-top:.75rem}.facility-card__section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--public-text-secondary,#6b7280);align-items:center;gap:.35rem;margin:0 0 .5rem;font-size:.85rem;font-weight:700;display:flex}.facility-card__court-count{font-size:.8rem;font-weight:400}.facility-card__hours-table{border-collapse:collapse;width:100%;font-size:.85rem}.facility-card__hours-row td{padding:.25rem 0}.facility-card__hours-row--today{color:var(--public-primary,#2563eb);font-weight:700}.facility-card__hours-day{color:var(--public-text-secondary,#6b7280);width:45%}.facility-card__hours-row--today .facility-card__hours-day{color:var(--public-primary,#2563eb)}.facility-card__hours-time{color:var(--public-text-primary,#1a1a2e);text-align:right}.facility-card__hours-row--today .facility-card__hours-time{color:var(--public-primary,#2563eb)}.facility-card__courts-grid{flex-wrap:wrap;gap:.5rem;display:flex}.facility-card__court{background:var(--public-surface,#f3f4f6);border-radius:8px;align-items:center;gap:.3rem;padding:.35rem .65rem;font-size:.82rem;display:inline-flex}.facility-card__court-name{color:var(--public-text-primary,#1a1a2e);font-weight:600}.facility-card__court-badge{font-size:.9rem}@media (width<=768px){.facilities-section__grid{grid-template-columns:1fr}.facility-card__header{flex-direction:column;gap:.5rem}}.ticket-shop-section{max-width:1200px;margin:0 auto}.ticket-shop-section__title{color:var(--public-text-primary,#1a1a2e);text-align:center;margin:0 0 1.5rem;font-size:1.75rem;font-weight:700}.ticket-shop-section__loading{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem;font-size:1rem}.ticket-shop-section__empty{text-align:center;color:var(--public-text-secondary,#6b7280);padding:3rem 1rem}.ticket-shop-section__empty-icon{margin-bottom:1rem;font-size:3rem}.ticket-shop-section__empty p{margin:0;font-size:1rem}.ticket-shop-section__subtitle{color:var(--public-text-primary,#1a1a2e);border-bottom:2px solid var(--public-border,#e5e7eb);margin:2rem 0 1rem;padding-bottom:.5rem;font-size:1.25rem;font-weight:600}.ticket-shop-section__subtitle:first-of-type{margin-top:0}.ticket-shop-section__grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.game-ticket-card{border:1px solid var(--public-border,#e5e7eb);background:#fff;border-radius:12px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:box-shadow .2s,transform .15s;display:flex}.game-ticket-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.game-ticket-card--sold-out{opacity:.75}.game-ticket-card__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.game-ticket-card__opponent{color:var(--public-text-primary,#1a1a2e);margin:0;font-size:1.15rem;font-weight:700}.game-ticket-card__team{color:var(--public-text-secondary,#6b7280);margin:.15rem 0 0;font-size:.8rem}.game-ticket-card__badge{text-transform:uppercase;white-space:nowrap;letter-spacing:.03em;border-radius:999px;flex-shrink:0;padding:.25rem .6rem;font-size:.7rem;font-weight:700}.game-ticket-card__badge--sold-out{color:#991b1b;background:#fee2e2}.game-ticket-card__badge--available{color:#166534;background:#dcfce7}.game-ticket-card__meta{color:var(--public-text-secondary,#6b7280);flex-direction:column;gap:.3rem;font-size:.85rem;display:flex}.game-ticket-card__meta-row{align-items:center;gap:.4rem;display:flex}.game-ticket-card__meta-icon{flex-shrink:0;width:14px;height:14px}.game-ticket-card__pricing{color:var(--public-accent,#2563eb);font-size:1rem;font-weight:600}.game-ticket-card__actions{margin-top:auto}.game-ticket-card__buy-btn{cursor:pointer;text-align:center;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:.6rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,opacity .2s;display:inline-flex}.game-ticket-card__buy-btn--active{background:var(--public-accent,#2563eb);color:#fff}.game-ticket-card__buy-btn--active:hover{opacity:.9}.game-ticket-card__buy-btn--disabled{background:var(--public-border,#e5e7eb);color:var(--public-text-secondary,#6b7280);cursor:not-allowed}.season-pass-card{border:1px solid var(--public-border,#e5e7eb);background:#fff;border-radius:12px;flex-direction:column;gap:.6rem;padding:1.25rem;transition:box-shadow .2s,transform .15s;display:flex}.season-pass-card:hover{transform:translateY(-2px);box-shadow:0 4px 20px #00000014}.season-pass-card__name{color:var(--public-text-primary,#1a1a2e);margin:0;font-size:1.1rem;font-weight:700}.season-pass-card__description{color:var(--public-text-secondary,#6b7280);margin:0;font-size:.85rem;line-height:1.5}.season-pass-card__price{color:var(--public-accent,#2563eb);font-size:1.15rem;font-weight:700}.season-pass-card__actions{margin-top:auto}.season-pass-card__buy-btn{cursor:pointer;background:var(--public-accent,#2563eb);color:#fff;text-align:center;border:none;border-radius:8px;justify-content:center;align-items:center;width:100%;padding:.6rem 1rem;font-size:.9rem;font-weight:600;text-decoration:none;transition:opacity .2s;display:inline-flex}.season-pass-card__buy-btn:hover{opacity:.9}@media (width<=640px){.ticket-shop-section__grid{grid-template-columns:1fr}.game-ticket-card,.season-pass-card{padding:1rem}}.social-media-section{max-width:1200px;margin:0 auto}.social-media-section__title{color:var(--color-primary-dark,#3730a3);margin:0 0 24px;font-size:1.75rem;font-weight:700}.social-media-section__loading,.social-media-section__empty{text-align:center;color:#6b7280;padding:48px 24px;font-size:1rem}.social-media-section__empty p{margin:0}.social-accounts{flex-wrap:wrap;gap:12px;margin-bottom:24px;display:flex}.social-accounts__link{color:#374151;background:#f3f4f6;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.social-accounts__link:hover{background:var(--color-primary,#4f46e5);color:#fff}.social-accounts__icon{font-size:1rem}.social-media-section__tabs{border-bottom:2px solid #e5e7eb;gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.social-media-section__tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:8px 20px;font-size:.95rem;font-weight:500;transition:color .15s,border-color .15s}.social-media-section__tab--active{color:var(--color-primary,#4f46e5);border-bottom-color:var(--color-primary,#4f46e5)}.social-media-section__tab:hover{color:var(--color-primary-dark,#3730a3)}.social-posts__grid{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=640px){.social-posts__grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.social-posts__grid{grid-template-columns:repeat(3,1fr)}}.social-post-card{background-color:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;gap:12px;padding:20px;transition:transform .15s,box-shadow .15s;display:flex}.social-post-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.social-post-card__content{color:#374151;-webkit-line-clamp:4;-webkit-box-orient:vertical;font-size:.95rem;line-height:1.5;display:-webkit-box;overflow:hidden}.social-post-card__media{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;display:grid}.social-post-card__media-thumb{aspect-ratio:1;object-fit:cover;background:#f3f4f6;border-radius:8px;width:100%}.social-post-card__footer{color:#9ca3af;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.social-post-card__platforms{gap:6px;display:flex}.social-post-card__platform-badge{color:#4338ca;background:#eef2ff;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:500}.media-gallery__grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.media-gallery__grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1024px){.media-gallery__grid{grid-template-columns:repeat(4,1fr)}}.media-gallery__item{aspect-ratio:1;cursor:pointer;background:#f3f4f6;border-radius:12px;transition:transform .15s;position:relative;overflow:hidden}.media-gallery__item:hover{transform:scale(1.03)}.media-gallery__image{object-fit:cover;width:100%;height:100%;display:block}.media-gallery__video-badge{color:#fff;background:#0009;border-radius:8px;padding:2px 8px;font-size:.7rem;position:absolute;top:8px;right:8px}.media-gallery__load-more{justify-content:center;margin-top:24px;display:flex}.media-gallery__load-more-btn{border:2px solid var(--color-primary,#4f46e5);color:var(--color-primary,#4f46e5);cursor:pointer;background:0 0;border-radius:8px;padding:10px 28px;font-size:.9rem;font-weight:600;transition:background .15s,color .15s}.media-gallery__load-more-btn:hover{background:var(--color-primary,#4f46e5);color:#fff}.media-lightbox{z-index:9999;background:#000000d9;justify-content:center;align-items:center;padding:24px;animation:.2s lightboxFadeIn;display:flex;position:fixed;inset:0}@keyframes lightboxFadeIn{0%{opacity:0}to{opacity:1}}.media-lightbox__content{border-radius:12px;max-width:90vw;max-height:85vh;position:relative;overflow:hidden}.media-lightbox__image{object-fit:contain;max-width:90vw;max-height:85vh;display:block}.media-lightbox__video{max-width:90vw;max-height:85vh}.media-lightbox__close{color:#fff;cursor:pointer;z-index:10000;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.4rem;transition:background .15s;display:flex;position:absolute;top:16px;right:16px}.media-lightbox__close:hover{background:#000000e6}.media-lightbox__nav{color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.3rem;transition:background .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.media-lightbox__nav:hover{background:#000c}.media-lightbox__nav--prev{left:16px}.media-lightbox__nav--next{right:16px}.media-lightbox__description{color:#fff;background:#0009;padding:12px 16px;font-size:.9rem;position:absolute;bottom:0;left:0;right:0}:root{--color-primary:#4f46e5;--color-primary-light:#6366f1;--color-primary-dark:#3730a3;--color-secondary:#fff;--color-accent:#f59e0b;--color-text-on-primary:#fff;--color-text-on-secondary:#1f2937;--color-text-on-accent:#1f2937}html{scroll-behavior:smooth}.public-page{background-color:var(--color-secondary);min-height:100vh;color:var(--color-text-on-secondary);flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;display:flex;overflow:hidden auto}.public-page-content{flex:1}.public-page-loading{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);min-height:100vh;color:var(--color-text-on-primary);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.public-page-loading .spinner{border:3px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.public-header{z-index:100;background-color:var(--color-primary);color:var(--color-text-on-primary);position:sticky;top:0;box-shadow:0 2px 8px #00000026}.public-header-inner{justify-content:space-between;align-items:center;max-width:1200px;height:64px;margin:0 auto;padding:0 16px;display:flex}.public-header-brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.public-header-logo{object-fit:cover;background-color:#ffffff26;border-radius:50%;width:40px;height:40px}.public-header-name{letter-spacing:-.01em;font-size:1.125rem;font-weight:700}.public-header-nav{gap:4px;margin:0;padding:0;list-style:none;display:none}.public-header-nav a{color:var(--color-text-on-primary);opacity:.85;border-radius:6px;padding:8px 14px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:block}.public-header-nav a:hover{opacity:1;background-color:#ffffff1f}.public-header-toggle{color:var(--color-text-on-primary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:8px;display:flex}.public-header-toggle:hover{background-color:#ffffff1f}.public-header-toggle svg{width:24px;height:24px}.public-mobile-nav{background-color:var(--color-primary);z-index:99;padding:16px;display:none;position:fixed;inset:64px 0 0}.public-mobile-nav.open{flex-direction:column;display:flex}.public-mobile-nav a{color:var(--color-text-on-primary);border-radius:8px;padding:14px 16px;font-size:1rem;font-weight:500;text-decoration:none;transition:background-color .15s;display:block}.public-mobile-nav a:hover{background-color:#ffffff1f}.public-section{padding:48px 16px}.public-section:nth-child(2n){background-color:#f8f9fb}.public-section-inner{max-width:1200px;margin:0 auto}.section-placeholder{text-align:center;padding:48px 24px}.section-placeholder-icon{background-color:var(--color-primary);width:64px;height:64px;color:var(--color-text-on-primary);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 20px;font-size:1.5rem;display:flex}.section-placeholder h2{color:var(--color-primary-dark);margin-bottom:8px;font-size:1.5rem;font-weight:700}.section-placeholder p{color:#6b7280;max-width:400px;margin:0 auto;font-size:.95rem}.public-footer{background-color:var(--color-primary-dark,#1f2937);color:var(--color-text-on-primary);padding:40px 16px 24px}.public-footer-inner{flex-direction:column;gap:24px;max-width:1200px;margin:0 auto;display:flex}.public-footer-tagline{opacity:.9;font-size:1rem;font-weight:600}.public-footer-contact{opacity:.8;flex-direction:column;gap:8px;font-size:.875rem;display:flex}.public-footer-contact a{color:var(--color-text-on-primary);opacity:.85;text-decoration:none}.public-footer-contact a:hover{opacity:1;text-decoration:underline}.public-footer-bottom{opacity:.65;border-top:1px solid #ffffff26;flex-direction:column;align-items:center;gap:8px;padding-top:16px;font-size:.8125rem;display:flex}.public-not-found{text-align:center;color:#fff;background:linear-gradient(135deg,#4f46e5 0%,#3730a3 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.public-not-found-icon{background-color:#ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:24px;font-size:2rem;display:flex}.public-not-found h1{margin-bottom:12px;font-size:1.75rem;font-weight:700}.public-not-found p{opacity:.85;max-width:420px;margin-bottom:32px;font-size:1rem;line-height:1.6}.public-not-found-cta{color:#1f2937;background-color:#f59e0b;border-radius:8px;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-block}.public-not-found-cta:hover{color:#1f2937;transform:translateY(-2px);box-shadow:0 4px 16px #00000040}@media (width>=640px){.public-section{padding:64px 24px}.public-footer-inner{flex-flow:wrap;justify-content:space-between}.public-footer-bottom{flex-direction:row;justify-content:space-between;width:100%}.public-not-found h1{font-size:2.25rem}}@media (width>=768px){.public-header-nav{display:flex}.public-header-toggle{display:none}.public-header-inner{padding:0 24px}.public-section{padding:80px 32px}.section-placeholder{padding:64px 32px}.section-placeholder-icon{width:80px;height:80px;font-size:2rem}.section-placeholder h2{font-size:1.75rem}}.external-source-link{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.external-source-link:hover,.external-source-link:focus-visible{background:#dbeafe;border-color:#93c5fd;text-decoration:none}.external-source-link:focus-visible{outline-offset:1px;outline:2px solid #1d4ed8}.settings-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.org-external-link-row{padding:8px 0 0}.success-message{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-size:.95rem}.settings-form{flex-direction:column;gap:30px;display:flex}.settings-section{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:25px}.settings-section h3{color:#374151;border-bottom:1px solid #d1d5db;margin:0 0 20px;padding-bottom:10px;font-size:1.3rem;font-weight:600}.form-group:last-child{margin-bottom:0}.checkbox-group{flex-direction:column;gap:8px;display:flex}.checkbox-group label{cursor:pointer;align-items:flex-start;gap:10px;margin-bottom:0;display:flex}.checkbox-group input[type=checkbox]{flex-shrink:0;width:16px;height:16px;margin:4px 0 0}.checkbox-label{color:#374151;font-size:.95rem;font-weight:500;line-height:1.4}.form-group input[type=text],.form-group input[type=email],.form-group input[type=number],.form-group textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-group input:disabled,.form-group textarea:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.form-group textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.field-description{color:#6b7280;margin:6px 0 0;padding-left:26px;font-size:.85rem;line-height:1.4}.checkbox-group .field-description{padding-left:26px}.form-group:not(.checkbox-group) .field-description{padding-left:0}.settings-actions{background-color:#f9fafb;border-radius:8px;justify-content:flex-end;gap:12px;margin-top:10px;padding:25px;display:flex}.organization-settings .btn{cursor:pointer;border:none;border-radius:6px;min-width:120px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .1s}.organization-settings .btn:hover:not(:disabled){transform:translateY(-1px)}.organization-settings .btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.organization-settings .btn-primary{color:#fff;background-color:#3b82f6}.organization-settings .btn-primary:hover:not(:disabled){background-color:#2563eb}.organization-settings .btn-secondary{color:#fff;background-color:#6b7280}.organization-settings .btn-secondary:hover:not(:disabled){background-color:#4b5563}@media (width<=768px){.settings-container{margin:10px;padding:15px}.settings-section{padding:20px 15px}.settings-actions{flex-direction:column;gap:10px}.organization-settings .btn{width:100%}.checkbox-group label{align-items:flex-start}.field-description{padding-left:26px;font-size:.8rem}}@media (width<=480px){.settings-header h2{font-size:1.5rem}.settings-section h3{font-size:1.1rem}.form-group input,.form-group textarea{font-size:16px}}.sso-settings{padding:0}.sso-settings-loading{flex-direction:column;justify-content:center;align-items:center;gap:15px;min-height:300px;display:flex}.loading-spinner{border:3px solid #f3f3f3;border-top-color:#007bff;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.alert{border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 16px;display:flex}.alert-close{cursor:pointer;color:inherit;opacity:.7;background:0 0;border:none;padding:0 5px;font-size:20px}.alert-close:hover{opacity:1}.sso-tabs{border-bottom:2px solid #e5e7eb;gap:5px;margin-bottom:25px;display:flex}.tab-button{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:14px;font-weight:500;transition:all .2s}.tab-button:hover{color:#374151;background-color:#f9fafb}.tab-button.active{color:#007bff;border-bottom-color:#007bff}.sso-section{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:25px}.sso-section h3{color:#333;margin:0 0 20px;font-size:18px}.sso-section h4{color:#444;margin:0 0 15px;font-size:16px}.section-description{color:#666;margin-bottom:20px}.form-group input[type=text],.form-group input[type=url],.form-group input[type=password],.form-group select,.form-group textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-help{color:#6b7280;margin:6px 0 0;font-size:12px}.checkbox-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0}.checkbox-label span{font-weight:500}.form-actions{border-top:1px solid #e5e7eb;gap:12px;margin-top:25px;padding-top:20px;display:flex}.sso-settings .btn{cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.sso-settings .btn:disabled{opacity:.6;cursor:not-allowed}.sso-settings .btn-primary{color:#fff;background-color:#007bff}.sso-settings .btn-primary:hover:not(:disabled){background-color:#0069d9}.sso-settings .btn-secondary{color:#374151;background-color:#f3f4f6;border:1px solid #d1d5db}.sso-settings .btn-secondary:hover:not(:disabled){background-color:#e5e7eb}.sso-settings .btn-danger{color:#fff;background-color:#dc3545}.sso-settings .btn-danger:hover:not(:disabled){background-color:#c82333}.btn-small{padding:6px 12px;font-size:13px}.info-message{color:#0369a1;background-color:#e0f2fe;border:1px solid #bae6fd;border-radius:6px;padding:15px}.provider-config{border-top:1px solid #e5e7eb;margin-top:20px;padding-top:20px}.test-result{border-radius:6px;margin-top:20px;padding:15px}.test-result.success{color:#166534;background-color:#dcfce7;border:1px solid #bbf7d0}.test-result.error{color:#b91c1c;background-color:#fee2e2;border:1px solid #fecaca}.test-result strong{margin-bottom:8px;display:block}.test-result pre{background:#0000000d;border-radius:4px;margin-top:10px;padding:10px;font-size:12px;overflow-x:auto}.domain-add-form{gap:12px;margin-bottom:25px;display:flex}.domain-add-form input{border:1px solid #d1d5db;border-radius:6px;flex:1;padding:10px 12px;font-size:14px}.domain-add-form input:focus{border-color:#007bff;outline:none}.domains-list{flex-direction:column;gap:10px;display:flex}.domain-item{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;padding:15px;display:flex}.domain-info{align-items:center;gap:15px;display:flex}.domain-name{color:#333;font-weight:500}.domain-status{border-radius:12px;padding:4px 10px;font-size:12px;font-weight:500}.domain-status.verified{color:#166534;background-color:#dcfce7}.domain-status.pending{color:#854d0e;background-color:#fef9c3}.domain-actions{gap:8px;display:flex}.verification-instructions{background:#f9fafb;border-radius:6px;margin-top:30px;padding:20px}.verification-instructions h4{color:#333;margin:0 0 15px}.verification-instructions ol{color:#666;margin:0;padding-left:20px}.verification-instructions li{margin-bottom:8px}.sso-users-table{overflow-x:auto}.sso-users-table table{border-collapse:collapse;width:100%}.sso-users-table th,.sso-users-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:12px 15px}.sso-users-table th{color:#374151;text-transform:uppercase;background:#f9fafb;font-size:13px;font-weight:600}.sso-users-table td{color:#4b5563;font-size:14px}.sso-users-table .external-id{color:#6b7280;text-overflow:ellipsis;max-width:200px;font-family:monospace;font-size:12px;overflow:hidden}@media (width<=768px){.sso-tabs{overflow-x:auto}.tab-button{white-space:nowrap;padding:10px 16px}.domain-item{flex-direction:column;align-items:flex-start;gap:12px}.form-actions,.domain-add-form{flex-direction:column}}.pagination-container{background-color:#f9f9f9;border-top:1px solid #e5e5e5;flex-direction:column;gap:1rem;margin-top:1rem;padding:1rem;display:flex}.pagination-info{color:#666;justify-content:space-between;align-items:center;font-size:.9rem;display:flex}.page-size-selector{align-items:center;gap:.5rem;display:flex}.page-size-selector label{white-space:nowrap;font-weight:500}.page-size-select{background-color:#fff;border:1px solid #ccc;border-radius:4px;padding:.25rem .5rem;font-size:.9rem}.page-size-select:focus{border-color:#007bff;outline:none;box-shadow:0 0 0 2px #007bff40}.pagination-controls{justify-content:center;align-items:center;gap:.5rem;display:flex}.pagination-pages{gap:.25rem;display:flex}.pagination-btn{color:#333;cursor:pointer;background-color:#fff;border:1px solid #ddd;border-radius:4px;justify-content:center;align-items:center;min-width:2.5rem;padding:.5rem .75rem;font-size:.9rem;transition:all .2s;display:flex}.pagination-btn:hover:not(:disabled){background-color:#f5f5f5;border-color:#bbb}.pagination-btn:disabled{color:#ccc;cursor:not-allowed;background-color:#f9f9f9;border-color:#e5e5e5}.pagination-btn.active{color:#fff;background-color:#007bff;border-color:#007bff}.pagination-btn.active:hover{background-color:#0056b3;border-color:#0056b3}.prev-btn,.next-btn{min-width:auto;padding:.5rem 1rem;font-weight:500}.pagination-ellipsis{color:#666;justify-content:center;align-items:center;min-width:2.5rem;padding:.5rem .25rem;font-weight:700;display:flex}@media (width<=768px){.pagination-container{gap:.75rem;padding:.75rem}.pagination-info{flex-direction:column;align-items:flex-start;gap:.5rem}.page-size-selector{align-self:flex-end}.pagination-controls{flex-wrap:wrap;gap:.25rem}.pagination-btn{min-width:2.25rem;padding:.4rem .6rem;font-size:.85rem}.prev-btn,.next-btn{padding:.4rem .8rem}}@media (width<=480px){.pagination-pages{flex-wrap:wrap;justify-content:center}.pagination-info span{font-size:.85rem}}.audit-logs-container{padding:0}.audit-logs-stats{gap:1rem;margin-bottom:1.5rem;display:flex}.stat-card{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;flex-direction:column;align-items:center;min-width:120px;padding:1rem 1.5rem;display:flex;box-shadow:0 4px 6px #0000001a}.stat-label{color:#ffffffe6;margin-bottom:.5rem;font-size:.85rem}.filters-section{background:#fff;border-radius:12px;margin-bottom:2rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.filters-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.filter-search{grid-column:span 2}.filter-group{flex-direction:column;display:flex}.filter-group label{color:#4a5568;margin-bottom:.5rem;font-size:.875rem;font-weight:500}.filter-group input,.filter-group select{border:1px solid #e2e8f0;border-radius:8px;padding:.625rem;font-size:.95rem;transition:all .2s}.filter-actions{justify-content:flex-end;gap:.75rem;display:flex}.audit-logs .btn-primary,.audit-logs .btn-secondary{cursor:pointer;border:none;border-radius:8px;padding:.625rem 1.5rem;font-size:.95rem;font-weight:500;transition:all .2s}.audit-logs .btn-primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.audit-logs .btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.audit-logs .btn-secondary{color:#4a5568;background:#fff;border:1px solid #e2e8f0}.audit-logs .btn-secondary:hover{background:#f7fafc}.audit-logs-content{background:#fff;border-radius:12px;position:relative;box-shadow:0 1px 3px #0000001a}.table-container{overflow-x:auto}.audit-logs-table{border-collapse:collapse;width:100%}.audit-logs-table thead{background:#f7fafc;border-bottom:2px solid #e2e8f0}.audit-logs-table th{text-align:left;color:#4a5568;text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.875rem;font-weight:600}.audit-logs-table td{color:#2d3748;border-bottom:1px solid #e2e8f0;padding:1rem;font-size:.95rem}.audit-logs-table tbody tr:hover{background:#f7fafc}.timestamp-cell{color:#718096;white-space:nowrap;font-family:Monaco,Menlo,monospace;font-size:.85rem}.entity-cell{align-items:center;gap:.5rem;display:flex}.entity-icon{font-size:1.25rem}.entity-type{font-weight:500}.action-cell .badge{text-transform:uppercase;letter-spacing:.025em;border-radius:12px;padding:.25rem .75rem;font-size:.8rem;font-weight:600;display:inline-block}.badge-success{color:#22543d;background:#c6f6d5}.badge-info{color:#2c5282;background:#bee3f8}.badge-danger{color:#742a2a;background:#fed7d7}.badge-warning{color:#7c2d12;background:#feebc8}.badge-default{color:#4a5568;background:#e2e8f0}.badge-primary{color:#3c366b;background:#c3dafe}.badge-secondary{color:#553c9a;background:#e9d8fd}.details-cell{text-overflow:ellipsis;white-space:nowrap;max-width:300px;overflow:hidden}.user-cell{font-weight:500}.ip-cell{color:#718096;font-family:Fira Code,Menlo,monospace;font-size:.85rem}.audit-logs-container .loading-state,.audit-logs-container .empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.audit-logs-container .spinner{border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.audit-logs-container .loading-state p{color:#718096;margin-top:1rem}.empty-icon{opacity:.5;margin-bottom:1rem;font-size:4rem}.audit-logs-container .empty-state h3{color:#2d3748;margin:0 0 .5rem;font-size:1.25rem}.audit-logs-container .empty-state p{color:#718096;margin:0}.loading-overlay{background:#fffc;border-radius:12px;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.error-message{color:#742a2a;background:#fed7d7;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:1rem;display:flex}@media (width<=768px){.audit-logs-container{padding:1rem}.audit-logs-header{flex-direction:column}.filters-grid{grid-template-columns:1fr}.filter-search{grid-column:span 1}.audit-logs-table{font-size:.85rem}.audit-logs-table th,.audit-logs-table td{padding:.75rem .5rem}}.mfa-enrollment{background:#fff;border-radius:8px;max-width:600px;margin:0 auto;box-shadow:0 2px 8px #0000001a}.enrollment-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem 2rem;display:flex}.enrollment-header h2{color:#1a1a1a;margin:0}.close-btn{cursor:pointer;color:#666;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem}.enrollment-step{padding:2rem}.enrollment-step h3{color:#1a1a1a;margin:0 0 1rem}.enrollment-step>p{color:#666;margin:0 0 1.5rem}.provider-options{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.provider-option{cursor:pointer;border:2px solid #e0e0e0;border-radius:8px;padding:1.5rem;transition:all .2s;display:block}.provider-option:hover{background-color:#f8f9ff;border-color:#06c}.provider-option.selected{background-color:#f0f4ff;border-color:#06c}.provider-option input[type=radio]{display:none}.provider-content{align-items:center;gap:1rem;display:flex}.provider-icon{font-size:2rem}.provider-info h4{color:#1a1a1a;margin:0 0 .25rem}.provider-info p{color:#666;margin:0;font-size:.9rem}.qr-code-container{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;justify-content:center;margin:2rem 0;padding:2rem;display:flex}.qr-code{width:100%;max-width:250px;height:auto}.manual-entry{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin:2rem 0;padding:1.5rem}.manual-entry h4{color:#1a1a1a;margin:0 0 .5rem}.manual-entry p{color:#666;margin:0 0 1rem}.secret-key{align-items:center;gap:.5rem;display:flex}.secret-key code{word-break:break-all;background:#fff;border:1px solid #d0d0d0;border-radius:4px;flex:1;padding:.75rem;font-family:Courier New,monospace;font-size:.9rem}.copy-btn{cursor:pointer;background:0 0;border:1px solid #d0d0d0;border-radius:4px;padding:.5rem .75rem;font-size:1.2rem;transition:all .2s}.copy-btn:hover{background-color:#f0f0f0;border-color:#06c}.verification-form{border-top:1px solid #e0e0e0;margin-top:2rem;padding-top:2rem}.verification-form h4{color:#1a1a1a;margin:0 0 .5rem}.verification-form>p{color:#666;margin:0 0 1rem}.code-input-group{justify-content:center;margin:1.5rem 0;display:flex}.code-input{text-align:center;letter-spacing:.25rem;border:2px solid #d0d0d0;border-radius:8px;width:200px;padding:1rem;font-family:Courier New,monospace;font-size:1.5rem}.code-input:focus{border-color:#06c;outline:none;box-shadow:0 0 0 3px #0066cc1a}.enrollment-actions{justify-content:space-between;gap:1rem;margin-top:2rem;display:flex}.success-icon{color:#137333;justify-content:center;margin-bottom:1rem;font-size:4rem;display:flex}.backup-codes-section{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;margin-top:2rem;padding:1.5rem}.backup-codes-section h4{color:#1a1a1a;margin:0 0 .5rem}.backup-codes-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin:1.5rem 0;display:grid}.backup-code{text-align:center;background:#fff;border:1px solid #d0d0d0;border-radius:4px;padding:.75rem;font-family:Courier New,monospace;font-size:1rem;font-weight:500}.backup-codes-actions{gap:1rem;margin-top:1rem;display:flex}.mfa-enrollment .btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.mfa-enrollment .btn:disabled{opacity:.5;cursor:not-allowed}.mfa-enrollment .btn-primary{color:#fff;background-color:#06c}.mfa-enrollment .btn-primary:hover:not(:disabled){background-color:#0052a3}.mfa-enrollment .btn-secondary{color:#1a1a1a;background-color:#f0f0f0}.mfa-enrollment .btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.alert{border-radius:6px;margin-bottom:1.5rem;padding:1rem}@media (width<=600px){.enrollment-step,.qr-code-container{padding:1rem}.backup-codes-grid{grid-template-columns:1fr}.backup-codes-actions,.enrollment-actions{flex-direction:column}}.mfa-settings{padding:0}.mfa-settings-loading{color:#666;flex-direction:column;justify-content:center;align-items:center;padding:4rem;display:flex}.loading-spinner{border:4px solid #f0f0f0;border-top-color:#06c;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.alert{border-radius:6px;margin-bottom:1.5rem;padding:1rem;position:relative}.alert-error{color:#c00;background-color:#fee;border:1px solid #fcc}.alert-success{color:#060;background-color:#efe;border:1px solid #cfc}.alert-close{cursor:pointer;color:inherit;background:0 0;border:none;padding:.25rem .5rem;font-size:1.5rem;position:absolute;top:.5rem;right:.5rem}.mfa-status-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;margin-bottom:1.5rem;padding:2rem}.mfa-status-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.mfa-status-header h3{margin:0}.mfa-settings .status-badge{border-radius:20px;padding:.5rem 1rem;font-size:.9rem;font-weight:500}.mfa-settings .status-badge.enabled{color:#137333;background-color:#e6f4ea}.mfa-settings .status-badge.disabled{color:#c5221f;background-color:#fce8e6}.mfa-details{flex-direction:column;gap:1rem;display:flex}.mfa-detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:.75rem 0;display:flex}.mfa-actions{gap:1rem;margin-top:1.5rem;display:flex}.mfa-disabled{text-align:center;padding:2rem}.mfa-disabled p{color:#666;margin-bottom:1.5rem;line-height:1.6}.backup-codes-section{background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:6px;margin-top:2rem;padding:1.5rem}.backup-codes-section h4{margin:0 0 .5rem}.backup-codes-warning{color:#c5221f;margin:.5rem 0 1rem;font-size:.9rem}.backup-codes-list{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem;margin:1rem 0;display:grid}.backup-code{text-align:center;background:#fff;border:1px solid #e0e0e0;border-radius:4px;padding:.75rem;font-family:Courier New,monospace;font-weight:500}.mfa-info-card{background:#f9f9f9;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem}.mfa-info-card h4{color:#1a1a1a;margin:0 0 .5rem}.mfa-info-card p{color:#666;margin:0 0 1rem;line-height:1.6}.mfa-info-card ul{color:#666;margin:.5rem 0 1rem 1.5rem}.mfa-info-card li{margin:.25rem 0}.modal-overlay{z-index:1000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto}.modal-header{border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.modal-header h3{margin:0}.modal-body{padding:1.5rem}.warning-text{color:#c5221f;margin-bottom:1.5rem}.form-group input{border:1px solid #d0d0d0;border-radius:4px;width:100%;padding:.75rem;font-size:1rem}.modal-footer{border-top:1px solid #e0e0e0;justify-content:flex-end;gap:1rem;padding:1.5rem;display:flex}.mfa-settings .btn{cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.mfa-settings .btn:disabled{opacity:.5;cursor:not-allowed}.mfa-settings .btn-primary{color:#fff;background-color:#06c}.mfa-settings .btn-primary:hover:not(:disabled){background-color:#0052a3}.mfa-settings .btn-secondary{color:#1a1a1a;background-color:#f0f0f0}.mfa-settings .btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.mfa-settings .btn-danger{color:#fff;background-color:#c5221f}.mfa-settings .btn-danger:hover:not(:disabled){background-color:#9a1b1a}.member-avatar-wrapper{vertical-align:middle;flex-shrink:0;display:inline-flex;position:relative}.member-avatar{vertical-align:middle;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.member-avatar--photo{object-fit:cover;background:#f5f5f5;border:2px solid #e0e0e0}.member-avatar--initials{color:#fff;text-align:center;-webkit-user-select:none;user-select:none;font-weight:600}.member-avatar--xs .member-avatar{width:24px;height:24px;font-size:10px;line-height:24px}.member-avatar--sm .member-avatar{width:32px;height:32px;font-size:12px;line-height:32px}.member-avatar--md .member-avatar{width:40px;height:40px;font-size:15px;line-height:40px}.member-avatar--lg .member-avatar{width:56px;height:56px;font-size:21px;line-height:56px}.member-avatar--xl .member-avatar{width:96px;height:96px;font-size:36px;line-height:96px}.member-avatar__status{box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:25%;min-width:8px;height:25%;min-height:8px;position:absolute;bottom:0;right:0}.member-avatar__status--online{background:#43a047}.member-avatar__status--offline{background:#9e9e9e}.photo-upload{margin-bottom:16px}.photo-upload-zone{cursor:pointer;text-align:center;border:2px dashed #ccc;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:24px;transition:border-color .2s,background .2s;display:flex}.photo-upload-zone:hover,.photo-upload-zone--drag{background:#667eea0a;border-color:#667eea}.photo-upload-label{color:#667eea;align-items:center;gap:6px;font-size:14px;font-weight:600;display:flex}.photo-upload-hint{color:#999;font-size:12px}.photo-upload-current{align-items:center;gap:16px;display:flex}.photo-upload-current-actions{flex-direction:column;gap:6px;display:flex}.photo-change-btn,.photo-remove-btn{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:background .15s;display:flex}.photo-change-btn:hover{color:#667eea;background:#f0f4ff;border-color:#667eea}.photo-remove-btn{color:#e53935}.photo-remove-btn:hover{background:#fff5f5;border-color:#e53935}.photo-remove-btn:disabled,.photo-change-btn:disabled{opacity:.5;cursor:not-allowed}.photo-upload-error{color:#e53935;background:#fff5f5;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:13px}.photo-upload-progress{background:#e0e0e0;border-radius:2px;height:4px;margin-top:8px;overflow:hidden}.photo-upload-progress-bar{background:#667eea;border-radius:2px;height:100%;transition:width .3s}.photo-crop-container{flex-direction:column;align-items:center;gap:12px;display:flex}.photo-crop-container h4{color:#333;margin:0;font-size:15px}.photo-crop-canvas-wrapper{cursor:grab;touch-action:none;background:#f5f5f5;border:3px solid #667eea;border-radius:50%;width:300px;height:300px;overflow:hidden}.photo-crop-canvas-wrapper:active{cursor:grabbing}.photo-crop-canvas{width:300px;height:300px;display:block}.photo-crop-zoom{align-items:center;gap:8px;width:260px;display:flex}.photo-crop-slider{accent-color:#667eea;flex:1}.photo-crop-actions{gap:10px;display:flex}.photo-crop-actions .cancel-btn,.photo-crop-actions .submit-btn{cursor:pointer;border:1px solid #ddd;border-radius:6px;padding:8px 18px;font-size:13px}.photo-crop-actions .submit-btn{color:#fff;background:#667eea;border-color:#667eea}.photo-crop-actions .submit-btn:disabled{opacity:.6;cursor:not-allowed}.photo-crop-actions .cancel-btn{background:#fff}.nba-card{--nba-card-accent:#e85d04;--nba-card-bg:#0f172a;--nba-card-bg-info:#1e293b;--nba-card-text:#fff;--nba-card-text-muted:#fff9;background:var(--nba-card-bg);cursor:default;border-radius:12px;flex-direction:column;width:180px;height:240px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #0000004d}.nba-card[role=button]{cursor:pointer}.nba-card:hover{box-shadow:0 8px 24px #0006, 0 0 0 2px var(--nba-card-accent);transform:scale(1.03)translateY(-3px)}.nba-card:focus-visible{outline:2px solid var(--nba-card-accent);outline-offset:2px}.nba-card__photo-zone{background:linear-gradient(135deg,#334155 0%,#1e293b 100%);flex:auto;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.nba-card__photo{object-fit:cover;width:100%;height:100%;display:block}.nba-card__photo-fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--nba-card-accent) 15%, #334155) 0%, #1e293b 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.nba-card__silhouette{color:#ffffff59;width:50%;height:50%}.nba-card__gradient-overlay{pointer-events:none;background:linear-gradient(#0f172a00 40%,#0f172ad9 100%);position:absolute;inset:0}.nba-card__info-zone{background:var(--nba-card-bg-info);flex-direction:column;flex:none;justify-content:center;gap:1px;height:48px;padding:.25rem .5rem;display:flex;position:relative;overflow:hidden}.nba-card__accent-stripe{background:var(--nba-card-accent);height:3px;position:absolute;top:0;left:0;right:0}.nba-card__name-row{align-items:center;gap:.4rem;min-width:0;display:flex}.nba-card__name{min-width:0;color:var(--nba-card-text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:.82rem;font-weight:800;line-height:1.2;overflow:hidden}.nba-card__jersey-badge{z-index:2;background:var(--nba-card-accent);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.02em;border-radius:0 12px 0 8px;justify-content:center;align-items:center;min-width:1.4rem;padding:.2rem .45rem;font-size:.7rem;font-weight:900;line-height:1;display:inline-flex;position:absolute;top:0;right:0}.nba-card__meta{align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.nba-card__position-badge{background:var(--nba-card-accent);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:3px;justify-content:center;align-items:center;min-width:1.6rem;padding:.1rem .4rem;font-size:.6rem;font-weight:800;line-height:1.3;display:inline-flex}.nba-card__age{color:var(--nba-card-text-muted);font-size:.65rem;font-weight:500}@media (width<=380px){.nba-card{aspect-ratio:180/240;width:100%;height:auto;min-height:200px}}@media (width>=381px) and (width<=640px){.nba-card{aspect-ratio:180/240;width:100%;max-width:180px;height:auto}}.nba-card-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));justify-items:center;gap:.85rem;display:grid}@media (width<=380px){.nba-card-grid{grid-template-columns:repeat(2,1fr);gap:.65rem}}.nba-coach-card{--nba-coach-card-accent:#1b2838;--nba-coach-card-bg:#0d1520;--nba-coach-card-bg-info:#162030;--nba-coach-card-text:#fff;--nba-coach-card-text-muted:#ffffff8c;background:var(--nba-coach-card-bg);cursor:default;border-radius:12px;flex-direction:column;width:180px;height:240px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #00000059}.nba-coach-card[role=button]{cursor:pointer}.nba-coach-card:hover{box-shadow:0 8px 24px #00000073, 0 0 0 2px var(--nba-coach-card-accent);transform:scale(1.03)translateY(-3px)}.nba-coach-card:focus-visible{outline:2px solid var(--nba-coach-card-accent);outline-offset:2px}.nba-coach-card__photo-zone{background:linear-gradient(135deg,#1e293b 0%,#0d1520 100%);flex:0 0 60%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.nba-coach-card__photo{object-fit:cover;width:100%;height:100%;display:block}.nba-coach-card__photo-fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--nba-coach-card-accent) 20%, #1e293b) 0%, #0d1520 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.nba-coach-card__silhouette{color:#ffffff4d;width:50%;height:50%}.nba-coach-card__gradient-overlay{pointer-events:none;background:linear-gradient(#0d152000 40%,#0d1520d9 100%);position:absolute;inset:0}.nba-coach-card__info-zone{background:var(--nba-coach-card-bg-info);flex-direction:column;flex:0 0 40%;justify-content:center;gap:.25rem;padding:.5rem .65rem .45rem;display:flex;position:relative}.nba-coach-card__accent-stripe{background:var(--nba-coach-card-accent);height:3px;position:absolute;top:0;left:0;right:0}.nba-coach-card__name{color:var(--nba-coach-card-text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:800;line-height:1.25;display:block;overflow:hidden}.nba-coach-card__meta{flex-direction:column;gap:.2rem;margin-top:.1rem;display:flex}.nba-coach-card__role-badge{background:var(--nba-coach-card-accent);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:3px;align-items:center;gap:.25rem;width:fit-content;padding:.1rem .4rem;font-size:.6rem;font-weight:700;line-height:1.3;display:inline-flex}.nba-coach-card__role-icon{flex-shrink:0;width:11px;height:11px}.nba-coach-card__credentials{color:var(--nba-coach-card-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;font-style:italic;font-weight:500;overflow:hidden}@media (width<=380px){.nba-coach-card{aspect-ratio:180/240;width:100%;height:auto;min-height:200px}}@media (width>=381px) and (width<=640px){.nba-coach-card{aspect-ratio:180/240;width:100%;max-width:180px;height:auto}}.nba-staff-card{--nba-staff-card-accent:#64748b;--nba-staff-card-bg:var(--gray-900);--nba-staff-card-bg-info:#1a2332;--nba-staff-card-text:#fff;--nba-staff-card-text-muted:#ffffff80;background:var(--nba-staff-card-bg);cursor:default;border-radius:12px;flex-direction:column;width:180px;height:240px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 3px 12px #0000004d}.nba-staff-card[role=button]{cursor:pointer}.nba-staff-card:hover{box-shadow:0 8px 24px #0006, 0 0 0 2px var(--nba-staff-card-accent);transform:scale(1.03)translateY(-3px)}.nba-staff-card:focus-visible{outline:2px solid var(--nba-staff-card-accent);outline-offset:2px}.nba-staff-card__photo-zone{background:linear-gradient(135deg, var(--gray-700) 0%, var(--gray-900) 100%);flex:0 0 60%;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.nba-staff-card__photo{object-fit:cover;width:100%;height:100%;display:block}.nba-staff-card__photo-fallback{background:linear-gradient(135deg, color-mix(in srgb, var(--nba-staff-card-accent) 12%, var(--gray-700)) 0%, var(--gray-900) 100%);justify-content:center;align-items:center;width:100%;height:100%;display:flex}.nba-staff-card__silhouette{color:#ffffff40;width:50%;height:50%}.nba-staff-card__gradient-overlay{pointer-events:none;background:linear-gradient(#11182700 40%,#111827d9 100%);position:absolute;inset:0}.nba-staff-card__info-zone{background:var(--nba-staff-card-bg-info);flex-direction:column;flex:0 0 40%;justify-content:center;gap:.25rem;padding:.5rem .65rem .45rem;display:flex;position:relative}.nba-staff-card__accent-stripe{background:var(--nba-staff-card-accent);height:3px;position:absolute;top:0;left:0;right:0}.nba-staff-card__name{color:var(--nba-staff-card-text);letter-spacing:.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:800;line-height:1.25;display:block;overflow:hidden}.nba-staff-card__meta{align-items:center;gap:.5rem;margin-top:.15rem;display:flex}.nba-staff-card__role-badge{background:var(--nba-staff-card-accent);color:#fff;text-transform:uppercase;letter-spacing:.06em;border-radius:3px;align-items:center;gap:.25rem;width:fit-content;padding:.1rem .4rem;font-size:.6rem;font-weight:700;line-height:1.3;display:inline-flex}.nba-staff-card__role-icon{flex-shrink:0;width:11px;height:11px}@media (width<=380px){.nba-staff-card{aspect-ratio:180/240;width:100%;height:auto;min-height:200px}}@media (width>=381px) and (width<=640px){.nba-staff-card{aspect-ratio:180/240;width:100%;max-width:180px;height:auto}}.spinner{border:2px solid var(--gray-200);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;animation:.8s linear infinite spinner-rotate;display:inline-block}.spinner--sm{width:14px;height:14px}.spinner--md{width:20px;height:20px}.spinner--lg{border-width:3px;width:32px;height:32px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:38px;padding:0 var(--space-4);border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:1px solid #0000;font-family:inherit;font-size:14px;font-weight:500;line-height:1;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn:disabled{opacity:.6;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn--primary{background:var(--brand);color:#fff}.btn--primary:hover:not(:disabled){background:var(--brand-dark)}.btn--secondary{background:var(--surface-primary);color:var(--gray-700);border-color:var(--gray-300)}.btn--secondary:hover:not(:disabled){background:var(--gray-100)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:#b91c1c}.btn--ghost{color:var(--gray-600);background:0 0}.btn--ghost:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.btn--sm{height:30px;padding:0 var(--space-3);font-size:13px}.btn--primary .spinner,.btn--danger .spinner{border-color:#fff #ffffff73 #ffffff73}.loading-state{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-6);color:var(--gray-500);font-size:14px;display:flex}.loading-state__label{line-height:1.5}.c-empty-state{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);text-align:center;flex-direction:column;display:flex}.c-empty-state__icon{opacity:.6;margin-bottom:var(--space-1);color:var(--gray-400);font-size:2.5rem;line-height:1}.c-empty-state__title{color:var(--gray-700);margin:0;font-size:16px;font-weight:600}.c-empty-state__description{max-width:420px;color:var(--gray-500);margin:0;font-size:14px}.c-empty-state__action{margin-top:var(--space-3)}.c-error-banner{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);border:1px solid;font-size:14px;display:flex}.c-error-banner--error{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.c-error-banner--warning{background:var(--color-warning-light);border-color:var(--color-warning);color:#92400e}.c-error-banner__message{line-height:1.5}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);border-radius:var(--radius-xl);white-space:nowrap;font-size:12px;font-weight:600;line-height:1.5;display:inline-flex}.badge--success{background:var(--color-success-light);color:var(--color-success)}.badge--warning{background:var(--color-warning-light);color:#92400e}.badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.badge--info{background:var(--color-info-light);color:var(--color-info)}.badge--neutral{background:var(--gray-100);color:var(--gray-600)}.rsp-panel{width:680px;max-width:92vw}.rsp-toolbar{border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--surface-secondary,#f8fafc);justify-content:space-between;align-items:center;padding:10px 24px;display:flex}.rsp-count{color:#64748b;font-size:13px;font-weight:500}.rsp-season-tag{color:#64748b;font-size:12px}.rsp-add-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:14px}.rsp-add-form select{width:100%;margin-bottom:10px}.rsp-add-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rsp-back{margin-bottom:16px}.rsp-photo-section{justify-content:center;margin-bottom:16px;display:flex}.rsp-info-grid{grid-template-columns:1fr 1fr;gap:14px 20px;margin-bottom:20px;display:grid}.rsp-info-item{flex-direction:column;gap:2px;display:flex}.rsp-info-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.rsp-info-value{color:#1e293b;font-size:14px}.rsp-section{border-top:1px solid #e2e8f0;margin-top:20px;padding-top:16px}.rsp-section-title{color:#475569;text-transform:uppercase;letter-spacing:.03em;margin:0 0 12px;font-size:13px;font-weight:600}.rsp-guardian-card{border-bottom:1px solid #f1f5f9;padding:10px 0}.rsp-guardian-card:last-child{border-bottom:none}.rsp-guardian-name{color:#1e293b;align-items:center;gap:8px;margin-bottom:4px;font-size:14px;font-weight:500;display:flex}.rsp-relationship{color:#64748b;background:#f1f5f9;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.rsp-guardian-contact{color:#64748b;flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.rsp-guardian-contact span{align-items:center;gap:5px;display:flex}.rsp-card-grid{flex-direction:column;gap:20px;display:flex}.rsp-section-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #f1f5f9;margin-bottom:10px;padding-bottom:6px;font-size:12px;font-weight:600}.rsp-cards{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.rsp-cards .nba-card,.rsp-cards .nba-coach-card,.rsp-cards .nba-staff-card{aspect-ratio:3/4;width:100%;height:auto}.rsp-jersey-display{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.rsp-jersey-display:hover .rsp-edit-hint{opacity:1}.rsp-edit-hint{opacity:.3;font-size:13px;transition:opacity .15s}.rsp-jersey-empty{color:#94a3b8;font-style:italic}.rsp-jersey-edit{align-items:center;gap:4px;display:inline-flex}.rsp-jersey-input{border:1px solid #cbd5e1;border-radius:4px;outline:none;width:70px;padding:3px 8px;font-size:14px}.rsp-position-input{width:120px}.rsp-jersey-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.rsp-jersey-save,.rsp-jersey-cancel{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:14px;line-height:1}.rsp-jersey-save{color:#16a34a}.rsp-jersey-save:hover{background:#f0fdf4}.rsp-jersey-cancel{color:#94a3b8}.rsp-jersey-cancel:hover{background:#f1f5f9}.rsp-danger-zone{border-top:1px solid #fee2e2;flex-direction:column;align-items:flex-start;margin-top:24px;padding-top:16px;display:flex}.rsp-remove-btn{color:#b91c1c;cursor:pointer;background:#fff;border:1px solid #fca5a5;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.rsp-remove-btn:hover:not(:disabled){color:#fff;background:#b91c1c;border-color:#b91c1c}.rsp-remove-btn:disabled{opacity:.6;cursor:not-allowed}.sp-avatar-fallback{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:22px;font-weight:700;display:inline-flex}.rsp-team-photo-preview{border:1px solid #e5e7eb;border-radius:6px;max-height:80px;margin-top:8px;display:block}.rsp-athletes-bar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.form-field{flex-direction:column;display:flex}.form-field__label{color:var(--gray-700);margin-bottom:var(--space-1);font-size:13px;font-weight:500;display:block}.form-field__required{color:var(--color-danger);margin-left:2px}.form-field__hint{margin:var(--space-1) 0 0;color:var(--gray-500);font-size:12px}.form-field__error{margin:var(--space-1) 0 0;color:var(--color-danger);font-size:12px;font-weight:500}.form-field--error input,.form-field--error select,.form-field--error textarea{border-color:var(--color-danger)}.form-field--error input:focus,.form-field--error select:focus,.form-field--error textarea:focus{border-color:var(--color-danger);box-shadow:0 0 0 2px var(--color-danger-light)}.form-fieldset{border:none;min-width:0;margin:0;padding:0}.form-fieldset>legend{width:100%;color:var(--gray-700);margin-bottom:var(--space-1);padding:0;font-size:13px;font-weight:500;display:block}.modal-scrim{z-index:1000;padding:var(--space-5);background:#00000080;justify-content:center;align-items:center;animation:.15s ease-out modal-fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--surface-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;width:100%;max-height:90vh;animation:.2s ease-out modal-slide-in;display:flex;position:relative;overflow:hidden}.modal:focus{outline:none}.modal--sm{max-width:480px}.modal--md{max-width:640px}.modal--lg{max-width:840px}.modal__titlebar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-6) var(--space-5) var(--space-6);border-bottom:1px solid var(--gray-200);flex-shrink:0;display:flex}.modal__title{color:var(--gray-900);flex:1;margin:0;font-size:20px;font-weight:600}.modal__close{color:var(--gray-500);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;font-size:24px;line-height:1;transition:all .15s}.modal__close:hover{color:var(--gray-700);background:var(--gray-100)}.modal__header{padding:var(--space-4) var(--space-6) 0 var(--space-6);flex-shrink:0}.modal__body{padding:var(--space-5) var(--space-6);flex:auto;overflow-y:auto}.modal__footer{justify-content:flex-end;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-6) var(--space-6);border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0;display:flex}.modal__discard-message{color:var(--gray-700);margin:0;font-size:15px;line-height:1.5}.modal__footer .btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);cursor:pointer;border:none;justify-content:center;align-items:center;min-width:120px;min-height:44px;font-size:14px;font-weight:500;transition:all .15s;display:inline-flex}.modal__footer .btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.modal__footer .btn-secondary{background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300)}.modal__footer .btn-secondary:hover:not(:disabled){background:var(--gray-200)}.modal__footer .btn-danger{background:var(--color-danger);color:#fff}.modal__footer .btn-danger:hover:not(:disabled){background:#b91c1c}.modal__footer .btn-primary{background:var(--brand);color:#fff}.modal__footer .btn-primary:hover:not(:disabled){background:var(--brand-dark)}.modal__close:focus-visible,.modal__footer .btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=768px){.modal-scrim{padding:var(--space-3)}.modal--sm,.modal--md,.modal--lg{max-width:100%}.modal__titlebar,.modal__header,.modal__body,.modal__footer{padding-left:var(--space-4);padding-right:var(--space-4)}.modal__footer{flex-direction:column-reverse;align-items:stretch}.modal__footer .btn{width:100%}}.season-management{padding:0}.season-management .section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.season-management .section-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.season-management .btn-link{color:#667eea;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px;font-weight:600}.season-management .btn-link:hover{text-decoration:underline}.create-form-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #00000014}.create-form-card h3{color:#1a1a2e;margin:0 0 20px;font-size:1.1rem}.form-group{flex:1;margin-bottom:16px}.form-row{gap:16px;display:flex}.seasons-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.season-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 8px #00000014}.season-card:hover{box-shadow:0 4px 16px #0000001f}.season-card-header{border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.season-card-header h3{color:#1a1a2e;margin:0;font-size:1rem}.season-card-body{padding:16px 20px}.season-dates{color:#4a5568;justify-content:space-between;padding:4px 0;font-size:14px;display:flex}.date-label{color:#718096;font-weight:600}.season-card-footer{text-align:right;border-top:1px solid #f0f0f0;padding:12px 20px}.member-management{width:100%}.member-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.member-filters{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.type-filter{background:#fff;border:1px solid #ddd;border-radius:6px;min-width:140px;padding:8px 12px;font-size:14px}.search-input{border:1px solid #ddd;border-radius:6px;min-width:240px;padding:8px 12px;font-size:14px}.search-input:focus,.type-filter:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 2px #667eea33}.member-table-wrapper{border:1px solid #e0e0e0;border-radius:8px;overflow-x:auto}.member-table{border-collapse:collapse;width:100%;font-size:14px}.member-table thead{background:#f5f5f5}.member-table th{text-align:left;color:#333;border-bottom:2px solid #e0e0e0;padding:12px 16px;font-weight:600}.member-table td{color:#555;border-bottom:1px solid #f0f0f0;padding:12px 16px}.member-table tbody tr:hover{background:#fafafa}.name-cell .member-name{color:#333;font-weight:500}.actions-cell{gap:8px;display:flex}.action-link{color:#667eea;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px;transition:background .2s}.action-link:hover{background:#f0f0ff}.member-detail{width:100%}.back-btn{cursor:pointer;color:#555;background:0 0;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .2s}.back-btn:hover{background:#f5f5f5}.edit-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.edit-btn:hover{background:#5a6fd6}.detail-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:28px}.detail-title{align-items:center;gap:16px;margin-bottom:24px;display:flex}.detail-title h2{color:#333;margin:0;font-size:22px}.detail-field label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:12px;display:block}.detail-field span{color:#333;font-size:15px}.member-form{flex-direction:column;gap:16px;display:flex}.form-error{color:#d32f2f;background:#fff0f0;border-radius:6px;padding:10px 14px;font-size:13px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:14px}@media (width<=640px){.form-row{grid-template-columns:1fr}.member-header{flex-direction:column;align-items:stretch}.member-filters{flex-direction:column}.search-input{min-width:unset;width:100%}}.guardian-links-section{margin-top:20px}.guardian-links-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.guardian-links-header h3{color:#333;margin:0;font-size:16px}.guardian-links-table{border-collapse:collapse;width:100%;font-size:14px}.guardian-links-table th,.guardian-links-table td{text-align:left;border-bottom:1px solid #eee;padding:10px 12px}.guardian-links-table th{color:#666;text-transform:uppercase;font-size:12px;font-weight:600}.unlink-btn{color:#e53935;font-weight:500}.unlink-btn:hover{color:#b71c1c}.no-candidates{color:#999;margin:8px 0;font-size:14px}.status-actions{border-top:1px solid #eee;margin-top:20px;padding-top:16px}.status-actions label{color:#666;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.status-buttons{flex-wrap:wrap;gap:8px;display:flex}.row-suspended{opacity:.6}.checkbox-col{text-align:center;width:32px}.bulk-status-btn{color:#fff;cursor:pointer;background:#ff9800;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.bulk-status-btn:hover{background:#f57c00}.account-section{margin-top:16px}.account-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.account-section-header h3{color:#333;align-items:center;gap:8px;margin:0;font-size:16px;display:flex}.account-linked{background:#e8f5e9;border:1px solid #c8e6c9;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.account-info{align-items:center;gap:12px;display:flex}.account-status-badge{border-radius:12px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.account-linked-badge{color:#fff;background:#4caf50}.account-user-info{color:#555;font-size:14px}.unlink-account-btn{color:#f44336;cursor:pointer;background:#fff;border:1px solid #f44336;border-radius:6px;padding:6px 14px;font-size:13px;transition:background .2s}.unlink-account-btn:hover{background:#ffebee}.account-unlinked{background:#f5f5f5;border:1px solid #e0e0e0;border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.no-account-text{color:#757575;margin:0;font-size:14px}.create-account-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.create-account-btn:hover{background:#1565c0}.account-badge-linked,.account-badge-unlinked{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.modal-description{color:#555;margin-bottom:16px;font-size:14px}.visibility-badge{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-flex}.visibility-public{color:#4caf50;background-color:#e8f5e9}.visibility-hidden{color:#9e9e9e;background-color:#f5f5f5}.bulk-visibility-btn{cursor:pointer;border:none;border-radius:6px;align-items:center;gap:4px;padding:10px 16px;font-size:13px;font-weight:600;transition:background .2s;display:inline-flex}.bulk-visibility-show{color:#2e7d32;background:#e8f5e9}.bulk-visibility-show:hover{background:#c8e6c9}.bulk-visibility-hide{color:#616161;background:#f5f5f5}.bulk-visibility-hide:hover{background:#e0e0e0}.avatar-col{text-align:center;width:40px;padding:4px!important}.slide-panel-backdrop{z-index:900;background:#0000004d;animation:.2s fadeIn;position:fixed;inset:0}.slide-panel{background:var(--surface-primary,#fff);z-index:910;flex-direction:column;width:520px;max-width:90vw;height:100vh;animation:.25s slideInRight;display:flex;position:fixed;top:0;right:0;box-shadow:-4px 0 24px #00000026}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-panel-header{border-bottom:1px solid var(--border-color,#e2e8f0);justify-content:space-between;align-items:flex-start;padding:20px 24px 16px;display:flex}.slide-panel-title-row{align-items:center;gap:14px;min-width:0;display:flex}.slide-panel-name{color:var(--text-primary,#1e293b);margin:0;font-size:1.15rem;font-weight:600;line-height:1.3}.slide-panel-meta{align-items:center;gap:8px;margin-top:4px;display:flex}.slide-panel-close{width:32px;height:32px;color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.slide-panel-close:hover{background:var(--surface-secondary,#f1f5f9);color:var(--text-primary,#1e293b)}.slide-panel .detail-tabs{background:var(--surface-secondary,#f8fafc);border-bottom:1px solid var(--border-color,#e2e8f0);flex-shrink:0;padding:0 24px}.slide-panel .detail-tab{color:var(--text-secondary,#64748b);letter-spacing:.01em;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:12px 18px;font-size:.85rem;font-weight:500;transition:color .15s,border-color .15s,background .15s;position:relative}.slide-panel .detail-tab:hover{color:var(--primary-color,#6c5ce7);background:#6c5ce70a}.slide-panel .detail-tab-active{color:var(--primary-color,#6c5ce7);border-bottom-color:var(--primary-color,#6c5ce7);font-weight:600}.slide-panel-body{flex:1;padding:20px 24px;overflow-y:auto}.slide-panel-body .detail-card{margin-bottom:16px}.detail-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.detail-card-header h3{color:var(--text-primary,#1e293b);margin:0;font-size:.95rem;font-weight:600}.toolbar-icon-btn{border:1px solid var(--border-color,#e0e0e0);background:var(--surface-secondary,#f5f5f5);width:36px;height:36px;color:var(--text-secondary,#666);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.toolbar-icon-btn:hover{background:var(--primary-color,#6c5ce7);color:#fff;border-color:var(--primary-color,#6c5ce7)}.toolbar-icon-btn--warning{color:#e65100;background:#fff3e0;border-color:#fb8c00}.toolbar-icon-btn--warning:hover{color:#fff;background:#fb8c00;border-color:#fb8c00}.toolbar-icon-btn--success{color:#2e7d32;background:#e8f5e9;border-color:#4caf50}.toolbar-icon-btn--success:hover{color:#fff;background:#4caf50;border-color:#4caf50}.toolbar-icon-btn--danger{color:#c62828;background:#fbe9e7;border-color:#ef5350}.toolbar-icon-btn--danger:hover{color:#fff;background:#ef5350;border-color:#ef5350}.toolbar-btn-group{gap:0;display:inline-flex}.toolbar-btn-group .toolbar-icon-btn{border-radius:0}.toolbar-btn-group .toolbar-icon-btn:first-child{border-radius:6px 0 0 6px}.toolbar-btn-group .toolbar-icon-btn:last-child{border-left:none;border-radius:0 6px 6px 0}.detail-tabs{border-bottom:2px solid var(--border-color,#e0e0e0);gap:0;margin-bottom:16px;display:flex}.detail-tab{color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:color .15s,border-color .15s}.detail-tab:hover{color:var(--primary-color,#6c5ce7)}.detail-tab-active{color:var(--primary-color,#6c5ce7);border-bottom-color:var(--primary-color,#6c5ce7)}.detail-header-actions{align-items:center;gap:8px;display:flex}.modal-lg{width:90vw;max-width:720px}.modal-header{border-bottom:1px solid var(--border-color,#e0e0e0);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.modal-header h3{margin:0;font-size:1.1rem}.modal-close-btn{color:var(--text-secondary,#666);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.4rem;line-height:1}.modal-close-btn:hover{color:var(--text-primary,#333)}.modal-footer{border-top:1px solid var(--border-color,#e0e0e0);justify-content:flex-end;margin-top:16px;padding-top:12px;display:flex}.role-section{margin-bottom:20px}.role-section h4{color:var(--text-primary,#333);margin:0 0 10px;font-size:.95rem}.empty-text{color:var(--text-secondary,#666);font-style:italic}.transfers-section{padding:0}.transfers-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.transfers-header h3{margin:0}.detail-subtitle{color:var(--text-secondary,#666);margin:4px 0 16px;font-size:.85rem}.actions-inline{align-items:center;gap:4px;display:flex}.icon-action-btn{width:30px;height:30px;color:var(--text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.icon-action-btn:hover{background:var(--surface-secondary,#f1f5f9);color:var(--primary-color,#6c5ce7)}.actions-menu-wrapper{position:relative}.actions-popover{z-index:50;background:var(--surface-primary,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;min-width:180px;padding:4px 0;position:absolute;top:100%;right:0;box-shadow:0 4px 12px #0000001f}.popover-item{width:100%;color:var(--text-primary,#1e293b);cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:.85rem;transition:background .15s;display:flex}.popover-item:hover{background:var(--surface-secondary,#f1f5f9)}.popover-item--danger{color:var(--color-danger)}.bulk-selected-count{color:var(--text-secondary,#64748b);white-space:nowrap;align-self:center;font-size:.82rem;font-weight:600}.pt-status-badge{text-transform:capitalize;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600;display:inline-block}.status-pending{color:#e65100;background:#fff3e0}.status-denied{color:#c62828;background:#ffebee}.scope-readonly{background:var(--surface-secondary,#f5f5f5);color:var(--text-secondary,#666);border-radius:6px;padding:8px 12px}.sp-header{border-bottom:1px solid var(--border-color,#e0e0e0);background:linear-gradient(#faf9ff 0%,#fff 100%);padding:20px 24px 16px;position:relative}.sp-close{cursor:pointer;color:var(--text-secondary,#999);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:4px;transition:background .15s;display:flex;position:absolute;top:14px;right:14px}.sp-close:hover{background:var(--surface-secondary,#f0f0f0);color:var(--text-primary,#333)}.sp-hero{align-items:center;gap:16px;display:flex}.sp-avatar-wrapper{cursor:pointer;border-radius:50%;flex-shrink:0;position:relative;overflow:visible}.sp-avatar-img{object-fit:cover;border-radius:50%;width:56px;height:56px;display:block}.sp-avatar-overlay{color:#fff0;pointer-events:none;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:all .2s;display:flex;position:absolute;inset:0}.sp-avatar-wrapper:hover .sp-avatar-overlay{color:#fff;background:#0006}.sp-avatar-spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite sp-spin}@keyframes sp-spin{to{transform:rotate(360deg)}}.sp-type-dot{border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;display:flex;position:absolute;bottom:-2px;right:-2px;box-shadow:0 1px 3px #00000026}.sp-type-dot--athlete{background:#4caf50}.sp-type-dot--parent{background:#2196f3}.sp-type-dot--coach{background:#ff9800}.sp-type-dot--staff{background:#9c27b0}.sp-type-dot--clubmember{background:#607d8b}.sp-type-dot--unknown{background:#757575}.sp-hero-info{flex:1;min-width:0}.sp-name{color:var(--text-primary,#222);margin:0 0 4px;font-size:1.15rem;font-weight:600;line-height:1.25}.sp-badges{flex-wrap:wrap;gap:6px;margin-bottom:4px;display:flex}.sp-badge{letter-spacing:.02em;white-space:nowrap;border-radius:10px;align-items:center;gap:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.sp-badge-account{color:#2e7d32;background:#e8f5e9}.sp-badge-no-account{color:#9e9e9e;background:#f5f5f5}.sp-email{color:var(--text-secondary,#888);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.8rem;display:block;overflow:hidden}.sp-fpb-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:6px;display:flex}.sp-field-hint{color:var(--text-secondary,#888);margin:4px 0 0;font-size:.72rem}.sp-quick-actions{border-top:1px solid var(--border-color,#eee);flex-wrap:wrap;gap:8px;margin-top:16px;padding-top:16px;display:flex}.sp-action-btn{border:1px solid var(--border-color,#ddd);color:var(--text-primary,#444);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.sp-action-btn:hover{background:var(--surface-secondary,#f5f5f5);border-color:#ccc}.sp-action-btn--primary{border-color:var(--primary-color,#6c5ce7);color:var(--primary-color,#6c5ce7);background:#6c5ce70d}.sp-action-btn--primary:hover{background:#6c5ce71f}.sp-action-btn--success{color:#2e7d32;background:#4caf500d;border-color:#4caf50}.sp-action-btn--success:hover{background:#4caf501f}.sp-tabs{border-bottom:1px solid var(--border-color,#eee);background:#fff;gap:4px;padding:10px 24px;display:flex}.sp-tab{color:var(--text-secondary,#888);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:20px;align-items:center;gap:5px;padding:6px 14px;font-size:.78rem;font-weight:500;transition:all .15s;display:inline-flex}.sp-tab:hover{color:var(--text-primary,#444);background:var(--surface-secondary,#f3f3f3)}.sp-tab--active{color:var(--primary-color,#6c5ce7);background:#6c5ce71a;font-weight:600}.sp-body{flex:1;padding:0;overflow-y:auto}.sp-section{padding:18px 24px}.sp-divider{background:var(--border-color,#eee);height:1px;margin:14px 0}.sp-info-grid{grid-template-columns:1fr 1fr;gap:12px 20px;display:grid}.sp-info-item{flex-direction:column;gap:2px;display:flex}.sp-info-label{color:var(--text-secondary,#999);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;font-size:.72rem;font-weight:600;display:flex}.sp-info-value{color:var(--text-primary,#333);align-items:center;gap:4px;font-size:.88rem;display:flex}.sp-status-section,.sp-account-section{flex-direction:column;gap:8px;display:flex}.sp-status-row,.sp-account-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sp-status-btn{cursor:pointer;border:none;border-radius:5px;align-items:center;gap:4px;padding:4px 10px;font-size:.76rem;font-weight:500;transition:filter .15s;display:inline-flex}.sp-status-btn:disabled{opacity:.5;cursor:not-allowed}.sp-status-btn:hover:not(:disabled){filter:brightness(.92)}.sp-status-btn--active{color:#2e7d32;background:#e8f5e9}.sp-status-btn--suspended{color:#e65100;background:#fff3e0}.sp-status-btn--inactive{color:#546e7a;background:#eceff1}.sp-account-linked{color:#2e7d32;align-items:center;gap:4px;font-size:.82rem;display:inline-flex}.sp-account-none{color:var(--text-secondary,#999);font-size:.82rem}.sp-edit-form{flex-direction:column;gap:12px;display:flex}.sp-form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.sp-form-group{flex-direction:column;gap:4px;display:flex}.sp-form-group label{color:var(--text-secondary,#777);font-size:.75rem;font-weight:600}.sp-form-group input,.sp-form-group select{border:1px solid var(--border-color,#ddd);border-radius:6px;padding:7px 10px;font-size:.85rem;transition:border-color .15s}.sp-form-group input:focus,.sp-form-group select:focus{border-color:var(--primary-color,#6c5ce7);outline:none;box-shadow:0 0 0 2px #6c5ce71f}.sp-form-check{flex-direction:row;align-items:center}.sp-form-check label{color:var(--text-primary,#555);cursor:pointer;align-items:center;gap:6px;font-size:.82rem;display:flex}.sp-form-check input[type=checkbox]{width:auto;margin:0}.sp-form-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.sp-link-list{background:var(--border-color,#eee);border-radius:8px;flex-direction:column;gap:1px;display:flex;overflow:hidden}.sp-link-item{background:#fff;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.sp-link-item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.sp-link-item-name{color:var(--text-primary,#333);font-size:.85rem;font-weight:500}.sp-link-item-detail{color:var(--text-secondary,#888);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.sp-link-item-tag{color:var(--primary-color,#6c5ce7);text-transform:uppercase;letter-spacing:.03em;font-size:.68rem;font-weight:600}.sp-link-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:4px;align-items:center;gap:3px;padding:3px 8px;font-size:.74rem;font-weight:500;transition:filter .15s;display:inline-flex}.sp-link-btn:hover{filter:brightness(.9)}.sp-link-btn--danger{color:#c62828;background:#ffebee}.sp-section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sp-section-header h3{color:var(--text-primary,#333);margin:0;font-size:.92rem;font-weight:600}.sp-empty{text-align:center;color:var(--text-secondary,#999);padding:24px 16px;font-size:.84rem}.sp-career-table{border-collapse:collapse;width:100%;font-size:.82rem}.sp-career-table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#888);border-bottom:1px solid var(--border-color,#eee);padding:8px 10px;font-size:.7rem;font-weight:600}.sp-career-table td{color:var(--text-primary,#333);border-bottom:1px solid var(--border-color,#f2f2f2);vertical-align:top;padding:9px 10px}.sp-career-table tbody tr:last-child td{border-bottom:none}.role-inline{font-size:.85rem}.role-inline .role-section{margin-bottom:16px}.role-inline .role-section h4{color:var(--text-secondary,#777);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:.82rem;font-weight:600}.role-inline .role-table{border-collapse:collapse;width:100%;font-size:.78rem}.role-inline .role-table th{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#999);border-bottom:1px solid var(--border-color,#eee);text-align:left;padding:6px 8px;font-size:.7rem;font-weight:600}.role-inline .role-table td{border-bottom:1px solid var(--border-color,#f0f0f0);padding:6px 8px}.role-inline .role-assign-form .form-row{flex-direction:column;gap:8px;display:flex}.role-inline .role-assign-form .form-group{flex-direction:column;gap:3px;display:flex}.role-inline .role-assign-form label{color:var(--text-secondary,#777);font-size:.72rem;font-weight:600}.role-inline .role-select{border:1px solid var(--border-color,#ddd);border-radius:6px;padding:6px 10px;font-size:.82rem}.role-inline .submit-btn{width:100%;margin-top:8px}.th-season-dates{color:#888;white-space:nowrap;font-size:13px}.th-season-loading{color:#888;font-size:13px}.th-season-add-btn{color:#667eea;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:500;transition:background .2s}.th-season-add-btn:hover{background:#f0f0ff}.th-team-form{margin-bottom:16px}.th-team-form-row{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.th-team-form-row .form-field{flex:1;min-width:170px;margin-bottom:0}.th-team-form-row .th-checkbox-label,.th-team-form-row .btn{margin-top:26px}.th-checkbox-label{color:#555;white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:14px;display:flex}.th-checkbox-label input[type=checkbox]{margin:0}.th-info-banner{color:#2563eb;background:#ebf5ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:14px}.th-row-selected{background:#f0f0ff!important}.facility-management{padding:0}.facility-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.facility-header h2{color:#333;margin:0;font-size:1.3rem}.facility-form-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000000f}.facility-form-card h3{color:#333;margin:0 0 16px;font-size:1.1rem}.form-group input,.form-group select{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .2s}.facility-management .btn-link{color:#667eea;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;font-weight:600}.facility-management .btn-link:hover{text-decoration:underline}.facility-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.facility-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;transition:box-shadow .2s;overflow:hidden}.facility-card:hover{box-shadow:0 4px 16px #00000014}.facility-card-header{justify-content:space-between;align-items:center;padding:16px 20px 8px;display:flex}.facility-card-header h3{color:#333;margin:0;font-size:1.05rem}.facility-card-actions{gap:4px;display:flex}.facility-card-body{padding:0 20px 12px}.facility-address,.facility-hours,.facility-locality{color:#666;align-items:center;gap:6px;margin:6px 0;font-size:.9rem;display:flex}.facility-header-actions{align-items:center;gap:8px;display:flex}.facility-card__badge{align-items:center;gap:4px;margin-bottom:8px;display:inline-flex}.facility-claims{flex-direction:column;gap:12px;margin:0 0 20px;padding:0;list-style:none;display:flex}.facility-claim-card{background:#f5f8ff;border:1px solid #c7d9ff;border-left:4px solid #3b6fe0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.facility-claim-card--neutral{background:#fffaf0;border-color:#f0dca8 #f0dca8 #f0dca8 #d99a2b}.facility-claim-card__body{flex-direction:column;gap:4px;min-width:220px;display:flex}.facility-claim-card__name{color:#333;margin:4px 0 0;font-size:1.05rem}.facility-claim-card__locality{color:#666;align-items:center;gap:6px;margin:0;font-size:.9rem;display:flex}.facility-claim-card__pill{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.facility-claim-card__hint{color:#777;margin:4px 0 0;font-size:.85rem}.facility-claim-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.facility-card-footer{background:#fafafa;border-top:1px solid #f0f0f0;padding:12px 20px}.venues-directory{padding:0}.venues-directory__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.venues-directory__title{color:#333;margin:0;font-size:1.3rem}.venues-directory__helper{color:#666;max-width:640px;margin:6px 0 0;font-size:.9rem}.venues-directory__count{color:#666;white-space:nowrap;background:#f3f4f6;border-radius:999px;padding:4px 12px;font-size:.85rem}.venues-directory__search{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.venues-directory__field{flex-direction:column;flex:220px;gap:6px;display:flex}.venues-directory__field label{color:#555;font-size:.85rem;font-weight:600}.venues-directory__field input{box-sizing:border-box;border:1px solid #ddd;border-radius:8px;padding:9px 12px;font-size:.95rem}.venues-directory__field input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.venues-directory__clear{flex:none}.venues-directory__degraded{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:8px 14px;font-size:.88rem;display:flex}.venues-directory__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.venue-row{background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.venue-row__main{flex-direction:column;flex:240px;gap:4px;min-width:0;display:flex}.venue-row__name{color:#333;font-size:1rem;font-weight:600}.venue-row__locality{color:#666;align-items:center;gap:5px;font-size:.85rem;display:inline-flex}.venue-row__muted{color:#aaa}.venue-row__meta{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.venue-row__attribution{align-items:center;gap:5px;display:inline-flex}.venue-row__indicator{color:#667eea;align-items:center;display:inline-flex}.venue-row__actions{align-items:center;gap:8px;margin-left:auto;display:flex}.venues-directory__more{justify-content:center;margin-top:16px;display:flex}.venues-directory .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.venue-gps-editor__hint{color:#666;margin:0 0 12px;font-size:.85rem}.venue-gps-editor__inputs{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px;display:grid}.venue-gps-editor__surface{touch-action:none;cursor:crosshair;background:linear-gradient(135deg,#eef1f8 0%,#e4e9f5 100%),repeating-linear-gradient(0deg,#667eea14 0 1px,#0000 1px 28px),repeating-linear-gradient(90deg,#667eea14 0 1px,#0000 1px 28px);border:1px solid #dfe5f5;border-radius:8px;height:200px;position:relative;overflow:hidden}.venue-gps-editor__pin{cursor:grab;color:#e2483d;background:0 0;border:none;border-radius:50%;padding:4px;line-height:0;position:absolute;transform:translate(-50%,-100%)}.venue-gps-editor__pin:active{cursor:grabbing}.venue-gps-editor__pin:focus-visible{outline-offset:2px;outline:3px solid #667eea}.venue-gps-editor__footer{margin-top:10px}.venue-gps-editor__clear{color:#667eea;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.venue-gps-editor__clear:hover{text-decoration:underline}.venue-gps-editor__muted{color:#999;margin:0;font-size:.9rem;font-style:italic}.venue-gps-editor__readout{color:#555;font-variant-numeric:tabular-nums;margin:8px 0 0;font-size:.9rem}.venue-photo-manager__count{color:#666;margin:0 0 12px;font-size:.88rem}.venue-photo-manager__list{flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.venue-photo-manager__item{background:#fff;border:1px solid #e0e0e0;border-radius:10px;align-items:center;gap:12px;padding:8px;display:flex}.venue-photo-manager__thumb{object-fit:cover;border:1px solid #e0e0e0;border-radius:8px;flex:none;width:72px;height:56px}.venue-photo-manager__position{color:#888;font-variant-numeric:tabular-nums;flex:none;font-size:.78rem}.venue-photo-manager__alt{color:#444;text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;font-size:.9rem;overflow:hidden}.venue-photo-manager__item-actions{flex:none;gap:6px;display:flex}.venue-photo-manager .btn-icon{color:#555;cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.venue-photo-manager .btn-icon:hover:not(:disabled){color:#667eea;border-color:#667eea}.venue-photo-manager .btn-icon:focus-visible{outline-offset:2px;outline:3px solid #667eea}.venue-photo-manager .btn-icon:disabled{opacity:.4;cursor:not-allowed}.venue-photo-manager .btn-icon--danger:hover:not(:disabled){color:#e2483d;border-color:#e2483d}.venue-photo-manager__rot-up,.venue-photo-manager__rot-down{transform:rotate(90deg)}.venue-photo-manager__empty{color:#999;margin:0 0 14px;font-size:.9rem;font-style:italic}.venue-photo-manager__add{border-top:1px solid #eee;padding-top:14px}.venue-photo-manager__add-title{color:#333;margin:0 0 12px;font-size:.92rem}.venue-photo-manager__full{color:#b54708;margin:8px 0 0;font-size:.85rem}.venue-editor{max-width:760px;padding:0 0 88px}.venue-editor .btn-back{color:#667eea;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.venue-editor .btn-back:hover{text-decoration:underline}.venue-editor__header{margin-bottom:20px}.venue-editor__title{color:#333;margin:0;font-size:1.3rem}.venue-editor__subtitle{color:#666;margin:4px 0 0;font-size:.95rem}.venue-editor__section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:18px 20px}.venue-editor__section h3{color:#333;margin:0 0 14px;font-size:1rem}.venue-editor input,.venue-gps-editor input,.venue-photo-manager input{box-sizing:border-box;color:#333;background:#fff;border:1px solid #ccc;border-radius:8px;width:100%;padding:9px 12px;font-size:.95rem}.venue-editor input:focus,.venue-gps-editor input:focus,.venue-photo-manager input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.venue-editor__visibility-note{color:#555;background:#f3f5fb;border:1px solid #dfe5f5;border-radius:8px;align-items:flex-start;gap:8px;margin:4px 0 20px;padding:12px 14px;font-size:.9rem;display:flex}.venue-editor__footer{background:linear-gradient(#fff0,#fff 30%);justify-content:flex-end;gap:12px;padding:14px 0;display:flex;position:sticky;bottom:0}.venue-editor .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.venue-detail{max-width:760px;padding:0}.venue-detail .btn-back{color:#667eea;cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:16px;padding:0;font-size:.9rem;font-weight:600;display:inline-flex}.venue-detail .btn-back:hover{text-decoration:underline}.venue-detail__header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.venue-detail__name{color:#333;margin:0;font-size:1.4rem}.venue-detail__locality{color:#666;align-items:center;gap:6px;margin:6px 0 0;font-size:.95rem;display:inline-flex}.venue-detail__header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.venue-detail__attribution{align-items:center;gap:6px;display:inline-flex}.venue-detail__section{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:16px;padding:18px 20px}.venue-detail__section h3{color:#333;margin:0 0 12px;font-size:1rem}.venue-detail__row{color:#444;margin:6px 0;font-size:.95rem}.venue-detail__label{color:#555;font-weight:600}.venue-detail__muted{color:#999;margin:4px 0;font-size:.9rem;font-style:italic}.venue-detail__map{color:#667eea;background:linear-gradient(135deg,#eef1f8 0%,#e4e9f5 100%);border-radius:8px;justify-content:center;align-items:center;height:180px;margin-bottom:10px;display:flex}.venue-detail__coords{color:#555;font-variant-numeric:tabular-nums;margin:8px 0;font-size:.9rem}.venue-detail__map-link{color:#667eea;align-items:center;gap:6px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.venue-detail__map-link:hover{text-decoration:underline}.venue-detail__photos{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.venue-detail__photo img{object-fit:cover;border:1px solid #e0e0e0;border-radius:8px;width:100%;height:110px;display:block}.venues-area{padding:0}.venues-area__tabs{border-bottom:1px solid #e0e0e0;gap:4px;margin-bottom:24px;display:flex}.venues-area__tab{color:#777;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 16px;font-size:.95rem;font-weight:600}.venues-area__tab:hover{color:#555}.venues-area__tab--active{color:#667eea;border-bottom-color:#667eea}.venues-area__tab:focus-visible{outline-offset:2px;border-radius:4px;outline:2px solid #667eea}.layout-config-panel{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000000f}.layout-config-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.layout-config-header h3{color:#333;margin:0;font-size:1.1rem}.btn-close{cursor:pointer;color:#999;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1.2rem;transition:background .2s}.layout-config-description{color:#666;margin:0 0 16px;font-size:.9rem}.layout-type-grid{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.layout-type-card{border:2px solid #e0e0e0;border-radius:10px;align-items:center;gap:16px;padding:16px;transition:border-color .2s,background .2s;display:flex}.layout-type-card.active{background:#f0f2ff;border-color:#667eea}.layout-type-card.inactive{background:#fafafa;border-color:#e0e0e0}.layout-type-visual{background:#f5f5f5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.3rem;display:flex}.layout-type-card.active .layout-type-visual{background:#e0e4ff}.layout-type-info{flex:1;min-width:0}.layout-type-label{color:#333;font-size:1rem;font-weight:600}.layout-type-segments{color:#667eea;margin-top:2px;font-size:.85rem;font-weight:500}.layout-type-desc{color:#888;margin-top:2px;font-size:.8rem}.layout-type-actions{flex-direction:column;flex-shrink:0;gap:6px;display:flex}.btn-toggle{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:6px;min-width:90px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s}.btn-toggle-active{color:#fff;background:#667eea;border-color:#667eea}.btn-toggle-active:hover{background:#e53e3e;border-color:#e53e3e}.btn-toggle-inactive{color:#667eea;background:#fff;border-color:#667eea}.btn-toggle-inactive:hover{color:#fff;background:#667eea}.btn-toggle:disabled{opacity:.6;cursor:not-allowed}.btn-default{cursor:pointer;color:#666;text-align:center;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:500;transition:all .2s}.btn-default:hover:not(:disabled){color:#92400e;background:#fef3c7;border-color:#f59e0b}.btn-default-active{color:#92400e;cursor:default;background:#fef3c7;border-color:#f59e0b}.btn-default:disabled{opacity:.8;cursor:default}.layout-summary{color:#555;background:#f9fafb;border-radius:8px;padding:12px 14px;font-size:.9rem}.layout-summary-tag{color:#667eea;font-weight:500}.court-rate-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.court-rate-panel{background:var(--bg-primary,#fff);border-radius:12px;width:90%;max-width:900px;max-height:85vh;padding:24px;overflow-y:auto;box-shadow:0 8px 32px #00000026}.rate-panel-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.rate-panel-header h3{margin:0;font-size:1.25rem}.btn-close:hover{background:var(--bg-hover,#f0f0f0)}.rate-toolbar{justify-content:flex-end;margin-bottom:16px;display:flex}.rate-form-card{background:var(--bg-secondary,#f8f9fa);border:1px solid var(--border-color,#e0e0e0);border-radius:8px;margin-bottom:16px;padding:20px}.rate-form-card h4{margin:0 0 12px}.rate-form-card .form-error{color:#d32f2f;background:#fff2f2;border-radius:4px;margin-bottom:10px;padding:6px 10px;font-size:.85rem}.rate-form-card .form-row{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.rate-form-card .form-row label{flex-direction:column;flex:1;gap:4px;min-width:140px;font-size:.85rem;font-weight:500;display:flex}.rate-form-card .form-row input,.rate-form-card .form-row select{border:1px solid var(--border-color,#d0d0d0);border-radius:6px;padding:8px 10px;font-size:.9rem}.checkbox-label{align-items:center;flex-direction:row!important;gap:8px!important}.checkbox-hint{color:var(--text-secondary,#888);font-size:.8rem;font-weight:400}.rate-form-card .form-actions{gap:8px;margin-top:8px;display:flex}.rate-table{border-collapse:collapse;width:100%;font-size:.9rem}.rate-table th{text-align:left;border-bottom:2px solid var(--border-color,#e0e0e0);text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary,#666);padding:10px 12px;font-size:.8rem;font-weight:600}.rate-table td{border-bottom:1px solid var(--border-color,#f0f0f0);padding:10px 12px}.rate-table .active-rate{background:var(--bg-success-subtle,#f0fdf4)}.rate-table .inactive-rate{opacity:.7}.rate-amount{font-variant-numeric:tabular-nums;font-weight:600}.layout-badge{background:var(--bg-secondary,#e9ecef);border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:500;display:inline-block}.layout-badge.layout-full{color:#1e40af;background:#dbeafe}.layout-badge.layout-split2{color:#92400e;background:#fef3c7}.layout-badge.layout-split3{color:#5b21b6;background:#ede9fe}.btn-icon{cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem}.btn-icon:hover{opacity:.7}.seating-plan-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.seating-plan-panel{background:var(--bg-primary,#fff);border-radius:12px;flex-direction:column;width:100%;max-width:1200px;max-height:90vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}.seating-plan-header{border-bottom:1px solid var(--border-color,#e5e7eb);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.seating-plan-title{align-items:center;gap:10px;display:flex}.seating-plan-title h3{margin:0;font-size:1.1rem;font-weight:600}.seating-plan-header-actions{align-items:center;gap:10px;display:flex}.total-capacity-badge{background:var(--bg-secondary,#f3f4f6);color:var(--text-secondary,#6b7280);border-radius:20px;padding:4px 12px;font-size:.8rem;font-weight:600}.seating-plan-body{flex:1;min-height:0;display:flex;overflow:hidden}.court-canvas-container{flex:1;justify-content:stretch;align-items:stretch;padding:16px;display:flex;overflow:hidden}.venue-canvas{cursor:default;-webkit-user-select:none;user-select:none;background:#2d2d3d radial-gradient(circle,#ffffff08 0%,#0000 70%);border:2px solid #444;border-radius:8px;width:100%;height:100%;min-height:400px;position:relative;overflow:hidden}.court-object{cursor:grab;z-index:1;background:#c68642 repeating-linear-gradient(90deg,#0000,#0000 9.6%,#0000000a 9.6% 10.4%);border:2px solid #ffffff40;border-radius:3px;transition:box-shadow .15s;position:absolute;box-shadow:0 4px 20px #0006,inset 0 0 20px #0000001f}.court-object:active{cursor:grabbing}.court-object:hover{box-shadow:0 4px 20px #0006,inset 0 0 20px #0000001f,0 0 0 2px #ffffff4d}.court-object.selected{z-index:2;box-shadow:0 4px 20px #0006,inset 0 0 20px #0000001f,0 0 0 3px #fff}.court-label{color:#ffffff59;text-transform:uppercase;letter-spacing:1px;pointer-events:none;font-size:.55rem;position:absolute;bottom:4px;right:6px}.court-resize-handle{cursor:nw-resize;opacity:0;z-index:5;background:#ffffff80;border-radius:2px 0 3px;width:14px;height:14px;transition:opacity .15s;position:absolute;bottom:-1px;right:-1px}.court-object:hover .court-resize-handle,.court-object.selected .court-resize-handle{opacity:1}.court-floor{pointer-events:none;position:absolute;inset:0}.court-center-line{background:#ffffff8c;width:2px;position:absolute;top:0;bottom:0;left:50%}.court-center-circle{aspect-ratio:50/94;border:2px solid #ffffff8c;border-radius:50%;width:12.8%;height:24%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.court-key{border:2px solid #ffffff80;width:20.2%;height:32%;position:absolute;top:50%;transform:translateY(-50%)}.court-key-left{border-left:none;left:0}.court-key-right{border-right:none;right:0}.court-ft-circle{border:2px solid #ffffff59;border-radius:50%;width:12.8%;height:24%;position:absolute;top:50%;transform:translateY(-50%)}.court-ft-circle-left{left:13.8%;transform:translate(-50%,-50%)}.court-ft-circle-right{right:13.8%;transform:translate(50%,-50%)}.court-three-point{border:2px solid #fff6;width:25.3%;height:88%;position:absolute;top:50%;transform:translateY(-50%)}.court-three-point-left{border-left:none;border-radius:0 50% 50% 0;left:0}.court-three-point-right{border-right:none;border-radius:50% 0 0 50%;right:0}.court-backboard{background:#fff9;width:2px;height:12%;position:absolute;top:50%;transform:translateY(-50%)}.court-backboard-left{left:4.3%}.court-backboard-right{right:4.3%}.court-rim{border:2px solid #ff7832b3;border-radius:50%;width:1.9%;height:3.6%;position:absolute;top:50%;transform:translateY(-50%)}.court-rim-left{left:4.5%}.court-rim-right{right:4.5%}.court-restricted{border:2px solid #ffffff4d;border-radius:50%;width:8.5%;height:16%;position:absolute;top:50%;transform:translateY(-50%)}.court-restricted-left{clip-path:inset(0 0 0 50%);border-left:none;border-radius:0 50% 50% 0;left:0}.court-restricted-right{clip-path:inset(0 50% 0 0);border-right:none;border-radius:50% 0 0 50%;right:0}.seating-section-box{cursor:grab;z-index:3;border:2px solid;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;min-width:30px;min-height:20px;transition:box-shadow .15s;display:flex;position:absolute}.seating-section-box:hover{box-shadow:0 0 0 2px #ffffff59}.seating-section-box.selected{z-index:10;box-shadow:0 0 0 3px #fff,0 0 12px #ffffff40}.seating-section-box:active{cursor:grabbing}.section-box-label{text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px #0000004d;pointer-events:none;font-size:.75rem;font-weight:700;line-height:1}.section-box-capacity{color:#fffc;pointer-events:none;margin-top:2px;font-size:.6rem}.section-resize-handle{cursor:nwse-resize;opacity:0;background:#ffffff80;border-radius:2px 0 4px;width:12px;height:12px;transition:opacity .15s;position:absolute;bottom:-2px;right:-2px}.seating-section-box:hover .section-resize-handle,.seating-section-box.selected .section-resize-handle{opacity:1}.seating-plan-sidebar{border-left:1px solid var(--border-color,#e5e7eb);flex-direction:column;flex-shrink:0;width:300px;display:flex;overflow-y:auto}.sidebar-section-list{border-bottom:1px solid var(--border-color,#e5e7eb);padding:16px}.sidebar-section-list>.sidebar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sidebar-section-list>.sidebar-header h4{margin:0;font-size:.9rem;font-weight:600}.btn-icon-danger{color:var(--text-secondary,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;transition:color .15s,background .15s;display:flex}.btn-icon-danger:hover{color:#ef4444;background:#ef44441a}.section-list{flex-direction:column;gap:4px;display:flex}.section-list-item{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.section-list-item:hover{background:var(--bg-secondary,#f3f4f6)}.section-list-item.active{background:var(--primary-color,#3b82f6)10;outline:2px solid var(--primary-color,#3b82f6)}.section-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.section-list-info{flex-direction:column;flex:1;min-width:0;display:flex}.section-list-name{white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;font-weight:600;overflow:hidden}.section-list-capacity{color:var(--text-secondary,#9ca3af);font-size:.7rem}.section-property-editor{flex:1;padding:16px}.section-property-editor h4{margin:0 0 12px;font-size:.9rem;font-weight:600}.property-group{margin-bottom:12px}.property-group label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.3px;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.property-group input[type=text],.property-group input[type=number]{border:1px solid var(--border-color,#d1d5db);background:var(--bg-primary,#fff);width:100%;color:var(--text-primary,#111827);box-sizing:border-box;border-radius:6px;padding:6px 10px;font-size:.85rem}.property-group input:focus{border-color:var(--primary-color,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.property-row{gap:8px;display:flex}.property-group.half{flex:1}.color-picker-row{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.color-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:24px;height:24px;padding:0;transition:transform .1s,border-color .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch.active{border-color:var(--text-primary,#111827);transform:scale(1.15)}.success-banner{color:#065f46;background:#ecfdf5;border-bottom:1px solid #a7f3d0;padding:8px 16px;font-size:.85rem}@media (width<=900px){.seating-plan-body{flex-direction:column}.seating-plan-sidebar{border-left:none;border-top:1px solid var(--border-color,#e5e7eb);width:100%;max-height:300px}.venue-canvas{min-height:280px}}.court-management{padding:0}.court-nav{align-items:center;gap:12px;margin-bottom:20px;display:flex}.court-breadcrumb{color:#667eea;font-size:1rem;font-weight:600}.court-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.court-header h2{color:#333;margin:0;font-size:1.3rem}.court-form-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;margin-bottom:24px;padding:24px;box-shadow:0 2px 8px #0000000f}.court-form-card h3{color:#333;margin:0 0 16px;font-size:1.1rem}.form-checkbox label{cursor:pointer;color:#333;align-items:center;gap:10px;font-size:.95rem;font-weight:600;display:flex}.form-checkbox input[type=checkbox]{cursor:pointer;width:18px;height:18px}.checkbox-hint{color:#888;margin-left:4px;font-size:.85rem;font-weight:400}.court-table-container{background:#fff;border:1px solid #e0e0e0;border-radius:12px;overflow:auto hidden}.court-table{border-collapse:collapse;width:100%}.court-table thead{background:#f8f8f8}.court-table th{text-align:left;color:#666;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e0e0e0;padding:12px 16px;font-size:.85rem;font-weight:600}.court-table td{border-bottom:1px solid #f0f0f0;padding:14px 16px;font-size:.95rem}.court-table tr:last-child td{border-bottom:none}.court-table tr:hover{background:#fafafa}.court-name{color:#333;font-weight:600}.capability-tag{color:#1565c0;background:#e3f2fd;border-radius:6px;margin:2px 4px 2px 0;padding:3px 8px;font-size:.8rem;font-weight:500;display:inline-block}.court-capabilities{max-width:300px}.text-muted{color:#ccc}.btn-action-label{color:#4f46e5;cursor:pointer;white-space:nowrap;background:#eef2ff;border:1px solid #c7d2fe;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.btn-action-label:hover{background:#e0e7ff;border-color:#a5b4fc}.reservation-management{padding:0}.reservation-management .section-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.reservation-management .section-header h2{margin:0;font-size:1.5rem}.filter-bar{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:12px 16px;display:flex}.filter-bar select,.filter-bar input[type=date]{border:1px solid #ddd;border-radius:6px;padding:6px 10px;font-size:.875rem}.data-table{border-collapse:collapse;width:100%;font-size:.875rem}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #eee;padding:10px 12px}.data-table th{color:#555;background:#f8f9fa;font-weight:600}.data-table tbody tr:hover{background:#f5f7ff}.data-table .actions{white-space:nowrap}.modal-content{background:#fff;border-radius:12px;width:95%;max-width:700px;max-height:90vh;padding:28px 32px;overflow-y:auto;box-shadow:0 8px 32px #0000002e}.modal-content h3{margin:0 0 16px}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-grid .full-width{grid-column:1/-1}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;width:100%;padding:8px 10px;font-size:.875rem}.reservation-management .btn-text{color:#667eea;cursor:pointer;background:0 0;border:none;font-size:.875rem;font-weight:600}.reservation-management .btn-icon{cursor:pointer;background:0 0;border:none;padding:4px;font-size:1rem}.btn-icon.danger:hover{opacity:.7}.attendance-view{padding:0}.attendance-view .section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;display:flex}.attendance-view .header-left{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.attendance-view .reservation-context{color:#6b7280;font-size:.95rem;font-weight:400}.attendance-view .btn-back{cursor:pointer;color:#374151;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:6px 14px;transition:all .2s}.attendance-view .btn-back:hover{background:#f3f4f6}.attendance-summary{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.summary-card{text-align:center;border:1px solid #e5e7eb;border-radius:10px;flex:1;min-width:100px;padding:16px}.summary-card .summary-count{margin-bottom:4px;font-size:1.8rem;font-weight:700;line-height:1}.summary-card .summary-label{text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.summary-card.total{color:#3730a3;background:#f0f4ff;border-color:#c7d2fe}.summary-card.present{color:#065f46;background:#ecfdf5;border-color:#a7f3d0}.summary-card.late{color:#92400e;background:#fefce8;border-color:#fde68a}.summary-card.absent{color:#991b1b;background:#fef2f2;border-color:#fecaca}.summary-card.excused{color:#1e40af;background:#eff6ff;border-color:#bfdbfe}.session-info{color:#6b7280;margin-bottom:16px;font-size:.9rem}.attendance-table{border-collapse:collapse;width:100%;font-size:.9rem}.attendance-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:10px 12px;font-weight:600}.attendance-table td{vertical-align:middle;border-bottom:1px solid #f3f4f6;padding:10px 12px}.attendance-table tbody tr:hover{background:#f9fafb}.notes-cell{text-overflow:ellipsis;white-space:nowrap;color:#6b7280;max-width:200px;overflow:hidden}.quick-actions{gap:4px;display:flex}.btn-status{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-size:.75rem;font-weight:700;transition:all .15s;display:flex}.btn-status:hover:not(:disabled){transform:scale(1.1)}.btn-status:disabled{cursor:default;opacity:.4}.btn-status.status-present{color:#065f46;border-color:#a7f3d0}.btn-status.status-present:hover:not(:disabled),.btn-status.status-present.active{background:#d1fae5}.btn-status.status-absent{color:#991b1b;border-color:#fecaca}.btn-status.status-absent:hover:not(:disabled),.btn-status.status-absent.active{background:#fee2e2}.btn-status.status-late{color:#92400e;border-color:#fde68a}.btn-status.status-late:hover:not(:disabled),.btn-status.status-late.active{background:#fef3c7}.btn-status.status-excused{color:#1e40af;border-color:#bfdbfe}.btn-status.status-excused:hover:not(:disabled),.btn-status.status-excused.active{background:#dbeafe}.updating{color:#6b7280;font-size:.8rem;font-style:italic}.row-status-present{border-left:3px solid #10b981}.row-status-absent{border-left:3px solid #ef4444}.row-status-late{border-left:3px solid #f59e0b}.row-status-excused{border-left:3px solid #3b82f6}.header-actions{align-items:center;gap:8px;display:flex}.bulk-dropdown{display:inline-block;position:relative}.btn-bulk{font-weight:600}.bulk-dropdown-content{z-index:10;background:#fff;border:1px solid #d1d5db;border-radius:8px;min-width:160px;display:none;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 12px #0000001a}.bulk-dropdown:hover .bulk-dropdown-content{display:block}.bulk-option{text-align:left;cursor:pointer;background:#fff;border:none;width:100%;padding:8px 14px;font-size:.85rem;font-weight:500;transition:background .15s;display:block}.bulk-option:hover:not(:disabled){background:#f3f4f6}.bulk-option:disabled{opacity:.4;cursor:not-allowed}.bulk-option.status-present{color:#065f46}.bulk-option.status-absent{color:#991b1b}.bulk-option.status-late{color:#92400e}.bulk-option.status-excused{color:#1e40af}.attendance-badge-group{align-items:center;gap:6px;display:inline-flex}.clickable-status{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:4px;transition:background .15s}.clickable-status:hover{background:#f0f4ff}.modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:420px;padding:24px;box-shadow:0 8px 32px #00000026}.modal-content h3{color:#111827;margin:0 0 8px;font-size:1.1rem}.modal-subtitle{color:#6b7280;margin:0 0 16px;font-size:.9rem}.modal-label{color:#374151;margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.modal-textarea{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:8px 12px;font-family:inherit;font-size:.9rem}.modal-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.game-management{padding:0}.game-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.game-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.game-filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:180px;padding:.5rem .75rem;font-size:.875rem}.game-table-container{overflow-x:auto}.game-table{border-collapse:collapse;width:100%;font-size:.875rem}.game-table th,.game-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.game-table th{color:#374151;white-space:nowrap;background:#f9fafb;font-weight:600}.game-table tbody tr:hover{background:#f3f4f6}.requirements-cell{align-items:center;gap:.25rem;display:flex}.req-badge{cursor:default;font-size:1.1rem}.no-reqs{color:#9ca3af;font-size:.8rem;font-style:italic}.game-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.game-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000026}.game-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.game-modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.game-form{padding:1.5rem}.form-group select,.form-group textarea{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.875rem}.form-group textarea{resize:vertical;font-family:inherit}.checkbox-row{flex-wrap:wrap;gap:1.5rem;margin-top:.25rem;display:flex}.checkbox-label{color:#374151;cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex;font-weight:400!important}.checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.form-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin:0 1.5rem;padding:.75rem 1rem;font-size:.875rem}.cancel-reason{cursor:help;margin-left:.3rem;font-size:.85rem}.actions-cell{flex-wrap:wrap;gap:.35rem;display:flex}.game-action-links{align-items:center;gap:.25rem;display:inline-flex}.game-action-link{border:1px solid var(--gray-300);border-radius:var(--radius-sm);width:26px;height:26px;color:var(--gray-600);background:#fff;justify-content:center;align-items:center;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.game-action-link:hover,.game-action-link:focus-visible{background:var(--gray-100);color:var(--gray-900)}.lifecycle-modal{max-width:480px}.lifecycle-body{padding:1rem 0}.lifecycle-body p{margin:0 0 .75rem;line-height:1.5}.lifecycle-hint{color:#666;font-size:.85rem;font-style:italic}.lifecycle-warning{color:#c62828;background:#fff3f3;border-left:3px solid #c62828;border-radius:4px;padding:.5rem .75rem;font-size:.85rem;font-weight:500}.game-success{color:#2e7d32;background-color:#e8f5e9;border:1px solid #c8e6c9;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-weight:500}@media (width<=640px){.form-row{grid-template-columns:1fr}.game-toolbar{flex-direction:column;align-items:stretch}.game-filters,.actions-cell{flex-direction:column}}.away-venue-chip{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.away-venue-chip__badge{align-items:center;gap:5px;display:inline-flex}.away-venue-chip__name{color:#444;align-items:center;gap:5px;font-size:.9rem;display:inline-flex}.away-venue-chip__link{color:#667eea;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:.88rem;font-weight:600;display:inline-flex}.away-venue-chip__link:hover{text-decoration:underline}.away-venue-chip--orphan{flex-direction:column;align-items:flex-start;gap:2px}.away-venue-chip__hint{color:#999;font-size:.82rem;font-style:italic}.game-detail{max-width:700px;padding:0}.btn-back{color:#4b5563;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;margin-bottom:1.25rem;padding:.4rem .75rem;font-size:.85rem;transition:all .2s}.btn-back:hover{color:#1f2937;background:#f3f4f6}.game-detail-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.game-status{text-transform:uppercase;letter-spacing:.5px;border-radius:16px;padding:.3rem .75rem;font-size:.8rem;font-weight:600}.game-status.upcoming{color:#1e40af;background:#dbeafe}.game-status.past{color:#6b7280;background:#f3f4f6}.game-format-badge{border-radius:12px;padding:.25rem .65rem;font-size:.75rem;font-weight:500}.game-format-badge.format-0{color:#1e40af;background:#dbeafe}.game-format-badge.format-1{color:#92400e;background:#fef3c7}.game-format-badge.format-2{color:#5b21b6;background:#ede9fe}.game-format-badge.format-3{color:#065f46;background:#d1fae5}.game-matchup{background:linear-gradient(135deg,#eff6ff,#f0fdf4);border-radius:12px;justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:1.75rem;display:flex}.matchup-team{flex-direction:column;flex:1;align-items:center;gap:.25rem;display:flex}.matchup-team .team-label{color:#9ca3af;text-transform:uppercase;letter-spacing:1px;font-size:.7rem;font-weight:600}.matchup-team .team-name{color:#1f2937;text-align:center;font-size:1.25rem;font-weight:700}.matchup-vs{color:#d1d5db;letter-spacing:2px;font-size:1.5rem;font-weight:800}.game-detail-section{border-bottom:1px solid #f3f4f6;padding:1rem 0}.game-detail-section:last-child{border-bottom:none}.game-detail-section h3{color:#374151;margin:0 0 .75rem;font-size:.95rem}.game-detail-section.metadata{opacity:.6;font-size:.85rem}.detail-row{justify-content:space-between;align-items:flex-start;gap:1rem;padding:.35rem 0;display:flex}.detail-label{color:#6b7280;flex-shrink:0;min-width:90px;font-size:.85rem}.detail-value{color:#1f2937;text-align:right;flex:1;font-size:.85rem}.detail-value.requirements{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.req-tag{white-space:nowrap;background:#f3f4f6;border-radius:6px;padding:.2rem .5rem;font-size:.75rem}.detail-action-links{flex-wrap:wrap;gap:.5rem;display:flex}.detail-action-link{border:1px solid var(--gray-300);border-radius:var(--radius-sm);color:var(--gray-700);background:#fff;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.85rem;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.detail-action-link:hover,.detail-action-link:focus-visible{background:var(--gray-100);color:var(--gray-900)}@media (width<=640px){.game-matchup{flex-direction:column;gap:.75rem;padding:1.25rem}.matchup-vs,.matchup-team .team-name{font-size:1rem}.detail-row{flex-direction:column;gap:.2rem}.detail-value{text-align:left}.detail-value.requirements{justify-content:flex-start}}.game-list{padding:0}.game-list-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.game-list-header h2{color:#1f2937;margin:0;font-size:1.5rem}.game-list-filters{gap:.5rem;display:flex}.filter-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:20px;padding:.4rem 1rem;font-size:.8rem;font-weight:500;transition:all .2s}.filter-btn:hover{color:#374151;background:#f3f4f6}.filter-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.game-cards{flex-direction:column;gap:.75rem;display:flex}.game-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:1.25rem;padding:1rem 1.25rem;transition:all .2s;display:flex;position:relative}.game-card:hover{border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 2px 8px #2563eb14}.game-card:focus{outline-offset:2px;outline:2px solid #2563eb}.game-card.game-past{opacity:.7}.game-card.game-past:hover{opacity:.85}.game-card-date{border-right:2px solid #e5e7eb;flex-direction:column;align-items:center;min-width:90px;padding-right:1rem;display:flex}.game-date{color:#374151;font-size:.8rem;font-weight:600}.game-time{color:#6b7280;margin-top:2px;font-size:.75rem}.game-card-teams{flex:1;align-items:center;gap:.5rem;min-width:200px;display:flex}.home-team{color:#1f2937;font-size:.95rem;font-weight:600}.vs-label{color:#9ca3af;text-transform:uppercase;font-size:.7rem;font-weight:700}.away-team{color:#4b5563;font-size:.95rem;font-weight:500}.game-card-info{flex-direction:column;align-items:flex-end;gap:.25rem;min-width:150px;display:flex}.game-venue{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;max-width:220px;font-size:.8rem;overflow:hidden}.game-format{border-radius:10px;padding:.15rem .5rem;font-size:.7rem;font-weight:500}.game-format.format-0{color:#1e40af;background:#dbeafe}.game-format.format-1{color:#92400e;background:#fef3c7}.game-format.format-2{color:#5b21b6;background:#ede9fe}.game-format.format-3{color:#065f46;background:#d1fae5}.game-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:8px;padding:.15rem .5rem;font-size:.65rem;font-weight:600;position:absolute;top:.5rem;right:.75rem}.game-status-badge.past{color:#6b7280;background:#f3f4f6}@media (width<=768px){.game-card{flex-direction:column;align-items:flex-start;gap:.75rem}.game-card-date{width:100%;min-width:unset;border-bottom:1px solid #e5e7eb;border-right:none;flex-direction:row;gap:.5rem;padding-bottom:.5rem;padding-right:0}.game-card-info{min-width:unset;align-items:flex-start;width:100%}}.export-dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.export-dialog{background:#fff;border-radius:12px;width:480px;max-width:95vw;overflow:hidden;box-shadow:0 20px 60px #0000004d}.export-dialog-header{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.export-dialog-header h3{color:#1a1a2e;margin:0;font-size:18px}.export-dialog-close{cursor:pointer;color:#999;background:0 0;border:none;padding:0 4px;font-size:24px;line-height:1}.export-dialog-close:hover{color:#333}.export-dialog-body{padding:20px}.export-field{margin-bottom:16px}.export-field label{color:#555;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:13px;font-weight:600;display:block}.export-mode-toggle{gap:8px;display:flex}.mode-btn{cursor:pointer;color:#666;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;flex:1;padding:10px 16px;font-size:14px;font-weight:500;transition:all .2s}.mode-btn:hover{border-color:#bbb}.mode-btn.active{color:#1a73e8;background:#e8f0fe;border-color:#1a73e8}.export-date-range{gap:16px;display:flex}.export-date-range .export-field{flex:1}.date-row{gap:8px;display:flex}.date-row select{border:1px solid #ddd;border-radius:6px;flex:2;padding:8px;font-size:14px}.date-row input[type=number]{border:1px solid #ddd;border-radius:6px;flex:1;min-width:70px;padding:8px;font-size:14px}.export-format-toggle{gap:8px;display:flex}.format-btn{cursor:pointer;color:#666;background:#f9f9f9;border:2px solid #e0e0e0;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 16px;font-size:15px;font-weight:500;transition:all .2s;display:flex}.format-btn:hover{border-color:#bbb}.format-btn.active{color:#1a73e8;background:#e8f0fe;border-color:#1a73e8}.format-hint{color:#999;font-size:11px;font-weight:400}.format-btn.active .format-hint{color:#5a9cf5}.export-summary{color:#444;text-align:center;background:#f5f7fa;border-radius:8px;padding:12px;font-size:14px}.export-summary p{margin:0}.export-dialog-footer{border-top:1px solid #eee;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.budget-management{padding:0}.budget-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.budget-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.budget-filters select,.budget-filters .year-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:180px;padding:.5rem .75rem;font-size:.875rem}.budget-filters .year-input{min-width:100px;max-width:120px}.budget-layout{grid-template-columns:320px 1fr;gap:1.5rem;min-height:400px;display:grid}@media (width<=900px){.budget-layout{grid-template-columns:1fr}}.budget-list{flex-direction:column;gap:.75rem;display:flex}.budget-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;transition:border-color .2s,box-shadow .2s}.budget-card:hover{border-color:#93c5fd}.budget-card.active{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.budget-card-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.budget-month{font-size:.95rem;font-weight:600}.budget-status{text-transform:uppercase;letter-spacing:.05em;border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}.status-locked{color:#374151;background:#e5e7eb}.budget-card-summary{gap:1rem;display:flex}.summary-item{flex:1}.summary-label{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;font-size:.7rem;display:block}.summary-value{font-size:.85rem;font-weight:600}.summary-item.income .summary-value{color:#059669}.summary-item.costs .summary-value{color:#dc2626}.summary-item.surplus .summary-value{color:#059669}.summary-item.deficit .summary-value{color:#dc2626}.budget-detail{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.detail-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.detail-header h3{margin:0;font-size:1.1rem}.status-select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.35rem .75rem;font-size:.8rem}.detail-summary{grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;display:grid}.summary-box{text-align:center;border-radius:8px;padding:1rem}.summary-box.income{background:#ecfdf5;border:1px solid #a7f3d0}.summary-box.costs{background:#fef2f2;border:1px solid #fecaca}.summary-box.net.surplus{background:#ecfdf5;border:1px solid #6ee7b7}.summary-box.net.deficit{background:#fef2f2;border:1px solid #fca5a5}.summary-box-label{text-transform:uppercase;color:#6b7280;letter-spacing:.05em;margin-bottom:.3rem;font-size:.75rem}.summary-box-value{font-size:1.25rem;font-weight:700}.summary-box.income .summary-box-value{color:#059669}.summary-box.costs .summary-box-value{color:#dc2626}.summary-box.net.surplus .summary-box-value{color:#059669}.summary-box.net.deficit .summary-box-value{color:#dc2626}.detail-notes{color:#374151;background:#f9fafb;border-radius:6px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem}.detail-lines h4{margin:0 0 .75rem;font-size:1rem}.lines-table{border-collapse:collapse;width:100%;margin-bottom:1rem}.lines-table th,.lines-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.6rem .75rem;font-size:.875rem}.lines-table th{color:#374151;background:#f9fafb;font-weight:600}.income-row{background:#f0fdf4}.cost-row{background:#fff5f5}.line-type-badge{border-radius:4px;padding:.15rem .5rem;font-size:.75rem;font-weight:500}.line-type-badge.income{color:#065f46;background:#d1fae5}.line-type-badge.cost{color:#991b1b;background:#fecaca}.no-lines{text-align:center;color:#9ca3af;padding:1.5rem}.add-line-form{border-top:1px solid #e5e7eb;margin-top:1rem;padding-top:1rem}.add-line-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;display:flex}.add-line-row select,.add-line-row input{border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.add-line-row select{min-width:100px}.add-line-row input[type=number]{width:120px}.add-line-row .form-field,.form-line-row .form-field{margin-bottom:0}.add-line-row .line-description-field,.form-line-row .line-description-field{flex:1;min-width:160px}.add-line-row .line-description-field input,.form-line-row .line-description-field input{box-sizing:border-box;flex:none;width:100%}.budget-form-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.budget-form{background:#fff;border-radius:12px;width:90%;max-width:640px;max-height:85vh;padding:2rem;overflow-y:auto;box-shadow:0 20px 60px #0003}.budget-form h3{margin:0 0 1.25rem}.budget-form label{color:#374151;margin-bottom:.75rem;font-size:.85rem;font-weight:500;display:block}.budget-form label input,.budget-form label select,.budget-form label textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;margin-top:.25rem;padding:.5rem .75rem;font-size:.875rem;display:block}.form-lines-section{margin-top:1rem}.form-lines-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.form-lines-header h4{margin:0;font-size:.95rem}.btn-add-line{cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:.35rem .75rem;font-size:.8rem}.btn-add-line:hover{background:#e5e7eb}.form-line-row{flex-wrap:wrap;align-items:flex-end;gap:.5rem;margin-bottom:.5rem;display:flex}.form-line-row select{border:1px solid #d1d5db;border-radius:4px;min-width:100px;padding:.4rem;font-size:.85rem}.form-line-row input[type=text]{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:.4rem .6rem;font-size:.85rem}.form-line-row input[type=number]{border:1px solid #d1d5db;border-radius:4px;width:110px;padding:.4rem .6rem;font-size:.85rem}.btn-remove-line{color:#dc2626;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem}.fee-projection-inline{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1px solid #bfdbfe;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.fee-projection-inline.loading{text-align:center;color:#9ca3af;padding:.5rem;font-size:.8125rem}.fee-projection-inline h4{color:#1e40af;margin:0 0 .5rem;font-size:.875rem}.projection-inline-row{color:#374151;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.projection-inline-total{color:#065f46;font-size:1rem;font-weight:700}.court-cost-inline{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;margin-bottom:1rem;padding:.875rem 1rem}.court-cost-inline.info{background:#eff6ff;border-color:#93c5fd}.court-cost-inline.loading{text-align:center;color:#9ca3af;background:#fefce8;border:1px solid #fde68a;border-radius:8px;margin-bottom:1rem;padding:.5rem;font-size:.8125rem}.court-cost-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.court-cost-inline h4{color:#92400e;margin:0;font-size:.875rem}.court-cost-inline.info h4{color:#1e40af}.court-cost-inline.info p{color:#374151;margin:.25rem 0 0;font-size:.8125rem}.btn-toggle-detail{color:#92400e;cursor:pointer;background:0 0;border:1px solid #d97706;border-radius:4px;padding:2px 10px;font-size:.75rem;font-weight:500}.btn-toggle-detail:hover{background:#d977061a}.court-cost-summary-row{color:#374151;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.court-cost-total{color:#92400e;font-size:1rem;font-weight:700}.court-cost-detail-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.8125rem}.court-cost-detail-table th{text-align:left;text-transform:uppercase;letter-spacing:.3px;color:#92400e;border-bottom:1px solid #d97706;padding:6px 8px;font-size:.75rem;font-weight:600}.court-cost-detail-table td{border-bottom:1px solid #fde68a;padding:6px 8px}.court-cost-detail-table .cost-amount{font-variant-numeric:tabular-nums;font-weight:600}.budget-toolbar-actions{align-items:center;gap:.5rem;display:flex}.detail-actions .btn-export{color:#1a73e8;cursor:pointer;background:#fff;border:1px solid #1a73e8;border-radius:6px;padding:.375rem .75rem;font-size:.8125rem;font-weight:500;transition:background .2s}.detail-actions .btn-export:hover{background:#e8f0fe}.budget-comparison{padding:0}.comparison-header{margin-bottom:1.5rem}.comparison-header h2{margin:0 0 .25rem;font-size:1.5rem}.comparison-subtitle{color:#6b7280;margin:0;font-size:.875rem}.comparison-toolbar{margin-bottom:1.25rem}.comparison-filters{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.comparison-filters select,.comparison-filters .year-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;min-width:160px;padding:.5rem .75rem;font-size:.875rem}.comparison-filters .year-input{min-width:90px;max-width:110px}.comparison-tabs{border-bottom:2px solid #e5e7eb;gap:0;margin-bottom:1.5rem;display:flex}.tab-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;transition:all .15s}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb}.period-badge{color:#1d4ed8;background:#eff6ff;border-radius:50px;margin-bottom:1.25rem;padding:.375rem .875rem;font-size:.8rem;font-weight:600;display:inline-block}.comparison-summary{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.summary-card h4{color:#374151;margin:0 0 .75rem;font-size:.95rem}.summary-card.income-card{border-top:3px solid #22c55e}.summary-card.costs-card{border-top:3px solid #ef4444}.summary-card.net-card{border-top:3px solid #3b82f6}.summary-card.card-warning{background:#fffbeb;border-color:#f59e0b}.summary-row{justify-content:space-between;align-items:center;padding:.3rem 0;font-size:.875rem;display:flex}.summary-label{color:#6b7280}.summary-value{color:#111827;font-weight:600}.variance-row{border-top:1px solid #f3f4f6;margin-top:.25rem;padding-top:.5rem}.variance-pct{font-size:.8rem;font-weight:400}.variance-positive .summary-value{color:#16a34a}.variance-negative .summary-value{color:#dc2626}.variance-neutral .summary-value{color:#6b7280}.comparison-table-container{margin-top:1rem}.comparison-table-container h3{color:#374151;margin-bottom:.75rem;font-size:1rem}.comparison-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.625rem .75rem;font-weight:600}.comparison-table td{color:#111827;border-bottom:1px solid #f3f4f6;padding:.625rem .75rem}.comparison-table .text-right{text-align:right}.comparison-table .text-center{text-align:center}.comparison-table tr.row-over-budget{background:#fef2f2}.comparison-table tr.row-over-budget td{border-bottom-color:#fecaca}.comparison-table tr:hover{background:#f9fafb}.comparison-table tr.row-over-budget:hover{background:#fee2e2}.status-over,.status-ok{font-size:1rem}.source-badge{color:#4b5563;background:#f3f4f6;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;display:inline-block}.transaction-entry{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1.5rem}.transaction-entry h3{color:#374151;margin:0 0 1rem;font-size:1.05rem}.transaction-form{max-width:700px}.form-row{gap:1rem;margin-bottom:1rem;display:flex}.form-group{flex-direction:column;flex:1;gap:.35rem;display:flex}.form-group.flex-2{flex:2}.form-group input,.form-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.form-error{color:#dc2626;background:#fef2f2;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.form-success{color:#16a34a;background:#f0fdf4;border-radius:6px;margin-bottom:.75rem;padding:.5rem .75rem;font-size:.85rem}.form-actions{margin-top:.5rem}.transaction-history{margin-top:0}.history-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.history-header h3{color:#374151;margin:0;font-size:1.05rem}.transaction-count{color:#6b7280;font-size:.85rem}.transaction-table{border-collapse:collapse;width:100%;font-size:.875rem}.transaction-table th{text-align:left;color:#374151;background:#f9fafb;border-bottom:2px solid #e5e7eb;padding:.625rem .75rem;font-weight:600}.transaction-table td{color:#111827;border-bottom:1px solid #f3f4f6;padding:.625rem .75rem}.transaction-table .text-right{text-align:right}.transaction-table .text-center{text-align:center}.transaction-table tr:hover{background:#f9fafb}.btn-delete-sm{cursor:pointer;opacity:.6;background:0 0;border:none;padding:.25rem;font-size:1rem;transition:opacity .15s}.btn-delete-sm:hover{opacity:1}.btn-delete-sm:disabled{cursor:not-allowed;opacity:.3}@media (width<=768px){.comparison-summary{grid-template-columns:1fr}.form-row{flex-direction:column}.comparison-filters{flex-direction:column;align-items:stretch}.comparison-filters select,.comparison-filters .year-input{min-width:100%}.comparison-table,.transaction-table{display:block;overflow-x:auto}}.fee-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.fee-filters{align-items:center;gap:.75rem;display:flex}.fee-filters select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.fee-projection-card{background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);border:1px solid #bfdbfe;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.fee-projection-card h4{color:#1e40af;margin:0 0 .75rem;font-size:1rem}.projection-controls{gap:.5rem;margin-bottom:1rem;display:flex}.projection-controls select,.projection-controls .year-input{background:#fff;border:1px solid #93c5fd;border-radius:6px;padding:.375rem .5rem;font-size:.8125rem}.projection-controls .year-input{width:80px}.projection-result{flex-direction:column;gap:.5rem;display:flex}.projection-row{color:#374151;justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.projection-row.projection-total{color:#065f46;border-top:2px solid #6ee7b7;margin-top:.25rem;padding-top:.5rem;font-size:1.125rem;font-weight:700}.projection-label{color:#6b7280}.projection-total .projection-label{color:#065f46}.projection-notes{color:#6b7280;margin-top:.5rem;font-size:.75rem;font-style:italic}.fee-form-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.fee-form{background:#fff;border-radius:12px;width:100%;max-width:520px;padding:1.5rem;box-shadow:0 20px 60px #00000026}.fee-form h3{margin:0 0 1rem;font-size:1.125rem}.fee-form .form-row{gap:.75rem;margin-bottom:.75rem;display:flex}.fee-form label{color:#374151;flex-direction:column;flex:1;gap:.25rem;margin-bottom:.75rem;font-size:.8125rem;font-weight:500;display:flex}.fee-form input,.fee-form textarea{border:1px solid #d1d5db;border-radius:6px;padding:.5rem .75rem;font-size:.875rem}.fee-form textarea{resize:vertical}.fee-table-wrapper{overflow-x:auto}.fee-table{border-collapse:separate;border-spacing:0;border:1px solid #e5e7eb;border-radius:8px;width:100%;overflow:hidden}.fee-table thead{background:#f9fafb}.fee-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.fee-table td{color:#374151;border-bottom:1px solid #f3f4f6;padding:.75rem 1rem;font-size:.875rem}.fee-table tr.active-fee{background:#f0fdf4}.fee-table tr.inactive-fee{opacity:.7}.fee-amount{color:#1e40af;font-weight:600}.fee-status{border-radius:9999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.fee-status.active{color:#166534;background:#dcfce7}.fee-status.inactive{color:#6b7280;background:#f3f4f6}.fee-notes{text-overflow:ellipsis;white-space:nowrap;color:#6b7280;max-width:200px;font-size:.8125rem;overflow:hidden}.action-col{text-align:center;width:80px}.treasury-dashboard{box-sizing:border-box;flex-direction:column;height:100%;min-height:0;padding:24px;display:flex}.treasury-dashboard__header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.treasury-dashboard__title h2{color:#1f2937;margin:0 0 4px;font-size:22px}.treasury-dashboard__title p{color:#6b7280;margin:0;font-size:14px}.treasury-dashboard__team-picker{align-items:center;gap:8px;display:flex}.treasury-dashboard__team-picker label{color:#4b5563;font-size:13px;font-weight:500}.treasury-dashboard__team-picker select{border:1px solid #d1d5db;border-radius:6px;min-width:200px;padding:6px 10px;font-size:14px}.treasury-dashboard__kpis{flex-shrink:0;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.treasury-dashboard__kpi{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:10px 14px}.treasury-dashboard__kpi-label{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 4px;font-size:11px}.treasury-dashboard__kpi-value{color:#111827;margin:0;font-size:18px;font-weight:600}.treasury-dashboard__kpi--received .treasury-dashboard__kpi-value{color:#047857}.treasury-dashboard__kpi--expenses .treasury-dashboard__kpi-value{color:#b91c1c}.treasury-dashboard__kpi--review .treasury-dashboard__kpi-value{color:#b45309}.treasury-dashboard__section{background:#fff;border:1px solid #e5e7eb;border-radius:6px;flex-direction:column;flex:auto;min-height:0;margin-bottom:16px;display:flex;overflow:hidden}.treasury-dashboard__section h3{color:#1f2937;background:#f9fafb;border-bottom:1px solid #e5e7eb;margin:0;padding:10px 14px;font-size:14px;font-weight:600}.treasury-dashboard__table-scroll{flex:auto;min-height:0;overflow:auto}.treasury-dashboard__table{border-collapse:collapse;width:100%;min-width:800px;font-size:13px}.treasury-dashboard__table th,.treasury-dashboard__table td{text-align:right;white-space:nowrap;border-bottom:1px solid #f3f4f6;padding:6px 10px}.treasury-dashboard__table--compact th,.treasury-dashboard__table--compact td{font-variant-numeric:tabular-nums;padding:4px 8px}.treasury-dashboard__table th:first-child,.treasury-dashboard__table td:first-child{text-align:left;z-index:1;background:#fff;position:sticky;left:0}.treasury-dashboard__table thead th{color:#6b7280;text-transform:none;z-index:3;background:#f9fafb;font-size:12px;font-weight:500;position:sticky;top:0}.treasury-dashboard__table thead th:first-child{z-index:4}.treasury-dashboard__group-row td{color:#065f46;background:#ecfdf5;border-bottom:1px solid #d1fae5;font-weight:600}.treasury-dashboard__group-row td:first-child{text-align:left;background:#ecfdf5}.treasury-dashboard__cell-button{cursor:pointer;font:inherit;color:inherit;text-align:right;background:0 0;border:none;border-radius:3px;width:100%;padding:0}.treasury-dashboard__cell-button:hover{text-decoration:underline}.treasury-dashboard__cell-button[disabled]{cursor:default;color:#9ca3af;text-decoration:none}.treasury-dashboard__cell--paid{color:#111827}.treasury-dashboard__cell--partial{color:#92400e;background:#fef3c7}.treasury-dashboard__cell--overdue{color:#b91c1c;font-weight:500}.treasury-dashboard__cell--pending{color:#9ca3af}.treasury-dashboard__cell--na{background-image:repeating-linear-gradient(135deg,#94a3b82e 0 1px,#0000 1px 8px)}.treasury-dashboard__kind-col{width:32px}.treasury-dashboard__kind-cell{text-align:center;padding:4px 6px}.treasury-dashboard__kind{color:#6b7280;text-align:center;background:#f3f4f6;border-radius:3px;min-width:18px;padding:1px 4px;font-size:11px;font-weight:600;display:inline-block}.treasury-dashboard__kind--a{color:#1d4ed8;background:#dbeafe}.treasury-dashboard__kind--m{color:#047857;background:#d1fae5}.treasury-dashboard__kind--is{color:#6b7280;background:#f3f4f6}.treasury-dashboard__excedente{color:#b45309;margin-left:6px;font-size:11px}.treasury-dashboard__row-total{color:#111827;font-weight:600}.treasury-dashboard__pill{border-radius:999px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.treasury-dashboard__pill--paid{color:#047857;background:#d1fae5}.treasury-dashboard__pill--partial{color:#b45309;background:#fef3c7}.treasury-dashboard__pill--overdue{color:#b91c1c;background:#fee2e2}.treasury-dashboard__pill--pending{color:#4b5563;background:#f3f4f6}.treasury-dashboard__help-toggle{cursor:pointer;color:#2563eb;background:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:8px;padding:0;font-size:16px;font-weight:700;line-height:1;display:inline-flex}.treasury-dashboard__help-toggle:hover{background:#eff6ff;border-color:#93c5fd}.treasury-dashboard__help-toggle[aria-expanded=true]{color:#fff;background:#2563eb;border-color:#2563eb}.treasury-dashboard__drawer-backdrop{z-index:1000;background:#0f172a66;justify-content:flex-end;animation:.16s ease-out treasury-drawer-fade;display:flex;position:fixed;inset:0}.treasury-dashboard__drawer{background:#fff;flex-direction:column;width:min(420px,92vw);height:100vh;transition:transform .22s cubic-bezier(.16,1,.3,1);display:flex;transform:translate(100%);box-shadow:-8px 0 24px #0f172a26}.treasury-dashboard__drawer.is-open{transform:translate(0)}.treasury-dashboard__drawer-header{color:#1e3a8a;background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:14px 18px;font-size:15px;display:flex}.treasury-dashboard__drawer-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:22px;line-height:1}.treasury-dashboard__drawer-close:hover{color:#111827;background:#e5e7eb}.treasury-dashboard__drawer-body{color:#1f2937;padding:14px 18px 20px;font-size:13px;line-height:1.5;overflow-y:auto}.treasury-dashboard__drawer-body ul{margin:6px 0 0 18px;padding:0}.treasury-dashboard__drawer-body li{margin:4px 0}.treasury-dashboard__drawer-tabs{background:#f3f4f6;border:1px solid #e5e7eb;border-radius:10px;gap:4px;margin:12px 18px 4px;padding:4px;display:flex}.treasury-dashboard__drawer-tab{color:#4b5563;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1 1 0;padding:8px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s,box-shadow .15s}.treasury-dashboard__drawer-tab:hover:not(.is-active){color:#111827;background:#fff9}.treasury-dashboard__drawer-tab.is-active{color:#111827;background:#fff;font-weight:600;box-shadow:0 1px 2px #0f172a14}.treasury-dashboard__drawer-tab:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.treasury-dashboard__drawer-hint{color:#6b7280;margin:8px 0;font-size:12px}.treasury-dashboard__drawer-subhead{text-transform:uppercase;letter-spacing:.04em;color:#6b7280;margin:16px 0 6px;font-size:12px;font-weight:600}.treasury-dashboard__drawer-list{list-style:none;margin:8px 0 12px!important;padding:0!important}.treasury-dashboard__drawer-list li.treasury-dashboard__drawer-item{background:#f9fafb;border-radius:6px;align-items:center;gap:8px;margin:6px 0;padding:6px 8px;display:flex}.treasury-dashboard__drawer-empty{color:#9ca3af;padding:6px 8px;font-style:italic}.treasury-dashboard__drawer-item-name{flex:auto;align-items:center;gap:8px;font-weight:500;display:flex}.treasury-dashboard__drawer-item.is-hidden{opacity:.7}.treasury-dashboard__drawer-item.is-hidden .treasury-dashboard__drawer-item-name{color:#6b7280;text-decoration:line-through}.treasury-dashboard__drawer-hidden-tag{text-transform:uppercase;letter-spacing:.02em;color:#92400e;background:#fef3c7;border-radius:999px;padding:1px 8px;font-size:11px;font-weight:600;text-decoration:none}.treasury-dashboard__drawer-visibility{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:999px;flex:none;padding:4px 10px;font-size:12px;font-weight:600;line-height:1}.treasury-dashboard__drawer-visibility:hover{color:#b91c1c;background:#f3f4f6;border-color:#fca5a5}.treasury-dashboard__drawer-visibility.is-hidden{color:#047857;border-color:#6ee7b7}.treasury-dashboard__drawer-visibility.is-hidden:hover{color:#047857;background:#d1fae5}.treasury-dashboard__drawer-input{background:#fff;border:1px solid #d1d5db;border-radius:6px;flex:auto;padding:6px 8px;font-size:13px}.treasury-dashboard__drawer-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 2px #2563eb26}.treasury-dashboard__drawer-delete{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:18px;line-height:1}.treasury-dashboard__drawer-delete:hover{color:#b91c1c;background:#fee2e2}.treasury-dashboard__drawer-add{gap:8px;margin-top:12px;display:flex}@keyframes treasury-drawer-fade{0%{background:#0f172a00}to{background:#0f172a66}}.treasury-dashboard__drawer.is-open{animation:.24s cubic-bezier(.16,1,.3,1) treasury-drawer-slide}@keyframes treasury-drawer-slide{0%{transform:translate(100%)}to{transform:translate(0)}}.treasury-dashboard__member-link{color:#2563eb;cursor:pointer;font:inherit;text-align:left;background:0 0;border:none;padding:0}.treasury-dashboard__member-link:hover{text-decoration:underline}.treasury-dashboard__category-link{color:inherit;cursor:pointer;font:inherit;font-weight:inherit;text-align:left;background:0 0;border:none;padding:0}.treasury-dashboard__category-link:hover{color:#2563eb;text-decoration:underline}.treasury-dashboard__cell--excess{background:#fde68a!important}.treasury-dashboard__cell-excess{color:#92400e;margin-left:3px;font-size:10px;font-weight:600}.treasury-dashboard__table--unified th,.treasury-dashboard__table--unified td{font-variant-numeric:tabular-nums;padding:4px 8px}.treasury-dashboard__lvl0-row td{letter-spacing:.02em;text-transform:uppercase;color:#111827;background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:8px 10px;font-size:13px;font-weight:700}.treasury-dashboard__lvl0-row--receitas td{color:#065f46;background:#ecfdf5}.treasury-dashboard__lvl0-row--despesas td{color:#991b1b;background:#fef2f2}.treasury-dashboard__lvl1-row td{color:#1f2937;background:#f9fafb;font-weight:600}.treasury-dashboard__lvl1-cell{text-align:left;padding-left:18px!important}.treasury-dashboard__lvl2-row td{color:#374151;background:#fafafa;font-weight:600}.treasury-dashboard__lvl2-cell{text-align:left;padding-left:32px!important}.treasury-dashboard__lvl3-row td{background:#fff}.treasury-dashboard__lvl3-cell{text-align:left;padding-left:46px!important}.treasury-dashboard__toggle-row{cursor:pointer;-webkit-user-select:none;user-select:none}.treasury-dashboard__toggle-row:hover td{filter:brightness(.98)}.treasury-dashboard__total-row td{color:#111827;z-index:3;background:#fef3c7;border-top:2px solid #d97706;padding:8px 10px;font-weight:700;position:sticky;bottom:0}.treasury-dashboard__total-row td:first-child{text-transform:uppercase;letter-spacing:.04em;z-index:4;background:#fef3c7;font-size:12px;padding-left:10px!important}.treasury-dashboard__cell--unpaid .treasury-dashboard__cell-button{color:#9ca3af;font-weight:400}.treasury-dashboard__cell--overdue.treasury-dashboard__cell--unpaid .treasury-dashboard__cell-button{color:#b91c1c}.treasury-dashboard__cell--empty{color:#d1d5db}.treasury-dashboard__inline-link{color:#2563eb;cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.treasury-dashboard__inline-link:hover{color:#1d4ed8}.treasury-dashboard__empty-hint{color:#6b7280;font-style:italic;text-align:left!important;padding:12px 16px!important}.treasury-dashboard__help-section-title{color:#1e3a8a;margin:10px 0 4px;font-weight:600}.treasury-dashboard__legend-swatch{vertical-align:baseline;border-radius:3px;padding:0 6px;font-size:12px;display:inline-block}.treasury-movements{--muted:#6b7280;flex-direction:column;gap:12px;padding:16px 20px 32px;display:flex}.treasury-movements__header{flex-wrap:wrap;align-items:center;gap:12px;min-height:36px;display:flex}.treasury-movements__chips{flex-wrap:wrap;flex:auto;align-items:center;gap:8px;min-width:0;min-height:36px;display:flex}.treasury-movements__header-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-left:auto;display:flex}.treasury-movements__header h2{margin:0;font-size:22px}.treasury-movements__header-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.treasury-movements__scope-picker{align-items:center;gap:6px;display:flex}.treasury-movements__scope-picker label{color:var(--muted);font-size:13px}.treasury-movements__scope-picker select,.treasury-movements .field select,.treasury-movements .field input{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;height:32px;padding:0 10px;font-size:13px}.treasury-movements .field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.treasury-movements .field--inline{align-items:center;gap:6px;font-size:13px;display:inline-flex}.treasury-movements__chips:empty{visibility:hidden}.chip{background:#e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:inline-flex}.chip--info{background:#dbeafe}.chip--warn{background:#fef3c7}.chip--danger{background:#fee2e2}.chip__close{cursor:pointer;color:inherit;background:0 0;border:none;padding:0;font-size:16px;line-height:1}.treasury-movements__panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px}.add-mov-grid{grid-template-columns:140px 1fr 110px 1fr 1fr auto;align-items:end;gap:8px;display:grid}.add-mov-grid.edit-grid{grid-template-columns:1fr 1fr;gap:12px}.add-mov-grid.edit-grid .field{grid-column:span 1}.add-mov-grid.edit-grid .field--full{grid-column:1/-1}.add-mov-grid.edit-grid .field{min-width:0}.add-mov-grid.edit-grid .field input,.add-mov-grid.edit-grid .field select{width:100%;min-width:0}.add-mov-grid--full{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));row-gap:12px}.add-mov-grid--full .field--wide{grid-column:span 2}.add-mov-grid--full>button{align-self:end}.treasury-movements__filter-bar{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;flex-wrap:wrap;align-items:end;gap:12px;padding:10px 12px;display:flex}.treasury-movements .field--toggle{gap:4px}.treasury-movements__totals{align-items:stretch;gap:6px;margin-left:auto;display:inline-flex}.treasury-movements__totals-count,.treasury-movements__totals-amount{box-sizing:border-box;color:#111827;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:4px;height:32px;padding:0 12px;font-size:14px;line-height:1;display:inline-flex}.treasury-movements__totals-count strong{font-size:17px;font-weight:700}.treasury-movements__totals-unit{color:#6b7280;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.treasury-movements__totals-amount{color:#065f46;background:#ecfdf5;border-color:#a7f3d0;font-size:16px;font-weight:700}.treasury-movements__totals-amount.is-negative{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.treasury-movements__toggle-btn{box-sizing:border-box;cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:36px;height:32px;font-size:15px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.treasury-movements__toggle-btn:hover{color:#b45309;background:#f3f4f6}.treasury-movements__toggle-btn.is-on{color:#92400e;background:#fef3c7;border-color:#f59e0b}.treasury-movements__toggle-icon{line-height:1}.treasury-movements__bulk-bar{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 12px;display:flex}.treasury-movements__bulk-count{color:#1e3a8a;font-size:13px;font-weight:600}.treasury-movements__bulk-bar select{box-sizing:border-box;background:#fff;border:1px solid #d1d5db;border-radius:6px;height:32px;padding:0 10px;font-size:13px}.treasury-movements__table-wrap{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow-x:auto}.treasury-movements__table th.select-col,.treasury-movements__table td.select-col{text-align:center;width:28px;padding-left:12px;padding-right:4px}.treasury-movements__table{border-collapse:collapse;width:100%;font-size:13px}.treasury-movements__table th,.treasury-movements__table td{text-align:left;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:8px 10px}.treasury-movements__table tbody tr:last-child td{border-bottom:none}.treasury-movements__table th{color:#374151;z-index:1;background:#f8fafc;font-weight:600;position:sticky;top:0}.treasury-movements__table tr.review-row{background:#fef9c3}.treasury-movements__table tr.expense-row{background:#fef2f2}.treasury-movements__table tr.review-row.expense-row{background:#fde68a}.treasury-movements__table .muted{color:var(--muted);font-size:12px}.treasury-movements__table input[type=text],.treasury-movements__table select{background:#fff;border:1px solid #d1d5db;border-radius:5px;max-width:220px;padding:4px 8px;font-size:13px}.treasury-movements__table td.actions-cell{text-align:right;vertical-align:middle;white-space:nowrap}.treasury-movements__table td.actions-cell>*+*{margin-left:4px}.btn.icon{padding:4px 8px}.btn.icon.icon--md{justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:18px;line-height:1;display:inline-flex}.empty-row{text-align:center;color:var(--muted);padding:24px;font-style:italic}.modal-backdrop{z-index:1000;background:#0f172a80;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:10px;width:min(560px,90vw);min-width:520px;max-width:90vw;max-height:90vh;padding:24px;overflow:auto;box-shadow:0 20px 60px #00000040}.modal--wide{width:min(800px,90vw);min-width:720px}.modal h3{margin:0 0 12px}.modal__actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.split-table{border-collapse:collapse;width:100%;font-size:13px}.split-table th,.split-table td{padding:6px}.split-table input,.split-table select{border:1px solid #d1d5db;border-radius:5px;width:100%;padding:4px 6px;font-size:13px}.split-footer{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.treasury-movements__import-modal{max-height:88vh}.treasury-movements__import-row{align-items:flex-end;gap:8px;margin-bottom:8px;display:flex}.treasury-movements__import-subhead{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:14px 0 6px;font-size:12px;font-weight:600}.treasury-movements__import-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));align-items:end;gap:10px;display:grid}.treasury-movements__import-grid .field select,.treasury-movements__import-grid .field input{width:100%;min-width:0}.treasury-movements__import-preview{border:1px solid #e5e7eb;border-radius:6px;max-height:240px;overflow:auto}.treasury-movements__import-preview table{min-width:0}.treasury-movements__import-save{align-items:flex-end;gap:8px;margin-top:14px;display:flex}.treasury-movements__sort-toggle{font:inherit;color:inherit;font-weight:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:2px;padding:0;display:inline-flex}.treasury-movements__sort-toggle:hover{text-decoration:underline}.treasury-movements__sort-toggle:focus-visible{outline-offset:2px;border-radius:3px;outline:2px solid #2563eb}.athlete-team-selector-wrapper{align-items:center;gap:.75rem;padding:.5rem 0;display:flex}.athlete-team-selector-label{color:var(--text-secondary,#6b7280);white-space:nowrap;font-size:.875rem;font-weight:600}.athlete-team-selector-dropdown{border:1px solid var(--border-color,#d1d5db);background:var(--surface,#fff);color:var(--text-primary,#1f2937);cursor:pointer;border-radius:.5rem;min-width:180px;padding:.5rem .75rem;font-size:.875rem}.athlete-team-selector-dropdown:focus{border-color:var(--primary,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.athlete-no-team{text-align:center;flex-direction:column;justify-content:center;align-items:center;max-width:400px;margin:2rem auto;padding:3rem 1.5rem;display:flex}.athlete-no-team-icon{margin-bottom:1rem;font-size:3rem}.athlete-no-team-title{color:var(--text-primary,#1f2937);margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.athlete-no-team-description{color:var(--text-secondary,#6b7280);margin:0;font-size:.95rem;line-height:1.5}.team-schedule{padding:0}.schedule-controls{background:#f8f9fa;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:20px;padding:12px 16px;display:flex}.team-selector{align-items:center;gap:8px;display:flex}.team-selector label{color:#555;font-size:.875rem;font-weight:600}.team-selector select{border:1px solid #ddd;border-radius:6px;min-width:180px;padding:6px 12px;font-size:.875rem}.toggle-btn{cursor:pointer;color:#555;background:#fff;border:none;padding:6px 14px;font-size:.8rem;font-weight:500;transition:background .15s,color .15s}.toggle-btn:not(:last-child){border-right:1px solid #ddd}.toggle-btn.active{color:#fff;background:#667eea}.toggle-btn:hover:not(.active){background:#f0f0f0}.date-navigation{align-items:center;gap:6px;margin-left:auto;display:flex}.nav-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:6px;padding:4px 10px;font-size:.85rem;transition:background .15s}.nav-btn:hover{background:#f0f0f0}.today-btn{color:#667eea;cursor:pointer;background:#fff;border:1px solid #667eea;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.today-btn:hover{color:#fff;background:#667eea}.date-range-label{color:#333;margin-left:8px;font-size:.9rem;font-weight:600}.schedule-content{min-height:200px}.schedule-error{color:#721c24;background:#f8d7da;border-radius:6px;margin-bottom:16px;padding:10px 16px;font-size:.875rem}.date-group{margin-bottom:16px}.date-header{color:#333;border-bottom:2px solid #667eea;margin-bottom:8px;padding:8px 0 4px;font-size:.9rem;font-weight:700}.schedule-card{cursor:pointer;background:#fff;border:1px solid #e8e8e8;border-radius:8px;margin-bottom:8px;transition:box-shadow .15s,border-color .15s}.schedule-card:hover{border-color:#ccc;box-shadow:0 2px 8px #00000014}.schedule-card.expanded{border-color:#667eea;box-shadow:0 2px 12px #667eea26}.card-main{align-items:center;gap:12px;padding:12px 16px;display:flex}.event-type-icon{flex-shrink:0;font-size:1.5rem}.card-info{flex:1;min-width:0}.card-title{color:#222;white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.card-meta{color:#666;flex-wrap:wrap;gap:8px;margin-top:2px;font-size:.8rem;display:flex}.card-time{color:#444;font-weight:500}.card-duration{color:#888}.card-location{color:#555}.card-badges{flex-shrink:0;gap:6px;display:flex}.type-badge{text-transform:uppercase;border-radius:12px;padding:2px 10px;font-size:.72rem;font-weight:600;display:inline-block}.type-badge.type-0{color:#3b52a0;background:#e0e7ff}.type-badge.type-1{color:#92400e;background:#fef3c7}.type-badge.type-2{color:#0369a1;background:#e0f2fe}.card-detail{background:#fafbff;border-top:1px solid #e8e8e8;padding:16px}.detail-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.detail-item{flex-direction:column;gap:2px;display:flex}.detail-full-width{grid-column:1/-1}.detail-label{text-transform:uppercase;color:#888;font-size:.72rem;font-weight:600}.detail-value{color:#333;font-size:.875rem}.detail-value small{color:#888;font-size:.8rem}@media (width<=768px){.schedule-controls{flex-direction:column;align-items:stretch}.date-navigation{flex-wrap:wrap;margin-left:0}.card-main{flex-wrap:wrap}.card-badges{width:100%;margin-top:4px}.detail-grid{grid-template-columns:1fr}}.confirmation-modal-message-container{align-items:flex-start;gap:var(--space-4);display:flex}.confirmation-modal-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;margin-top:2px;display:flex}.confirmation-modal-icon .icon-svg{width:24px;height:24px}.confirmation-modal-icon.icon-warning{background:var(--color-warning-light);color:#d97706}.confirmation-modal-icon.icon-danger{color:var(--color-danger);background:#fee2e2}.confirmation-modal-icon.icon-info{color:var(--color-info);background:#dbeafe}.confirmation-modal-icon.icon-question{color:#6366f1;background:#e0e7ff}.confirmation-modal-message{color:var(--gray-700);white-space:pre-line;flex:1;margin:0;font-size:16px;line-height:1.5}.confirmation-modal-footer .btn{width:140px}@media (width<=640px){.confirmation-modal-message-container{gap:var(--space-3)}.confirmation-modal-icon{width:40px;height:40px}.confirmation-modal-icon .icon-svg{width:20px;height:20px}.confirmation-modal-footer .btn{width:100%}}.announcement-management{padding:0}.announcement-loading{color:#6c757d;justify-content:center;align-items:center;min-height:200px;font-size:1rem;display:flex}.announcement-error{color:#856404;background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:16px;padding:12px 16px}.announcement-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.toolbar-left{align-items:center;gap:8px;display:flex}.status-filter{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:8px 12px;font-size:.875rem}.btn-refresh{cursor:pointer;background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:8px 16px;font-size:.875rem}.btn-refresh:hover{background:#f8f9fa}.announcement-management .btn-create{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:10px 20px;font-size:.875rem;font-weight:600}.announcement-management .btn-create:hover{background:#4338ca}.announcement-empty{text-align:center;color:#6c757d;padding:60px 20px}.announcement-empty p{margin-bottom:16px;font-size:1rem}.announcement-list{flex-direction:column;gap:16px;display:flex}.announcement-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:20px;transition:box-shadow .2s}.announcement-card:hover{box-shadow:0 2px 8px #00000014}.announcement-card.pinned{border-left:4px solid #f59e0b}.announcement-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.announcement-title-row{align-items:center;gap:8px;display:flex}.pin-badge{font-size:1rem}.announcement-title{color:#1f2937;margin:0;font-size:1.125rem;font-weight:600}.announcement-status{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:.75rem;font-weight:600}.status-published{color:#065f46;background:#d1fae5}.status-archived{color:#9ca3af;background:#f3f4f6}.announcement-content-preview{color:#4b5563;max-height:100px;margin-bottom:12px;font-size:.875rem;line-height:1.6;position:relative;overflow:hidden}.announcement-content-preview:after{content:"";background:linear-gradient(#0000,#fff);height:30px;position:absolute;bottom:0;left:0;right:0}.announcement-meta{color:#9ca3af;flex-wrap:wrap;gap:16px;margin-bottom:12px;font-size:.75rem;display:flex}.announcement-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-publish{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:500}.btn-publish:hover{background:#059669}.btn-edit{color:#374151;cursor:pointer;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:6px 14px;font-size:.8rem}.btn-edit:hover{background:#e9ecef}.btn-delete{color:#dc3545;cursor:pointer;background:#fff;border:1px solid #dc3545;border-radius:6px;padding:6px 14px;font-size:.8rem}.btn-delete:hover{color:#fff;background:#dc3545}.modal-content{background:#fff;border-radius:12px;width:100%;max-width:640px;max-height:90vh;padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-header h2{color:#1f2937;margin:0;font-size:1.25rem}.modal-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:4px;font-size:1.5rem}.modal-close:hover{color:#1f2937}.announcement-form .form-group{margin-bottom:16px}.announcement-form label{color:#374151;margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.announcement-form input[type=text],.announcement-form input[type=datetime-local],.announcement-form textarea,.announcement-form select{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.875rem}.announcement-form textarea{resize:vertical;font-family:inherit}.announcement-form input:focus,.announcement-form textarea:focus{border-color:#4f46e5;outline:none;box-shadow:0 0 0 3px #4f46e51a}.form-row{flex-wrap:wrap;gap:16px;display:flex}.form-row .form-group{flex:1;min-width:200px}.checkbox-group{align-items:center;padding-top:28px;display:flex}.checkbox-group input[type=checkbox]{accent-color:#4f46e5;width:18px;height:18px}.form-hint{color:#9ca3af;margin-top:4px;font-size:.75rem;display:block}.form-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:.875rem}.form-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.announcement-management .btn-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-size:.875rem}.announcement-management .btn-cancel:hover{background:#f9fafb}.announcement-management .btn-save{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:10px 24px;font-size:.875rem;font-weight:600}.announcement-management .btn-save:hover{background:#4338ca}.announcement-management .btn-save:disabled{opacity:.6;cursor:not-allowed}.composer-tabs{border-bottom:1px solid #e5e7eb;gap:4px;margin-bottom:8px;display:flex}.composer-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:.875rem;font-weight:500}.composer-tab:hover{color:#374151}.composer-tab.active{color:#4f46e5;border-bottom-color:#4f46e5;font-weight:600}.composer-preview{background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;min-height:168px;max-height:none;margin-bottom:0;padding:12px;overflow:auto}.composer-preview.announcement-content-preview:after{display:none}.composer-preview-empty{color:#9ca3af;justify-content:center;align-items:center;font-size:.875rem;display:flex}.announcement-feed{max-width:800px}.feed-loading{color:#6c757d;justify-content:center;align-items:center;min-height:200px;display:flex}.feed-error{text-align:center;color:#dc3545;padding:40px 20px}.feed-retry-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;margin-top:12px;padding:8px 16px}.feed-empty{text-align:center;color:#9ca3af;padding:60px 20px}.feed-empty-icon{margin-bottom:12px;font-size:3rem;display:block}.feed-empty small{color:#d1d5db}.feed-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.feed-header h2{color:#1f2937;margin:0;font-size:1.25rem}.feed-refresh{cursor:pointer;color:#6c757d;background:0 0;border:1px solid #dee2e6;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.2rem;display:flex}.feed-refresh:hover{color:#374151;background:#f8f9fa}.feed-list{flex-direction:column;gap:12px;display:flex}.feed-item{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;transition:box-shadow .2s,border-color .2s}.feed-item:hover{border-color:#d1d5db;box-shadow:0 2px 8px #0000000f}.feed-item-pinned{background:#fffbeb;border-left:4px solid #f59e0b}.feed-pin-banner{color:#b45309;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.7rem;font-weight:600}.feed-item-header{justify-content:space-between;align-items:flex-start;margin-bottom:8px;display:flex}.feed-item-title{color:#1f2937;margin:0;font-size:1rem;font-weight:600}.feed-item-date{color:#9ca3af;white-space:nowrap;margin-left:12px;font-size:.75rem}.feed-item-content{color:#4b5563;font-size:.875rem;line-height:1.6}.content-collapsed{max-height:60px;position:relative;overflow:hidden}.content-collapsed:after{content:"";background:linear-gradient(#0000,#fff);height:30px;position:absolute;bottom:0;left:0;right:0}.feed-item-pinned .content-collapsed:after{background:linear-gradient(#0000,#fffbeb)}.content-expanded{max-height:none}.feed-read-more{color:#4f46e5;margin-top:6px;font-size:.75rem;font-weight:500;display:block}.feed-item.expanded{border-color:#4f46e5}.team-messages{flex-direction:column;height:100%;padding:0;display:flex}.team-messages-header{padding:20px 24px 12px}.team-messages-header h2{color:var(--text-primary,#1a1a2e);margin:0 0 4px;font-size:1.5rem;font-weight:600}.team-messages-header .section-description{color:var(--text-secondary,#6b7280);margin:0;font-size:.9rem}.team-messages-layout{border-top:1px solid var(--border-color,#e5e7eb);flex:1;min-height:0;display:flex}.team-selector{border-right:1px solid var(--border-color,#e5e7eb);background:var(--bg-secondary,#f9fafb);flex-direction:column;width:240px;min-width:200px;display:flex}.team-selector h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#6b7280);border-bottom:1px solid var(--border-color,#e5e7eb);margin:0;padding:12px 16px;font-size:.85rem;font-weight:600}.team-list{flex:1;margin:0;padding:4px 0;list-style:none;overflow-y:auto}.team-item{cursor:pointer;border-left:3px solid #0000;padding:10px 16px;transition:background .15s,border-color .15s}.team-item:hover{background:var(--bg-hover,#f3f4f6)}.team-item.active{background:var(--bg-active,#eff6ff);border-left-color:var(--primary-color,#3b82f6)}.team-item .team-name{color:var(--text-primary,#1a1a2e);font-size:.9rem;font-weight:500;display:block}.team-item .team-meta{color:var(--text-secondary,#6b7280);margin-top:2px;font-size:.75rem;display:block}.message-area{flex-direction:column;flex:1;min-width:0;display:flex}.message-area-header{border-bottom:1px solid var(--border-color,#e5e7eb);background:var(--bg-primary,#fff);justify-content:space-between;align-items:center;padding:10px 20px;display:flex}.message-area-header h3{color:var(--text-primary,#1a1a2e);margin:0;font-size:1rem;font-weight:600}.message-list{background:var(--bg-primary,#fff);flex-direction:column;flex:1;gap:8px;padding:16px 20px;display:flex;overflow-y:auto}.message-bubble{word-break:break-word;border-radius:12px;max-width:70%;padding:10px 14px;position:relative}.message-bubble.own{background:var(--primary-color,#3b82f6);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.message-bubble.other{background:var(--bg-secondary,#f3f4f6);color:var(--text-primary,#1a1a2e);border-bottom-left-radius:4px;align-self:flex-start}.message-sender{color:var(--primary-color,#3b82f6);align-items:center;gap:.5rem;margin-bottom:4px;font-size:.75rem;font-weight:600;display:flex}.message-sender-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.message-content{white-space:pre-wrap;font-size:.9rem;line-height:1.4}.message-time{opacity:.7;text-align:right;margin-top:4px;font-size:.7rem}.compose-area{border-top:1px solid var(--border-color,#e5e7eb);background:var(--bg-primary,#fff);align-items:flex-end;gap:10px;padding:12px 20px;display:flex}.compose-input{border:1px solid var(--border-color,#d1d5db);resize:none;border-radius:8px;outline:none;flex:1;max-height:120px;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.compose-input:focus{border-color:var(--primary-color,#3b82f6);box-shadow:0 0 0 2px #3b82f61a}@media (width<=768px){.team-messages-layout{flex-direction:column}.team-selector{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border-color,#e5e7eb);max-height:140px}.team-list{gap:0;display:flex;overflow-x:auto}.team-item{white-space:nowrap;border-bottom:3px solid #0000;border-left:none}.team-item.active{border-left-color:#0000;border-bottom-color:var(--primary-color,#3b82f6)}.message-bubble{max-width:85%}}.kiosk-activation{padding:24px}.kiosk-activation-header{margin-bottom:24px}.kiosk-activation-header h2{color:#1a1a2e;margin:0 0 8px;font-size:1.5rem}.kiosk-subtitle{color:#666;margin:0;font-size:.95rem}.kiosk-loading-text{color:#666;text-align:center;padding:32px 0}.kiosk-error{color:#c53030;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.kiosk-empty{text-align:center;color:#666;padding:48px 24px}.kiosk-empty-hint{opacity:.7;margin-top:8px;font-size:.85rem}.kiosk-reservation-list{flex-direction:column;gap:12px;display:flex}.kiosk-reservation-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:20px 24px;transition:all .2s;display:flex}.kiosk-reservation-card:hover{box-shadow:0 2px 8px #0000000f}.kiosk-reservation-card.active{background:#f0fffe;border-color:#4ecdc4}.kiosk-card-info{flex:1}.kiosk-card-title{color:#1a1a2e;margin-bottom:4px;font-size:1.05rem;font-weight:600}.kiosk-card-detail{color:#666;font-size:.85rem}.kiosk-card-team{color:#888;margin-top:2px;font-size:.85rem}.kiosk-card-actions{align-items:center;gap:16px;display:flex}.kiosk-pin-display{background:#1a1a2e;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;display:flex}.pin-label{color:#fff9;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.pin-value{color:#e94560;letter-spacing:3px;font-family:Courier New,monospace;font-size:1.4rem;font-weight:700}.kiosk-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;transition:all .2s}.kiosk-btn:disabled{opacity:.6;cursor:not-allowed}.kiosk-btn.activate{color:#fff;background:#4ecdc4}.kiosk-btn.activate:hover:not(:disabled){background:#3dbdb4}.kiosk-btn.deactivate{color:#fff;background:#ff6b6b}.kiosk-btn.deactivate:hover:not(:disabled){background:#e05555}.ticketing-config{max-width:600px;margin:0 auto;padding:20px}.config-success{color:#2e7d32;background:#e8f5e9;border-radius:6px;margin-bottom:16px;padding:10px 16px}.config-form{flex-direction:column;gap:16px;display:flex}.config-form label{flex-direction:column;gap:4px;font-weight:500;display:flex}.config-form select,.config-form input[type=number]{border:1px solid #ccc;border-radius:6px;padding:8px;font-size:.95em}.toggle-label{cursor:pointer;align-items:center;flex-direction:row!important;gap:8px!important}.price-table{margin-top:8px}.price-table h3{margin-bottom:8px}.price-row{border-bottom:1px solid #eee;justify-content:space-between;align-items:center;padding:8px 0;display:flex}.price-input{align-items:center;gap:4px;display:flex}.price-input input{width:80px}.no-sections-note{color:#666;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:16px;font-style:normal}.no-sections-note p{margin:0}.link-button{color:#4f46e5;cursor:pointer;font-weight:600;font-size:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.link-button:hover{color:#4338ca}.save-btn{color:#fff;cursor:pointer;background:#1976d2;border:none;border-radius:6px;padding:12px 24px;font-size:1em}.save-btn:hover:not(:disabled){background:#1565c0}.ticket-qr-pending{color:#9ca3af;box-sizing:border-box;background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;display:inline-flex}.ticket-qr-pending--loading{animation:1.2s ease-in-out infinite ticket-qr-pulse}.ticket-qr-pending-label{text-align:center;padding:0 6px;font-size:.7rem}@keyframes ticket-qr-pulse{0%,to{opacity:.55}50%{opacity:1}}.ticket-detail{max-width:500px;margin:0 auto;padding:20px}.back-link{color:#1976d2;cursor:pointer;background:0 0;border:none;margin-bottom:16px;padding:0;font-size:.95em}.ticket-visual{border:2px solid #e0e0e0;border-radius:12px;overflow:hidden}.ticket-header-strip{color:#fff;background:#1976d2;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.ticket-header-strip h2{margin:0;font-size:1.2em}.ticket-body{padding:20px}.ticket-info-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;display:grid}.info-item{flex-direction:column;gap:2px;display:flex}.info-item label{text-transform:uppercase;color:#888;font-size:.8em;font-weight:600}.info-item span{color:#333;font-size:.95em}.ticket-id-value{letter-spacing:1px;font-family:monospace}.qr-section{text-align:center;border-top:1px dashed #ccc;padding-top:20px}.qr-placeholder{display:inline-block}.qr-code-image{background:#fafafa;border:2px solid #333;border-radius:4px;margin:0 auto;padding:8px;display:block}.qr-code-box{background:#fafafa;border:2px solid #333;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;width:150px;height:150px;margin:0 auto;display:flex}.qr-label{text-transform:uppercase;color:#888;margin-bottom:8px;font-size:.75em}.qr-data{word-break:break-all;text-align:center;padding:0 8px;font-family:monospace;font-size:.7em}.ticket-code-label{color:#666;margin-top:12px;font-size:.9em}.ticket-badge{background:#fff3;border-radius:12px;padding:2px 10px;font-size:.8em;font-weight:500}.ticket-actions{border-top:1px solid #eee;justify-content:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.ticket-action-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.9em;font-weight:500;transition:background .2s}.ticket-action-btn:disabled{opacity:.6;cursor:not-allowed}.download-btn{color:#fff;background:#1976d2}.download-btn:hover:not(:disabled){background:#1565c0}.share-btn{color:#333;background:#f5f5f5;border:1px solid #ddd}.share-btn:hover{background:#e0e0e0}.my-tickets{max-width:800px;margin:0 auto;padding:20px}.no-tickets{text-align:center;color:#999;padding:40px}.tickets-list{flex-direction:column;gap:12px;display:flex}.ticket-card{cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:16px;transition:box-shadow .2s}.ticket-card:hover{box-shadow:0 2px 8px #0000001a}.ticket-main{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ticket-main h3{margin:0;font-size:1.1em}.ticket-badge{border-radius:12px;padding:2px 10px;font-size:.8em;font-weight:500}.ticket-badge.valid{color:#2e7d32;background:#e8f5e9}.ticket-badge.used{color:#888;background:#f5f5f5}.ticket-badge.cancelled{color:#c62828;background:#fce4ec}.ticket-meta{color:#666;flex-wrap:wrap;gap:12px;margin-bottom:8px;font-size:.85em;display:flex}.ticket-code-display{color:#1976d2;background:#e3f2fd;border-radius:4px;padding:4px 8px;font-family:monospace;font-size:.85em;display:inline-block}.my-awards{max-width:900px;padding:20px}.my-awards h2{color:#1a1a2e;margin-bottom:4px}.awards-subtitle{color:#666;margin-bottom:24px;font-size:14px}.claim-success{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;margin-bottom:20px;padding:16px}.claim-success h4{color:#276749;margin:0 0 8px}.claim-success p{color:#2f855a;margin:0 0 12px}.claimed-ticket-code{color:#22543d;background:#e6ffed;border-radius:4px;margin-bottom:4px;padding:8px 12px;font-family:monospace;font-size:14px}.dismiss-btn{color:#fff;cursor:pointer;background:#48bb78;border:none;border-radius:4px;margin-top:12px;padding:6px 16px;font-size:13px}.dismiss-btn:hover{background:#38a169}.no-awards{text-align:center;color:#718096;background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;padding:40px}.no-awards p{margin:8px 0}.no-awards-hint{color:#a0aec0;font-size:13px}.awards-list{flex-direction:column;gap:16px;display:flex}.award-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:box-shadow .2s}.award-card:hover{box-shadow:0 4px 12px #00000014}.award-card.status-pending{border-left:4px solid #ecc94b}.award-card.status-claimed{border-left:4px solid #48bb78}.award-card.status-partial{border-left:4px solid #ed8936}.award-card.status-expired{opacity:.75;border-left:4px solid #a0aec0}.award-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.award-game-info{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.award-game-info h3{color:#1a1a2e;margin:0;font-size:18px}.award-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.award-details{margin-bottom:16px}.award-meta{color:#4a5568;flex-wrap:wrap;gap:16px;margin-bottom:8px;font-size:14px;display:flex}.award-tickets-info{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.tickets-count{color:#2d3748;font-size:15px;font-weight:500}.tickets-remaining{color:#d69e2e;background:#fefce8;border-radius:8px;padding:2px 10px;font-size:14px;font-weight:600}.claim-deadline{color:#c05621;margin-top:8px;font-size:13px;font-weight:500}.claimed-date{color:#276749;margin-top:8px;font-size:13px}.award-claim-section{border-top:1px solid #e2e8f0;align-items:flex-end;gap:12px;margin-top:16px;padding-top:16px;display:flex}.section-select{flex:1}.section-select label{color:#4a5568;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.section-select select{background:#fff;border:1px solid #cbd5e0;border-radius:6px;width:100%;padding:8px 12px;font-size:14px}.claim-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:600;transition:opacity .2s}.claim-btn:hover:not(:disabled){opacity:.9}.claim-btn:disabled{opacity:.5;cursor:not-allowed}.no-sections-warning{color:#92400e;background:#fffbeb;border:1px solid #fef3c7;border-radius:6px;margin-top:12px;padding:10px;font-size:13px}.gspw-container{flex-direction:column;gap:16px;max-width:840px;display:flex}.gspw-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gspw-main-title{color:var(--text-primary,#1e293b);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.gspw-header-actions{align-items:center;gap:8px;display:flex}.gspw-refresh-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);width:36px;height:36px;color:var(--text-secondary,#6b7280);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.gspw-refresh-btn:hover{background:var(--bg-hover,#f8fafc);color:var(--primary,#667eea);border-color:var(--primary,#667eea)}.gspw-purchase-cta{background:var(--primary,#667eea);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:background .2s;display:flex}.gspw-purchase-cta:hover:not(:disabled){background:#5a6fd6}.gspw-purchase-cta:disabled{opacity:.5;cursor:not-allowed}.gspw-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite gspw-shimmer}@keyframes gspw-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gspw-loading{padding:8px 0}.gspw-error{text-align:center;color:var(--text-secondary,#6b7280);flex-direction:column;align-items:center;gap:8px;padding:2.5rem 1.5rem;display:flex}.gspw-error p{margin:0;font-size:14px}.gspw-retry-btn{border:1px solid var(--primary,#667eea);color:var(--primary,#667eea);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.gspw-retry-btn:hover{background:var(--primary,#667eea);color:#fff}.gspw-empty{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.gspw-empty-icon{margin-bottom:.5rem;font-size:2.5rem}.gspw-empty-title{color:var(--text-primary,#1e293b);margin:0 0 4px;font-size:15px;font-weight:600}.gspw-empty-hint{color:var(--text-muted,#9ca3af);margin:0 0 16px;font-size:13px}.gspw-empty-purchase-btn{background:var(--primary,#667eea);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s;display:inline-flex}.gspw-empty-purchase-btn:hover{background:#5a6fd6}.gspw-section{margin-bottom:8px}.gspw-section-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary,#6b7280);border-bottom:1px solid var(--border-color,#e2e8f0);margin:0 0 10px;padding-bottom:6px;font-size:13px;font-weight:600}.gspw-pass-list{flex-direction:column;gap:12px;display:flex}.gspw-pass-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;border-radius:10px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.gspw-pass-card:hover{border-color:var(--primary,#667eea);box-shadow:0 2px 8px #667eea1a}.gspw-pass-card:focus-visible{outline:2px solid var(--primary,#667eea);outline-offset:2px}.gspw-pass-card--expired{opacity:.65}.gspw-pass-card--expired:hover{border-color:var(--border-color,#e2e8f0);box-shadow:none;cursor:default}.gspw-pass-card-header{justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:8px;display:flex}.gspw-pass-name{color:var(--text-primary,#1e293b);margin:0;font-size:15px;font-weight:600}.gspw-pass-season{color:var(--text-secondary,#6b7280);margin:2px 0 0;font-size:13px}.gspw-status-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:12px;flex-shrink:0;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.gspw-status--active{color:#388e3c;background:#ecfdf5}.gspw-status--expired{color:#9e9e9e;background:#f3f4f6}.gspw-status--suspended{color:#d32f2f;background:#fef2f2}.gspw-pass-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.gspw-pass-meta-item{align-items:center;gap:5px;display:flex}.gspw-pass-action{border-top:1px solid var(--border-color,#e2e8f0);color:var(--primary,#667eea);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;padding-top:10px;font-size:13px;font-weight:500;display:flex}.gspw-detail{flex-direction:column;gap:12px;display:flex}.gspw-back-link{color:var(--primary,#667eea);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:500;transition:color .2s;display:inline-flex}.gspw-back-link:hover{color:#5a6fd6}.gspw-detail-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:12px;overflow:hidden}.gspw-detail-header-strip{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;display:flex}.gspw-detail-header-strip h2{margin:0;font-size:18px;font-weight:700}.gspw-detail-status-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;color:#fff;background:#fff3;border-radius:12px;align-items:center;gap:4px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-flex}.gspw-detail-body{padding:20px}.gspw-qr-section{border-bottom:1px dashed var(--border-color,#e2e8f0);flex-direction:column;align-items:center;margin-bottom:20px;padding:20px 0;display:flex}.gspw-qr-frame{background:#fff;border:3px solid #7b1fa2;border-radius:12px;justify-content:center;align-items:center;width:240px;height:240px;display:flex;overflow:hidden}.gspw-qr-image{border-radius:8px;width:220px;height:220px}.gspw-qr-loading{width:220px;height:220px;color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.gspw-qr-error{color:#991b1b;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:220px;height:220px;padding:12px;font-size:13px;display:flex}.gspw-qr-code-text{color:var(--text-secondary,#6b7280);letter-spacing:1px;margin-top:8px;font-family:SF Mono,Fira Code,monospace;font-size:12px}.gspw-qr-cached-badge{color:#15803d;background:#ecfdf5;border-radius:10px;align-items:center;gap:4px;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.gspw-offline-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.gspw-info-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.gspw-info-item{flex-direction:column;gap:2px;display:flex}.gspw-info-item label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted,#9ca3af);font-size:11px;font-weight:600}.gspw-info-item span{color:var(--text-primary,#1e293b);font-size:14px;font-weight:500}.gspw-holder-info{background:var(--bg-subtle,#f8fafc);border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px;display:flex}.gspw-holder-icon{font-size:1.25rem}.gspw-holder-name{color:var(--text-primary,#1e293b);font-size:14px;font-weight:600}.gspw-detail-actions{border-top:1px solid var(--border-color,#e2e8f0);gap:8px;margin-top:8px;padding-top:16px;display:flex}.gspw-detail-action-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);color:var(--text-secondary,#6b7280);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.gspw-detail-action-btn:hover{background:var(--bg-hover,#f8fafc);color:var(--primary,#667eea);border-color:var(--primary,#667eea)}@media (width<=640px){.gspw-pass-meta{flex-direction:column;gap:4px}.gspw-info-grid{grid-template-columns:1fr}.gspw-header{flex-direction:column;align-items:flex-start}.gspw-header-actions{justify-content:space-between;width:100%}.gspw-detail-actions{flex-direction:column}.gspw-detail-action-btn{justify-content:center;width:100%}}.gtp-container{flex-direction:column;gap:16px;max-width:840px;display:flex}.gtp-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.gtp-main-title{color:var(--text-primary,#1e293b);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.gtp-refresh-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);width:36px;height:36px;color:var(--text-secondary,#6b7280);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.gtp-refresh-btn:hover{background:var(--bg-hover,#f8fafc);color:var(--primary,#667eea);border-color:var(--primary,#667eea)}.gtp-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s ease-in-out infinite gtp-shimmer}@keyframes gtp-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gtp-loading{padding:8px 0}.gtp-error{text-align:center;color:var(--text-secondary,#6b7280);flex-direction:column;align-items:center;gap:8px;padding:2.5rem 1.5rem;display:flex}.gtp-error p{margin:0;font-size:14px}.gtp-retry-btn{border:1px solid var(--primary,#667eea);color:var(--primary,#667eea);cursor:pointer;background:0 0;border-radius:6px;margin-top:4px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.gtp-retry-btn:hover{background:var(--primary,#667eea);color:#fff}.gtp-empty{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.gtp-empty-icon{margin-bottom:.5rem;font-size:2.5rem}.gtp-empty-title{color:var(--text-primary,#1e293b);margin:0 0 4px;font-size:15px;font-weight:600}.gtp-empty-hint{color:var(--text-muted,#9ca3af);margin:0;font-size:13px}.gtp-game-list{flex-direction:column;gap:12px;display:flex}.gtp-game-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;border-radius:10px;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.gtp-game-card:hover{border-color:var(--primary,#667eea);box-shadow:0 2px 8px #667eea1a}.gtp-game-card:focus-visible{outline:2px solid var(--primary,#667eea);outline-offset:2px}.gtp-game-card--past{opacity:.5;cursor:not-allowed}.gtp-game-card--past:hover{border-color:var(--border-color,#e2e8f0);box-shadow:none}.gtp-game-card-header{align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.gtp-game-icon{flex-shrink:0;margin-top:2px;font-size:1.25rem;line-height:1}.gtp-game-teams{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.gtp-game-title{color:var(--text-primary,#1e293b);margin:0;font-size:15px;font-weight:600}.gtp-game-badge{text-transform:uppercase;letter-spacing:.3px;color:#15803d;white-space:nowrap;background:#ecfdf5;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.gtp-game-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;gap:12px;font-size:13px;display:flex}.gtp-game-meta-item{align-items:center;gap:5px;display:flex}.gtp-game-action{border-top:1px solid var(--border-color,#e2e8f0);color:var(--primary,#667eea);justify-content:flex-end;align-items:center;gap:4px;margin-top:10px;padding-top:10px;font-size:13px;font-weight:500;display:flex}.gtp-back-link{color:var(--primary,#667eea);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 0;font-size:13px;font-weight:500;transition:color .2s;display:inline-flex}.gtp-back-link:hover{color:#5a6fd6}.gtp-payment-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex}.gtp-payment-error span{flex:1}.gtp-dismiss-btn{color:#991b1b;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:14px;transition:background .2s;display:flex}.gtp-dismiss-btn:hover{background:#fecaca}.gtp-offline-banner{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex}.gtp-detail-header{margin-top:4px}.gtp-detail-title{color:var(--text-primary,#1e293b);margin:0 0 8px;font-size:18px;font-weight:700}.gtp-detail-meta{color:var(--text-secondary,#6b7280);flex-direction:column;gap:6px;font-size:14px;display:flex}.gtp-detail-meta span{align-items:center;gap:6px;display:flex}.gtp-detail-loading{padding:12px 0}.gtp-detail-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;padding:12px 14px;font-size:14px;display:flex}.gtp-availability{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:10px;margin-top:16px;padding:16px}.gtp-availability-title{color:var(--text-primary,#1e293b);margin:0 0 12px;font-size:15px;font-weight:600}.gtp-availability-summary{align-items:center;gap:12px;margin-bottom:12px;display:flex}.gtp-avail-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.gtp-avail--on-sale{color:#15803d;background:#ecfdf5}.gtp-avail--sold-out{color:#991b1b;background:#fef2f2}.gtp-avail--not-on-sale{color:#6b7280;background:#f3f4f6}.gtp-avail-count{color:var(--text-secondary,#6b7280);font-size:13px}.gtp-ticket-types{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.gtp-ticket-type-row{background:var(--bg-subtle,#f8fafc);border-radius:6px;align-items:center;gap:12px;padding:8px 12px;font-size:13px;display:flex}.gtp-ticket-type-name{color:var(--text-primary,#1e293b);text-transform:capitalize;flex:1;font-weight:500}.gtp-ticket-type-price{color:var(--text-primary,#1e293b);font-weight:600}.gtp-ticket-type-avail{color:#15803d;font-size:12px}.gtp-ticket-type-avail.sold-out{color:#991b1b}.gtp-purchase-btn{background:var(--primary,#667eea);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px 20px;font-size:15px;font-weight:600;transition:background .2s,opacity .2s;display:flex}.gtp-purchase-btn:hover:not(:disabled){background:#5a6fd6}.gtp-purchase-btn:disabled{opacity:.5;cursor:not-allowed}.gtp-payment{flex-direction:column;gap:12px;display:flex}.gtp-payment-header{align-items:center;gap:16px;display:flex}.gtp-payment-title{color:var(--text-primary,#1e293b);margin:0;font-size:16px;font-weight:600}.gtp-payment-loading{color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:3rem;display:flex}.gtp-payment-loading p{margin:0;font-size:14px}.gtp-iframe-container{border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:10px;overflow:hidden}.gtp-payment-iframe{border:none;width:100%;height:70vh;min-height:600px;display:block}@media (width<=640px){.gtp-game-meta{flex-direction:column;gap:4px}.gtp-ticket-type-row{flex-wrap:wrap}.gtp-payment-iframe{height:60vh;min-height:500px}}.season-ticket-management{padding:0}.season-ticket-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.season-filter-select{border:1px solid #d1d5db;border-radius:6px;min-width:200px;padding:.5rem 1rem;font-size:.9rem}.season-ticket-form-card,.season-ticket-table-card,.season-ticket-holders-card{background:#fff;border-radius:8px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.season-ticket-form-card h3,.season-ticket-table-card h3,.season-ticket-holders-card h3{color:#1f2937;margin:0 0 1rem;font-size:1.1rem}.form-group input,.form-group select{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem}.form-actions{gap:.75rem;margin-top:1rem;display:flex}.season-ticket-table{border-collapse:collapse;width:100%}.season-ticket-table th,.season-ticket-table td{text-align:left;border-bottom:1px solid #e5e7eb;padding:.6rem .75rem;font-size:.9rem}.season-ticket-table th{color:#374151;background:#f9fafb;font-weight:600}.season-ticket-table tbody tr:hover{background:#f3f4f6}.holders-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.thub-actions{gap:.75rem;margin-bottom:1.5rem;display:flex}.thub-action-btn{height:44px;font-size:.95rem;font-weight:600}.thub-section{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:1.5rem;padding:1rem 1.25rem;overflow:hidden}.thub-section-title{color:#374151;border-bottom:1px solid #f3f4f6;align-items:center;gap:.5rem;margin:0 0 .75rem;padding-bottom:.5rem;font-size:1rem;font-weight:600;display:flex}.thub-section-title svg{color:#6366f1;flex-shrink:0}.thub-section .my-tickets,.thub-section .my-awards,.thub-section .season-ticket-management{max-width:none;margin:0;padding:0}.thub-section .gspw-wallet{padding:0}.thub-back-btn{color:#4b5563;cursor:pointer;background:0 0;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:.4rem;margin-bottom:1rem;padding:.5rem .75rem;font-size:.875rem;transition:background .15s;display:inline-flex}.thub-back-btn:hover{background:#f9fafb}@media (width<=640px){.thub-actions{flex-direction:column}.thub-action-btn{justify-content:center}.thub-section{padding:.75rem}}.ticket-entitlement-config{max-width:900px;padding:20px}.ticket-entitlement-config h2{color:#1a1a2e;margin-bottom:4px}.config-subtitle{color:#666;margin-bottom:24px;font-size:14px}.config-success{color:#276749;background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;margin-bottom:16px;padding:12px 16px}.config-sections{flex-direction:column;gap:24px;display:flex}.config-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:24px}.config-section h3{color:#2d3748;margin:0 0 8px;font-size:16px}.section-hint{color:#718096;margin-bottom:16px;font-size:13px}.policy-form{flex-direction:column;gap:16px;display:flex}.ticket-entitlement-config .form-group input[type=number],.ticket-entitlement-config .form-group input[type=text]{border:1px solid #cbd5e0;border-radius:6px;max-width:300px;padding:8px 12px;font-size:14px}.checkbox-label{cursor:pointer;align-items:center;gap:8px;display:flex}.checkbox-label input[type=checkbox]{width:16px;height:16px}.save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;max-width:200px;padding:10px 24px;font-size:14px;font-weight:600;transition:opacity .2s}.save-btn:hover:not(:disabled){opacity:.9}.save-btn:disabled{opacity:.5;cursor:not-allowed}.generate-form{align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.generate-form .form-group{flex:1}.generate-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#48bb78;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600}.generate-btn:hover:not(:disabled){background:#38a169}.generate-btn:disabled{opacity:.5;cursor:not-allowed}.generate-result{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:16px}.generate-result h4{color:#276749;margin:0 0 8px}.generate-result p{color:#2f855a;margin:4px 0}.result-hint{font-size:13px;color:#48bb78!important}.scanner-header{margin-bottom:24px}.scanner-header h2{color:#1a1a2e;margin:0 0 4px;font-size:1.5rem;font-weight:700}.scanner-subtitle{color:#6b7280;margin:0;font-size:.95rem}.scan-form{margin-bottom:24px}.scan-input-group{gap:8px;display:flex}.scan-input{border:2px solid #e5e7eb;border-radius:10px;outline:none;flex:1;padding:14px 16px;font-family:Courier New,monospace;font-size:1.1rem;transition:border-color .2s}.scan-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea26}.scan-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:14px 24px;font-size:1rem;font-weight:600;transition:opacity .2s,transform .1s}.scan-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.scan-btn:disabled{opacity:.5;cursor:not-allowed}.scan-hint{color:#9ca3af;margin:6px 0 0 4px;font-size:.8rem}.scan-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:.95rem;display:flex}.scan-result{border:2px solid;border-radius:14px;margin-bottom:24px;padding:24px;transition:all .3s}.scan-result.status-valid{background:#f0fdf4;border-color:#22c55e}.scan-result.status-already-used{background:#fffbeb;border-color:#f59e0b}.scan-result.status-cancelled,.scan-result.status-invalid{background:#fef2f2;border-color:#ef4444}.scan-result.status-confirmed{background:#ecfdf5;border-color:#10b981}.result-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.result-icon{font-size:2rem}.result-status{letter-spacing:1px;font-size:1.5rem;font-weight:800}.status-valid .result-status{color:#15803d}.status-already-used .result-status{color:#b45309}.status-cancelled .result-status,.status-invalid .result-status{color:#dc2626}.status-confirmed .result-status{color:#059669}.result-message{color:#4b5563;background:#fff9;border-radius:8px;margin-bottom:16px;padding:8px 12px;font-size:.95rem}.result-details{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.detail-row{background:#ffffff80;border-radius:6px;justify-content:space-between;padding:6px 12px;display:flex}.detail-label{color:#374151;font-size:.9rem;font-weight:600}.detail-value{color:#1f2937;text-align:right;font-size:.9rem}.warning-row{background:#f59e0b26}.warning-row .detail-value{color:#b45309;font-weight:600}.result-actions{gap:12px;margin-top:16px;display:flex}.confirm-entry-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:none;border-radius:10px;flex:1;padding:14px 24px;font-size:1.1rem;font-weight:700;transition:opacity .2s,transform .1s}.confirm-entry-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.confirm-entry-btn:disabled{opacity:.5;cursor:not-allowed}.reset-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:10px;padding:14px 24px;font-size:1rem;font-weight:600;transition:background .2s}.reset-btn:hover{background:#e5e7eb}.confirm-result{text-align:center;border-radius:8px;margin-top:12px;padding:12px 16px;font-weight:600}.confirm-success{color:#15803d;background:#dcfce7}.confirm-failure{color:#dc2626;background:#fef2f2}.scan-history{margin-top:32px}.scan-history h3{color:#374151;margin:0 0 12px;font-size:1.1rem;font-weight:700}.history-list{flex-direction:column;gap:4px;max-height:300px;display:flex;overflow-y:auto}.history-item{border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;padding:8px 12px;font-size:.85rem;display:flex}.history-item.status-valid{background:#f0fdf4;border-color:#bbf7d0}.history-item.status-already-used{background:#fffbeb;border-color:#fde68a}.history-item.status-cancelled,.history-item.status-invalid{background:#fef2f2;border-color:#fecaca}.history-item.status-confirmed{background:#ecfdf5;border-color:#a7f3d0}.history-icon{font-size:1rem}.history-code{color:#6b7280;flex:1;font-family:Courier New,monospace}.history-status{text-transform:uppercase;text-align:center;min-width:100px;font-size:.8rem;font-weight:700}.history-time{color:#9ca3af;text-align:right;min-width:70px;font-size:.8rem}.clear-history-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;margin-top:8px;padding:6px 14px;font-size:.8rem;transition:background .2s}.clear-history-btn:hover{background:#f3f4f6}@media (width<=640px){.scan-input-group,.result-actions{flex-direction:column}.detail-row{flex-direction:column;gap:2px}.detail-value{text-align:left}.history-item{flex-wrap:wrap}}.refund-transfer-container{max-width:900px;margin:0 auto}.refund-transfer-container h3{color:#1a1a2e;margin:0 0 1rem;font-size:1.25rem}.refund-transfer-container .section-description{color:#666;margin-bottom:1.5rem;font-size:.9rem}.refund-card,.transfer-card,.history-card{background:#fff;border:1px solid #e8e8e8;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.refund-card h4,.transfer-card h4,.history-card h4{color:#1a1a2e;margin:0 0 1rem;font-size:1.1rem}.refund-form,.transfer-form{flex-direction:column;gap:1rem;display:flex}.form-row{align-items:flex-end;gap:1rem;display:flex}.form-row .form-group{flex:1}.form-group input,.form-group select,.form-group textarea{border:1px solid #d0d0d0;border-radius:8px;padding:.6rem .75rem;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4a90d9;outline:none;box-shadow:0 0 0 3px #4a90d91f}.form-group textarea{resize:vertical;min-height:60px}.btn-refund{color:#fff;cursor:pointer;background:#e74c3c;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-refund:hover:not(:disabled){background:#c0392b}.btn-refund:disabled{opacity:.5;cursor:not-allowed}.btn-bulk-refund{color:#fff;cursor:pointer;background:#e67e22;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-bulk-refund:hover:not(:disabled){background:#d35400}.btn-bulk-refund:disabled{opacity:.5;cursor:not-allowed}.btn-transfer{color:#fff;cursor:pointer;background:#3498db;border:none;border-radius:8px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-transfer:hover:not(:disabled){background:#2980b9}.btn-transfer:disabled{opacity:.5;cursor:not-allowed}.btn-search{color:#fff;cursor:pointer;background:#6c757d;border:none;border-radius:8px;padding:.6rem 1rem;font-size:.9rem;font-weight:600;transition:background .2s}.btn-search:hover:not(:disabled){background:#545b62}.alert-info{color:#0c5460;background:#d1ecf1;border:1px solid #bee5eb}.alert-warning{color:#856404;background:#fff3cd;border:1px solid #ffeeba}.ticket-table{border-collapse:collapse;width:100%;font-size:.88rem}.ticket-table th,.ticket-table td{text-align:left;border-bottom:1px solid #eee;padding:.6rem .75rem}.ticket-table th{color:#555;text-transform:uppercase;letter-spacing:.03em;background:#f7f8fa;font-size:.8rem;font-weight:600}.ticket-table tr:hover{background:#fafbfc}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:12px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-full{color:#c0392b;background:#ffeaea}.badge-partial{color:#856404;background:#fff3cd}.badge-credit{color:#0c5460;background:#d1ecf1}.badge-valid{color:#155724;background:#d4edda}.badge-cancelled{color:#721c24;background:#f8d7da}.badge-refunded{color:#383d41;background:#e2e3e5}.history-tabs{border-bottom:2px solid #e8e8e8;gap:0;margin-bottom:1.5rem;display:flex}.history-tab{color:#666;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:.6rem 1.2rem;font-size:.9rem;font-weight:600;transition:all .2s}.history-tab.active{color:#4a90d9;border-bottom-color:#4a90d9}.history-tab:hover:not(.active){color:#333}.empty-state .empty-icon{margin-bottom:.5rem;font-size:2.5rem}.confirm-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:12px;width:90%;max-width:420px;padding:1.5rem;box-shadow:0 8px 32px #00000026}.confirm-dialog h4{color:#1a1a2e;margin:0 0 .75rem}.confirm-dialog p{color:#555;margin:0 0 1.25rem;font-size:.9rem;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:.75rem;display:flex}.btn-cancel{color:#333;cursor:pointer;background:#e8e8e8;border:none;border-radius:8px;padding:.5rem 1rem;font-weight:600}.loading-spinner{text-align:center;color:#999;padding:2rem}.refund-summary{gap:1rem;margin-bottom:1.5rem;display:flex}.summary-stat{text-align:center;background:#f7f8fa;border-radius:10px;flex:1;padding:1rem}.summary-stat .stat-value{color:#1a1a2e;font-size:1.5rem;font-weight:700}.summary-stat .stat-label{color:#888;margin-top:.25rem;font-size:.8rem}@media (width<=640px){.form-row,.refund-summary{flex-direction:column}.confirm-actions{flex-direction:column-reverse}}.field-error{color:#b91c1c;margin-top:.35rem;font-size:.85rem}.utilization-report{flex-direction:column;gap:1.5rem;display:flex}.report-filters{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;display:flex}.filter-group{flex-direction:column;flex:1;gap:.35rem;min-width:140px;display:flex}.filter-group label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.filter-group input,.filter-group select{border:1px solid var(--border-color,#d1d5db);background:var(--input-bg,#fff);color:var(--text-primary,#1f2937);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;transition:border-color .2s}.filter-group input:focus,.filter-group select:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.preset-row{border-top:1px solid var(--border-color,#e5e7eb);align-items:center;gap:.5rem;margin-top:.75rem;padding-top:.75rem;display:flex}.preset-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;font-size:.75rem;font-weight:600}.preset-btn{border:1px solid var(--border-color,#d1d5db);background:var(--card-bg,#fff);color:var(--text-primary,#374151);cursor:pointer;border-radius:6px;padding:.3rem .75rem;font-size:.75rem;transition:all .15s}.preset-btn:hover{color:#fff;background:#3b82f6;border-color:#3b82f6}.report-loading{color:var(--text-secondary,#6b7280);flex-direction:column;align-items:center;padding:3rem;display:flex}.summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.summary-card{background:var(--card-bg,#fff);text-align:center;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.summary-card.highlight{border:2px solid #3b82f6}.summary-value{color:var(--text-primary,#1f2937);font-size:1.75rem;font-weight:700;line-height:1.2}.summary-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem;font-size:.75rem;font-weight:600}.report-section{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.report-section h3{color:var(--text-primary,#1f2937);margin:0 0 1rem;font-size:1rem;font-weight:600}.comparison-table{border-collapse:collapse;width:100%;font-size:.875rem}.comparison-table th{text-align:left;color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border-color,#e5e7eb);padding:.6rem .75rem;font-size:.75rem;font-weight:600}.comparison-table td{border-bottom:1px solid var(--border-color,#f3f4f6);color:var(--text-primary,#374151);padding:.6rem .75rem}.comparison-table tbody tr:hover{background:var(--hover-bg,#f9fafb)}.court-name{font-weight:600}.utilization-bar-container{background:#e5e7eb;border-radius:4px;min-width:80px;height:8px;overflow:hidden}.utilization-bar{border-radius:4px;height:100%;transition:width .4s}.utilization-badge{color:#fff;text-align:center;border-radius:12px;min-width:44px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.breakdowns-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.breakdowns-grid{grid-template-columns:1fr}}.breakdown-bars{flex-direction:column;gap:.75rem;display:flex}.breakdown-item{flex-direction:column;gap:.25rem;display:flex}.breakdown-header{justify-content:space-between;align-items:center;display:flex}.breakdown-name{color:var(--text-primary,#1f2937);font-size:.875rem;font-weight:600}.breakdown-value{color:var(--text-secondary,#6b7280);font-size:.75rem}.progress-bar-track{background:#e5e7eb;border-radius:5px;height:10px;overflow:hidden}.progress-bar-fill{border-radius:5px;height:100%;transition:width .4s}.breakdown-pct{color:var(--text-secondary,#6b7280);align-self:flex-end;font-size:.75rem;font-weight:600}.ticket-sales-report{flex-direction:column;gap:1.5rem;display:flex}.ticket-sales-report .summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.ticket-sales-report .summary-card{background:var(--card-bg,#fff);text-align:center;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 3px #00000014}.ticket-sales-report .summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.ticket-sales-report .summary-card.highlight{background:linear-gradient(135deg,#3b82f60a,#3b82f614);border-color:#3b82f6}.summary-icon{margin-bottom:.5rem;font-size:1.5rem}.ticket-sales-report .summary-value{color:var(--text-primary,#1f2937);font-size:1.75rem;font-weight:700;line-height:1.2}.ticket-sales-report .summary-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;letter-spacing:.05em;margin-top:.35rem;font-size:.75rem;font-weight:600}.game-name{flex-direction:column;gap:.15rem;display:flex}.game-title{color:var(--text-primary,#1f2937);font-weight:600}.game-teams{color:var(--text-secondary,#6b7280);font-size:.75rem}.ticket-sales-report .status-badge{text-transform:uppercase;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.status-scheduled{color:#92400e;background:#fef3c7}.status-confirmed{color:#065f46;background:#d1fae5}.status-completed{color:#1e40af;background:#dbeafe}.status-cancelled{color:#991b1b;background:#fee2e2}.attendance-badge{font-size:.9rem;font-weight:700}.drilldown-btn{border:1px solid var(--border-color,#d1d5db);cursor:pointer;background:0 0;border-radius:6px;padding:.3rem .6rem;font-size:1rem;transition:background .15s}.drilldown-btn:hover{background:var(--hover-bg,#f3f4f6)}.trend-chart{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem}.chart-legend{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.legend-swatch{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-swatch.tickets{background:#3b82f6}.legend-swatch.season{background:#8b5cf6}.legend-swatch.revenue{background:#10b981}.legend-swatch.attendance{background:#f59e0b}.chart-bars{align-items:flex-end;gap:.5rem;min-height:200px;padding-bottom:.5rem;display:flex;overflow-x:auto}.chart-column{flex-direction:column;flex:1;align-items:center;min-width:60px;display:flex}.bar-group{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:150px;display:flex}.bar{border-radius:4px 4px 0 0;flex:1;justify-content:center;align-items:flex-start;min-width:16px;max-width:28px;min-height:4px;transition:height .3s;display:flex}.tickets-bar{background:#3b82f6}.season-bar{background:#8b5cf6}.bar-value{color:#fff;white-space:nowrap;padding-top:2px;font-size:.6rem;font-weight:700}.chart-meta{flex-direction:column;align-items:center;gap:.1rem;margin-top:.35rem;display:flex}.chart-revenue{color:#10b981;font-size:.65rem;font-weight:600}.chart-attendance{font-size:.65rem;font-weight:700}.chart-label{color:var(--text-secondary,#6b7280);text-align:center;white-space:nowrap;margin-top:.25rem;font-size:.65rem}.drilldown-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.drilldown-panel{background:var(--card-bg,#fff);border-radius:16px;width:90%;max-width:800px;max-height:85vh;animation:.25s slideUp;overflow-y:auto;box-shadow:0 20px 60px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.drilldown-header{border-bottom:1px solid var(--border-color,#e5e7eb);justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.drilldown-header h2{color:var(--text-primary,#1f2937);margin:0;font-size:1.25rem}.drilldown-close{cursor:pointer;color:var(--text-secondary,#6b7280);background:0 0;border:none;border-radius:6px;padding:.25rem .5rem;font-size:1.25rem;transition:background .15s}.drilldown-close:hover{background:var(--hover-bg,#f3f4f6)}.drilldown-content{flex-direction:column;gap:1.5rem;padding:1.5rem;display:flex}.drilldown-game-info{text-align:center}.drilldown-game-info h3{margin:0 0 .25rem;font-size:1.1rem}.game-matchup{color:var(--text-secondary,#6b7280);margin:0 0 .25rem}.game-date{color:var(--text-secondary,#6b7280);margin:0 0 .5rem;font-size:.85rem}.drilldown-summary{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;display:grid}.drill-card{background:var(--hover-bg,#f9fafb);text-align:center;border:1px solid var(--border-color,#e5e7eb);border-radius:10px;padding:1rem}.drill-card.highlight{background:linear-gradient(135deg,#3b82f60a,#3b82f614);border-color:#3b82f6}.drill-value{color:var(--text-primary,#1f2937);font-size:1.35rem;font-weight:700}.drill-label{color:var(--text-secondary,#6b7280);text-transform:uppercase;margin-top:.25rem;font-size:.7rem;font-weight:600}.drilldown-sections h4{color:var(--text-primary,#1f2937);margin:0 0 .75rem;font-size:1rem}.section-name{font-weight:600}.capacity-display{align-items:center;gap:.5rem;display:flex}.capacity-badge{min-width:3rem;font-size:.85rem;font-weight:700}.capacity-bar-container{background:var(--hover-bg,#e5e7eb);border-radius:3px;flex:1;min-width:60px;height:6px;overflow:hidden}.capacity-bar{border-radius:3px;height:100%;transition:width .3s}.ticket-sales-report .report-section{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.ticket-sales-report .report-section h3{color:var(--text-primary,#1f2937);margin:0 0 1rem;font-size:1rem;font-weight:600}.ticket-sales-report .comparison-table{border-collapse:collapse;width:100%;font-size:.85rem}.ticket-sales-report .comparison-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#6b7280);border-bottom:2px solid var(--border-color,#e5e7eb);padding:.6rem .75rem;font-size:.7rem;font-weight:600}.ticket-sales-report .comparison-table td{border-bottom:1px solid var(--border-color,#f3f4f6);color:var(--text-primary,#374151);padding:.6rem .75rem}.ticket-sales-report .comparison-table tbody tr:hover{background:var(--hover-bg,#f9fafb)}.drilldown-panel .comparison-table{border-collapse:collapse;width:100%;font-size:.85rem}.drilldown-panel .comparison-table th{text-align:left;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#6b7280);border-bottom:2px solid var(--border-color,#e5e7eb);padding:.6rem .75rem;font-size:.7rem;font-weight:600}.drilldown-panel .comparison-table td{border-bottom:1px solid var(--border-color,#f3f4f6);color:var(--text-primary,#374151);padding:.6rem .75rem}.drilldown-panel .comparison-table tbody tr:hover{background:var(--hover-bg,#f9fafb)}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.athlete-detail-modal{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.modal-header{z-index:1;background:#fff;border-bottom:1px solid #e2e8f0;border-radius:12px 12px 0 0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.modal-header h3{color:#1e293b;margin:0;font-size:20px}.close-btn{cursor:pointer;color:#64748b;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;transition:all .15s;display:flex}.close-btn:hover{color:#1e293b;background:#e2e8f0}.athlete-summary{flex-wrap:wrap;gap:12px;padding:20px 24px;display:flex}.stat-card{text-align:center;background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:100px;padding:12px}.stat-card .stat-value{font-size:22px;font-weight:700}.stat-card .stat-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:2px;font-size:11px}.athlete-team-info{color:#64748b;padding:0 24px 16px;font-size:13px}.session-list{padding:0 24px 24px}.session-table{border-collapse:collapse;width:100%}.session-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:2px solid #e2e8f0;padding:8px 10px;font-size:11px;font-weight:600}.session-table td{border-bottom:1px solid #f1f5f9;padding:8px 10px;font-size:13px}.session-table tr:hover{background:#f8fafc}.session-table tr.status-absent{background:#fef2f2}.session-table tr.status-absent:hover{background:#fee2e2}.session-table tr.status-excused{background:#fffbeb}.session-table tr.status-late{background:#fff7ed}.session-type{color:#475569;background:#e2e8f0;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.athlete-detail-modal .status-badge{font-size:13px}.notes-col{text-overflow:ellipsis;white-space:nowrap;color:#94a3b8;max-width:150px;overflow:hidden}.empty-row{text-align:center;color:#94a3b8;padding:24px!important}.modal-loading{text-align:center;color:#94a3b8;padding:40px}.modal-loading .spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:28px;height:28px;margin:0 auto 12px;animation:.8s linear infinite spin}.modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:16px 24px;padding:20px 24px}@media (width<=768px){.athlete-detail-modal{max-width:100%;max-height:95vh}.athlete-summary{flex-direction:column}.session-table th:nth-child(n+5),.session-table td:nth-child(n+5){display:none}}.attendance-report{padding:0}.attendance-report .report-filters{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:20px;padding:16px}.attendance-report .filter-row{flex-wrap:wrap;gap:16px;margin-bottom:12px;display:flex}.attendance-report .filter-group{flex-direction:column;gap:4px;min-width:140px;display:flex}.attendance-report .filter-group label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.attendance-report .filter-group select,.attendance-report .filter-group input{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 12px;font-size:14px}.attendance-report .preset-row{flex-wrap:wrap;gap:8px;display:flex}.attendance-report .preset-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 12px;font-size:13px;transition:all .15s}.attendance-report .preset-btn:hover{background:#e2e8f0;border-color:#94a3b8}.attendance-report .refresh-btn{color:#fff;background:#3b82f6;border-color:#3b82f6}.attendance-report .refresh-btn:hover{background:#2563eb}.attendance-report .refresh-btn:disabled{opacity:.5;cursor:not-allowed}.attendance-report .report-tabs{border-bottom:2px solid #e2e8f0;gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.attendance-report .tab-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s}.attendance-report .tab-btn:hover{color:#1e293b;background:#f1f5f9}.attendance-report .tab-btn.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.trend-summary-cards{flex-wrap:wrap;gap:16px;margin-bottom:24px;display:flex}.summary-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex:1;min-width:120px;padding:16px}.summary-card .summary-value{color:#1e293b;font-size:28px;font-weight:700}.summary-card .summary-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-size:12px}.trend-chart{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:16px;padding:20px}.chart-bars{align-items:flex-end;gap:8px;height:220px;padding:0 8px;display:flex}.chart-bar-group{flex-direction:column;flex:1;align-items:center;min-width:40px;display:flex}.chart-bar-container{flex:1;justify-content:center;align-items:flex-end;width:100%;height:200px;display:flex}.chart-bar{border-radius:4px 4px 0 0;width:80%;max-width:60px;min-height:4px;transition:height .3s;position:relative}.chart-bar .bar-value{color:#475569;white-space:nowrap;font-size:11px;font-weight:600;position:absolute;top:-20px;left:50%;transform:translate(-50%)}.chart-bar-label{color:#64748b;text-align:center;white-space:nowrap;text-overflow:ellipsis;max-width:70px;margin-top:6px;font-size:10px;overflow:hidden}.trend-legend{color:#64748b;justify-content:center;gap:16px;font-size:12px;display:flex}.legend-item{align-items:center;gap:4px;display:flex}.ranking-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.ranking-header{color:#475569;background:#f8f9fa;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:14px;display:flex}.ranking-table{border-collapse:collapse;width:100%}.ranking-table th{text-align:left;color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#fafbfc;border-bottom:1px solid #e2e8f0;padding:10px 12px;font-size:12px;font-weight:600}.ranking-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px;font-size:14px}.ranking-table tr:hover{background:#f8fafc}.ranking-table tr.low-attendance{background:#fef2f2}.ranking-table tr.low-attendance:hover{background:#fee2e2}.rank-col{color:#94a3b8;width:40px;font-weight:700}.name-col{font-weight:500}.rate-badge{color:#fff;border-radius:12px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.vs-avg.positive{color:#27ae60;font-weight:600}.vs-avg.negative{color:#e74c3c;font-weight:600}.detail-btn{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:14px}.detail-btn:hover{background:#f1f5f9}.patterns-section{flex-direction:column;gap:24px;display:flex}.pattern-block{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:20px}.pattern-block h4{color:#1e293b;margin:0 0 16px;font-size:16px}.pattern-bars{flex-direction:column;gap:10px;display:flex}.pattern-row{align-items:center;gap:12px;display:flex}.pattern-label{color:#475569;flex-shrink:0;width:100px;font-size:13px;font-weight:500}.pattern-bar-track{background:#f1f5f9;border-radius:4px;flex:1;height:24px;overflow:hidden}.pattern-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .3s}.pattern-value{text-align:right;color:#1e293b;flex-shrink:0;width:50px;font-size:13px;font-weight:600}.pattern-sessions{color:#94a3b8;flex-shrink:0;width:90px;font-size:12px}@media (width<=768px){.attendance-report .filter-row,.trend-summary-cards{flex-direction:column}.chart-bars{min-width:300px;overflow-x:auto}.ranking-table{font-size:12px}.ranking-table th:nth-child(n+5),.ranking-table td:nth-child(n+5){display:none}}.budget-trends-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.budget-trends-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.header-with-back{align-items:center;gap:1rem;display:flex}.btn-back{cursor:pointer;color:#555;background:0 0;border:1px solid #ccc;border-radius:6px;padding:.4rem .8rem;font-size:.9rem;transition:all .2s}.btn-back:hover{background:#f0f0f0;border-color:#999}.budget-trends-controls{align-items:center;gap:.75rem;display:flex}.budget-trends-controls label{color:#555;font-weight:500}.budget-trends-controls select{border:1px solid #ddd;border-radius:6px;padding:.4rem .75rem;font-size:.9rem}.budget-summary-cards{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.summary-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:10px;flex:1;min-width:160px;padding:1.25rem;box-shadow:0 1px 3px #00000014}.summary-card.warning{background:#fffbeb;border-color:#f59e0b}.summary-card.success{background:#ecfdf5;border-color:#10b981}.summary-card.danger{background:#fef2f2;border-color:#ef4444}.summary-card-value{color:#1a1a2e;margin-bottom:.25rem;font-size:1.6rem;font-weight:700}.summary-card-label{color:#888;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem}.compare-bar{background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem 1rem;display:flex}.compare-bar span{color:#1e40af;font-weight:500}.team-budget-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.team-budget-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:box-shadow .2s;box-shadow:0 1px 3px #00000014}.team-budget-card:hover{box-shadow:0 4px 12px #0000001f}.team-budget-card.deficit{border-left:4px solid #f59e0b}.team-budget-card.overrun{border-left:4px solid #ef4444}.team-budget-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.team-budget-card-header h3{color:#1a1a2e;margin:0;font-size:1.1rem}.team-budget-badges{gap:.5rem;display:flex}.team-budget-metrics{flex-direction:column;gap:.5rem;margin-bottom:1rem;display:flex}.metric{justify-content:space-between;align-items:center;display:flex}.metric-label{color:#666;font-size:.85rem}.metric-value{font-size:.95rem;font-weight:600}.metric-value.income,.income-text{color:#059669}.metric-value.expense,.expense-text{color:#dc2626}.metric-value.positive,.positive{color:#059669}.metric-value.negative,.negative{color:#dc2626}.team-budget-actuals{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:.75rem}.actuals-label{color:#888;text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;font-size:.75rem}.actuals-row{justify-content:space-between;padding:.15rem 0;font-size:.85rem;display:flex}.team-budget-actions{border-top:1px solid #f0f0f0;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.btn-action{cursor:pointer;background:#f0f0f0;border:1px solid #ddd;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;transition:all .2s}.btn-action:hover{background:#e0e0e0}.compare-check{color:#666;cursor:pointer;align-items:center;gap:.35rem;margin-left:auto;font-size:.8rem;display:flex}.chart-legend{background:#f9fafb;border-radius:8px;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.75rem;display:flex}.legend-dot{border-radius:3px;width:12px;height:12px;display:inline-block}.legend-dot.income{background:#10b981}.legend-dot.expense{background:#ef4444}.legend-dot.net{background:#3b82f6}.legend-dot.actual-income{opacity:.6;background:#059669;border:2px dashed #059669}.legend-dot.actual-expense{opacity:.6;background:#dc2626;border:2px dashed #dc2626}.trend-chart-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem;overflow-x:auto;box-shadow:0 1px 3px #00000014}.trend-chart{align-items:flex-end;gap:4px;min-height:220px;padding-bottom:2rem;display:flex}.trend-bar-group{flex-direction:column;flex:1;align-items:center;min-width:60px;display:flex}.trend-bars{align-items:flex-end;gap:2px;height:180px;display:flex}.trend-bar{cursor:help;border-radius:3px 3px 0 0;width:14px;transition:height .3s}.trend-bar.income{background:#10b981}.trend-bar.expense{background:#ef4444}.trend-bar.net.positive{background:#3b82f6}.trend-bar.net.negative{background:#93c5fd}.trend-bar.actual-income{opacity:.5;background:#059669;border:1px dashed #059669}.trend-bar.actual-expense{opacity:.5;background:#dc2626;border:1px dashed #dc2626}.trend-bar-label{color:#888;text-align:center;margin-top:.5rem;font-size:.7rem}.trend-table-container{overflow-x:auto}.trend-table{border-collapse:collapse;width:100%;font-size:.85rem}.trend-table th,.trend-table td{text-align:right;border-bottom:1px solid #e5e7eb;padding:.6rem .75rem}.trend-table th{color:#555;text-align:right;background:#f9fafb;font-weight:600}.trend-table th:first-child,.trend-table td:first-child{text-align:left}.trend-table tfoot td{background:#f9fafb;border-top:2px solid #e5e7eb}.comparison-table-container{margin-bottom:1.5rem;overflow-x:auto}.comparison-table{border-collapse:collapse;background:#fff;border-radius:12px;width:100%;font-size:.9rem;overflow:hidden;box-shadow:0 1px 3px #00000014}.comparison-table th,.comparison-table td{text-align:right;border-bottom:1px solid #e5e7eb;padding:.75rem 1rem}.comparison-table th{color:#333;background:#f9fafb;font-weight:600}.comparison-table th:first-child,.comparison-table td:first-child{text-align:left}.divider-row td{color:#666;background:#f0f4ff;padding:.4rem 1rem;font-size:.8rem}.comparison-bars-container{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #00000014}.comparison-bars-container h3{color:#333;margin:0 0 1rem;font-size:1.1rem}.comparison-bar-group{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.comparison-bar-group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.comparison-bar-label{color:#333;margin-bottom:.5rem;font-size:.95rem;font-weight:600}.comparison-bar-row{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.bar-metric-label{color:#888;text-align:right;width:70px;font-size:.8rem}.comparison-bar-track{background:#f0f0f0;border-radius:4px;flex:1;height:20px;overflow:hidden}.comparison-bar{border-radius:4px;height:100%;transition:width .3s}.comparison-bar.income{background:#10b981}.comparison-bar.expense{background:#ef4444}.comparison-bar.net-positive{background:#3b82f6}.comparison-bar.net-negative{background:#f59e0b}.bar-value{text-align:right;width:90px;font-size:.8rem;font-weight:600}.category-tabs{gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-btn{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.5rem 1.25rem;font-size:.85rem;transition:all .2s}.tab-btn.active{color:#fff;background:#3b82f6;border-color:#3b82f6}.tab-btn:hover:not(.active){background:#f0f0f0}.category-breakdown-list{flex-direction:column;gap:1rem;display:flex}.category-item{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 1px 3px #00000014}.category-item.over-budget{border-left:4px solid #ef4444}.category-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.category-name{color:#333;font-size:.95rem;font-weight:600}.category-bars{margin-bottom:.5rem}.category-bar-row{align-items:center;gap:.75rem;margin-bottom:.35rem;display:flex}.category-bar-label{color:#888;text-align:right;width:60px;font-size:.75rem}.category-bar-track{background:#f0f0f0;border-radius:4px;flex:1;height:18px;overflow:hidden}.category-bar{border-radius:4px;height:100%;transition:width .3s}.category-bar.budgeted{background:#93c5fd}.category-bar.actual.ok{background:#10b981}.category-bar.actual.over{background:#ef4444}.category-bar-value{text-align:right;color:#333;width:80px;font-size:.8rem;font-weight:600}.category-variance{color:#666;padding-top:.25rem;font-size:.8rem}@media (width<=768px){.budget-summary-cards{flex-direction:column}.team-budget-grid{grid-template-columns:1fr}.trend-chart{min-width:700px}.budget-trends-header{flex-direction:column;align-items:flex-start}.comparison-bar-row{flex-wrap:wrap}}.guardian-header{margin-bottom:1.5rem}.guardian-header h2{color:#1a1a2e;margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.guardian-subtitle{color:#6b7280;margin:0;font-size:.875rem}.guardian-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.guardian-error{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:3rem 2rem}.error-icon{font-size:2rem}.guardian-error p{color:#991b1b;margin:.5rem 0 1rem}.guardian-retry-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.875rem}.guardian-retry-btn:hover{background:#dc2626}.guardian-no-athletes,.guardian-no-teams{text-align:center;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;padding:3rem 2rem}.no-athletes-icon,.no-teams-icon{margin-bottom:1rem;font-size:3rem;display:block}.guardian-no-athletes h3,.guardian-no-teams h3{color:#374151;margin:0 0 .5rem;font-size:1.125rem}.guardian-no-athletes p,.guardian-no-teams p{color:#6b7280;max-width:480px;margin:0 auto;line-height:1.5}.contact-admin-hint{color:#1e40af;background:#eff6ff;border-radius:8px;align-items:center;gap:.5rem;margin-top:1.5rem;padding:.75rem 1rem;font-size:.8125rem;display:inline-flex}.hint-icon{font-size:1rem}.guardian-info-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.guardian-teams-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;display:grid}.guardian-team-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:box-shadow .2s}.guardian-team-card:hover{box-shadow:0 4px 12px #00000014}.team-card-header{align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.team-icon{flex-shrink:0;margin-top:.125rem;font-size:1.5rem}.team-info{flex:1;min-width:0}.team-name{color:#1a1a2e;margin:0 0 .375rem;font-size:1.0625rem;font-weight:600}.team-meta{flex-wrap:wrap;gap:.5rem;display:flex}.team-badge{border-radius:999px;padding:.125rem .5rem;font-size:.75rem;font-weight:500;display:inline-block}.team-badge.age-group{color:#1e40af;background:#dbeafe}.team-badge.level{color:#7c3aed;background:#f3e8ff}.team-athletes{border-top:1px solid #f3f4f6;padding-top:.75rem}.athletes-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .5rem;font-size:.75rem;font-weight:500}.athlete-row{align-items:center;gap:.625rem;padding:.375rem 0;display:flex}.athlete-avatar{color:#4338ca;background:#e0e7ff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:.6875rem;font-weight:600;display:flex}.athlete-details{flex-direction:column;display:flex}.athlete-name{color:#374151;font-size:.875rem;font-weight:500}.athlete-relationship{color:#9ca3af;font-size:.75rem}.guardian-footer{text-align:right;margin-top:1.5rem}.guardian-refresh-btn{color:#374151;cursor:pointer;background:0 0;border:1px solid #d1d5db;border-radius:6px;padding:.5rem 1rem;font-size:.8125rem;transition:background .15s}.guardian-refresh-btn:hover{background:#f9fafb}@media (width<=640px){.guardian-teams-grid{grid-template-columns:1fr}.guardian-dashboard{padding:1rem}}.guardian-messages{padding:0}.guardian-messages-header{margin-bottom:20px}.guardian-messages-header h2{color:#1a1a2e;align-items:center;gap:10px;margin:0 0 6px;font-size:1.5rem;display:flex}.guardian-messages-header .section-description{color:#666;margin:0;font-size:.9rem}.total-unread-badge{color:#fff;text-align:center;background:#e74c3c;border-radius:12px;min-width:22px;padding:2px 10px;font-size:.85rem;font-weight:600}.guardian-messages-layout{background:#fff;border:1px solid #e0e0e0;border-radius:12px;height:calc(100vh - 240px);min-height:400px;display:flex;overflow:hidden}.gm-team-sidebar{background:#fafafa;border-right:1px solid #e0e0e0;flex-direction:column;width:280px;min-width:220px;display:flex}.gm-team-sidebar h3{color:#333;border-bottom:1px solid #e0e0e0;margin:0;padding:16px;font-size:1rem}.gm-team-list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.gm-team-item{cursor:pointer;border-bottom:1px solid #f0f0f0;justify-content:space-between;align-items:center;padding:12px 16px;transition:background .15s;display:flex}.gm-team-item:hover{background:#eef2ff}.gm-team-item.active{background:#e0e7ff;border-left:3px solid #667eea}.gm-team-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.gm-team-name{color:#1a1a2e;font-size:.9rem;font-weight:600}.gm-team-preview{color:#888;white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.gm-unread-badge{color:#fff;text-align:center;background:#e74c3c;border-radius:10px;flex-shrink:0;min-width:20px;margin-left:8px;padding:1px 8px;font-size:.75rem;font-weight:600}.gm-message-area{flex-direction:column;flex:1;display:flex}.gm-message-header{background:#fff;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.gm-message-header h3{color:#1a1a2e;margin:0;font-size:1.05rem}.gm-refresh-btn{cursor:pointer;color:#555;background:0 0;border:1px solid #d0d0d0;border-radius:6px;padding:6px 12px;font-size:.85rem;transition:background .15s}.gm-refresh-btn:hover{background:#f0f0f0}.gm-refresh-btn:disabled{opacity:.5;cursor:default}.gm-message-list{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.gm-message-list-empty{color:#888;justify-content:center;align-items:center;height:100%;font-size:.95rem;display:flex}.gm-message-bubble{word-wrap:break-word;background:#f0f4ff;border-radius:12px;max-width:75%;padding:10px 16px}.gm-message-sender{color:#667eea;margin-bottom:3px;font-size:.82rem;font-weight:600}.gm-message-content{color:#1a1a2e;white-space:pre-wrap;font-size:.92rem;line-height:1.4}.gm-message-time{color:#999;text-align:right;margin-top:4px;font-size:.72rem}.gm-readonly-notice{color:#888;background:#f9f9f9;border-top:1px solid #e0e0e0;align-items:center;gap:8px;padding:12px 20px;font-size:.85rem;display:flex}.readonly-icon{font-size:1rem}.guardian-messages-loading{color:#888;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.guardian-messages-loading .loading-spinner{border:3px solid #e0e0e0;border-top-color:#667eea;border-radius:50%;width:36px;height:36px;margin-bottom:12px;animation:.8s linear infinite spin}.guardian-messages-error{color:#e74c3c;text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.guardian-messages-error .error-icon{margin-bottom:8px;font-size:2rem}.retry-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;margin-top:12px;padding:8px 20px;font-size:.9rem}.retry-btn:hover{background:#5a6fd6}.guardian-messages-empty{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;min-height:300px;display:flex}.guardian-messages-empty .empty-icon{margin-bottom:12px;font-size:3rem}.guardian-messages-empty h3{color:#333;margin:0 0 8px}.guardian-messages-empty p{max-width:480px;line-height:1.5}@media (width<=768px){.guardian-messages-layout{flex-direction:column;height:auto}.gm-team-sidebar{border-bottom:1px solid #e0e0e0;border-right:none;width:100%;min-width:0;max-height:200px}.gm-message-bubble{max-width:90%}}.gus-container{flex-direction:column;gap:16px;max-width:800px;padding:0 4px;display:flex}.gus-skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%) 0 0/200% 100%;animation:1.5s infinite gus-shimmer}@keyframes gus-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gus-loading{padding:24px 0}.gus-page-header{justify-content:space-between;align-items:center;display:flex}.gus-page-header h2{color:var(--text-primary,#1e293b);margin:0;font-size:20px;font-weight:700}.gus-refresh-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;width:36px;height:36px;color:var(--text-secondary,#6b7280);border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex}.gus-refresh-btn:hover{border-color:var(--primary,#667eea);color:var(--primary,#667eea);background:#667eea0a}.gus-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.gus-spin{animation:1s linear infinite gus-rotate}@keyframes gus-rotate{to{transform:rotate(360deg)}}.gus-filters{flex-wrap:wrap;gap:10px;display:flex}.gus-filter-group{position:relative}.gus-filter-chip{color:var(--text-primary,#1e293b);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e0e0e0;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.gus-filter-chip:hover{border-color:var(--primary,#667eea);background:#667eea0a}.gus-filter-chip.active{color:#fff;background:#7c3aed;border-color:#7c3aed}.gus-filter-chip.active:hover{background:#6d28d9;border-color:#6d28d9}.gus-chip-arrow{opacity:.7;font-size:10px}.gus-dropdown{border:1px solid var(--border-color,#e2e8f0);z-index:100;background:#fff;border-radius:10px;min-width:180px;animation:.15s ease-out gus-dropdown-in;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}@keyframes gus-dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.gus-dropdown-item{text-align:left;width:100%;color:var(--text-primary,#1e293b);cursor:pointer;background:0 0;border:none;padding:10px 16px;font-size:13px;transition:background .15s;display:block}.gus-dropdown-item:hover{background:#f8fafc}.gus-dropdown-item.active{color:#7c3aed;background:#ede9fe;font-weight:600}.gus-date-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gus-nav-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;width:32px;height:32px;color:var(--text-primary,#1e293b);border-radius:6px;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.gus-nav-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}.gus-nav-range{color:var(--text-primary,#1e293b);flex:none;font-size:14px;font-weight:600}.gus-today-btn{color:#7c3aed;cursor:pointer;background:0 0;border:1px solid #7c3aed;border-radius:6px;margin-left:auto;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.gus-today-btn:hover{color:#fff;background:#7c3aed}.gus-refreshing{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.loading-spinner.small{border-width:2px;width:14px;height:14px}.gus-error{color:#991b1b;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:3rem 2rem;display:flex}.gus-error p{margin:0;font-size:14px}.gus-retry-btn{color:#fff;cursor:pointer;background:#7c3aed;border:1px solid #7c3aed;border-radius:8px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .2s}.gus-retry-btn:hover{background:#6d28d9}.gus-error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:13px;display:flex}.gus-error-banner button{color:#991b1b;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}.gus-empty-state{text-align:center;padding:4rem 2rem}.gus-empty-state .gus-empty-icon{margin-bottom:12px;font-size:3rem;display:block}.gus-empty-state h3{color:var(--text-primary,#1e293b);margin:0 0 6px;font-size:16px;font-weight:600}.gus-empty-state p{color:var(--text-secondary,#6b7280);margin:0;font-size:14px}.gus-empty-period{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.gus-empty-period-icon{margin-bottom:8px;font-size:2.5rem}.gus-empty-period p{margin:0;font-size:14px}.gus-event-groups{flex-direction:column;gap:24px;display:flex}.gus-date-group{flex-direction:column;gap:8px;display:flex}.gus-date-header{color:var(--text-secondary,#6b7280);border-bottom:1px solid var(--border-color,#e2e8f0);background:var(--bg-page,#f5f5f5);z-index:5;align-items:center;gap:8px;padding:4px 0;font-size:14px;font-weight:600;display:flex;position:sticky;top:0}.gus-date-header.today{color:#15803d;border-bottom-color:#22c55e}.gus-today-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.gus-date-items{flex-direction:column;gap:8px;display:flex}.gus-event-card{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);cursor:pointer;border-radius:12px;align-items:center;gap:14px;padding:14px 16px;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000000a}.gus-event-card:hover{border-color:var(--primary,#667eea);transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.gus-event-card:focus-visible{outline:2px solid var(--primary,#667eea);outline-offset:2px}.gus-event-icon{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:28px;display:flex}.gus-event-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.gus-event-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.gus-event-type-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:12px;padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.gus-event-type-badge.type-practice{color:#15803d;background:#ecfdf5}.gus-event-type-badge.type-game{color:#7c3aed;background:#ede9fe}.gus-event-type-badge.type-scrimmage{color:#92400e;background:#fef3c7}.gus-event-type-badge.type-tournament{color:#be185d;background:#fce7f3}.gus-event-time{color:var(--text-primary,#1e293b);font-size:15px;font-weight:700}.gus-event-title{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.gus-event-meta{color:var(--text-secondary,#6b7280);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.gus-event-child{color:#7c3aed;font-weight:500}.gus-meta-dot{opacity:.5}.gus-event-court{background:var(--bg-muted,#f1f5f9);border-radius:4px;padding:1px 6px}.gus-modal-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out gus-fade-in;display:flex;position:fixed;inset:0}@keyframes gus-fade-in{0%{opacity:0}to{opacity:1}}.gus-modal-content{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;padding:28px;animation:.2s ease-out gus-slide-up;position:relative;overflow-y:auto;box-shadow:0 24px 48px #00000029}@keyframes gus-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.gus-modal-close{background:var(--bg-muted,#f1f5f9);cursor:pointer;width:32px;height:32px;color:var(--text-secondary,#6b7280);border:none;border-radius:8px;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex;position:absolute;top:16px;right:16px}.gus-modal-close:hover{color:var(--text-primary,#1e293b);background:#e2e8f0}.gus-detail-header{text-align:center;margin-bottom:20px}.gus-detail-icon{margin-bottom:12px;font-size:48px;display:block}.gus-detail-title{color:var(--text-primary,#1e293b);margin:0 0 6px;font-size:20px;font-weight:700}.gus-detail-date{color:var(--text-secondary,#6b7280);margin:0 0 2px;font-size:14px}.gus-detail-time{color:var(--text-primary,#1e293b);margin:0;font-size:16px;font-weight:600}.gus-detail-divider{background:var(--border-color,#e2e8f0);height:1px;margin:16px 0}.gus-detail-section{flex-direction:column;gap:3px;margin-bottom:16px;display:flex}.gus-detail-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary,#6b7280);font-size:12px;font-weight:600}.gus-detail-value{color:var(--text-primary,#1e293b);font-size:15px}.gus-detail-value-bold{color:var(--text-primary,#1e293b);font-size:15px;font-weight:600}.gus-detail-caption{color:var(--text-secondary,#6b7280);font-size:13px}.gus-detail-status{text-transform:capitalize;font-size:13px;font-weight:500}.gus-detail-status.status-scheduled{color:#15803d}.gus-detail-status.status-in_progress{color:#2563eb}.gus-detail-status.status-completed{color:#6b7280}.gus-detail-status.status-cancelled{color:#dc2626}.gus-map-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s;display:inline-flex}.gus-map-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}@media (width<=600px){.gus-container{gap:12px}.gus-page-header h2{font-size:18px}.gus-event-card{gap:10px;padding:12px}.gus-event-icon{width:28px;height:28px;font-size:22px}.gus-event-time,.gus-event-title{font-size:13px}.gus-event-meta{font-size:11px}.gus-modal-content{border-radius:12px;padding:20px}.gus-modal-overlay{padding:16px}.gus-date-nav{gap:8px}.gus-nav-range{font-size:13px}}.schedule-policy-config{padding:0}.schedule-policy-config .section-header{margin-bottom:1.5rem}.schedule-policy-config .section-header h2{margin:0 0 .5rem;font-size:1.5rem}.schedule-policy-config .section-description{color:#6b7280;margin:0;font-size:.9rem}.schedule-policy-config .team-selector{margin-bottom:1.5rem}.schedule-policy-config .team-selector label{margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:block}.schedule-policy-config .team-selector select{border:1px solid #d1d5db;border-radius:6px;width:100%;max-width:400px;padding:.5rem;font-size:.95rem}.policy-form{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;display:grid}.form-group{flex-direction:column;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151;margin-bottom:.3rem;font-size:.85rem;font-weight:600}.form-hint{color:#9ca3af;margin-top:.2rem;font-size:.75rem}.schedule-policy-config .form-actions{gap:.75rem;margin-top:1.5rem;display:flex}.policy-summary{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1.5rem;padding:1rem}.policy-summary h4{color:#374151;margin:0 0 .75rem}.policy-summary dl{grid-template-columns:auto 1fr;gap:.3rem 1rem;margin:0;display:grid}.policy-summary dt{color:#6b7280;font-size:.85rem;font-weight:600}.policy-summary dd{margin:0;font-size:.9rem}@media (width<=640px){.form-row{grid-template-columns:1fr}}.auto-scheduler{padding:0}.auto-scheduler .section-header{margin-bottom:1.5rem}.auto-scheduler .section-header h2{margin:0 0 .5rem;font-size:1.5rem}.auto-scheduler .section-description{color:#6b7280;margin:0;font-size:.9rem}.generate-controls{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;display:flex}.week-picker{flex-direction:column;display:flex}.week-picker label{color:#374151;margin-bottom:.3rem;font-size:.85rem;font-weight:600}.week-picker input[type=date]{border:1px solid #d1d5db;border-radius:6px;padding:.5rem;font-size:.9rem}.plan-result{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.plan-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.plan-info{align-items:center;gap:.75rem;display:flex}.plan-info h3{margin:0;font-size:1.1rem}.plan-status{border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.status-draft{color:#92400e;background:#fef3c7}.status-approved{color:#065f46;background:#d1fae5}.status-rejected{color:#991b1b;background:#fee2e2}.plan-meta{color:#6b7280;gap:1rem;font-size:.85rem;display:flex}.violation-badge{color:#b45309;font-weight:600}.violations-section{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-bottom:1.5rem;padding:1rem}.violations-section h4{margin:0 0 .75rem;font-size:1rem}.violation-group h5{margin:.5rem 0 .25rem;font-size:.85rem}.violation-group ul{margin:0;padding:0;list-style:none}.violation-item{border-radius:4px;margin-bottom:.3rem;padding:.4rem .6rem;font-size:.85rem}.violation-item.severity-error{color:#991b1b;background:#fef2f2}.violation-item.severity-warning{color:#92400e;background:#fffbeb}h5.severity-error{color:#991b1b}h5.severity-warning{color:#b45309}.schedule-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.day-column{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:.75rem}.day-label{color:#374151;border-bottom:2px solid #3b82f6;margin:0 0 .5rem;padding-bottom:.3rem;font-size:.9rem}.schedule-item{background:#fff;border:1px solid #e5e7eb;border-left:3px solid #3b82f6;border-radius:4px;margin-bottom:.5rem;padding:.5rem;font-size:.8rem}.item-time{color:#1d4ed8;margin-bottom:.2rem;font-weight:700}.item-team,.item-court,.item-segment{color:#4b5563}.item-reservation{color:#059669;margin-top:.2rem;font-size:.75rem}.plan-actions{border-top:1px solid #e5e7eb;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}@media (width<=640px){.generate-controls{flex-direction:column;align-items:stretch}.schedule-grid{grid-template-columns:1fr}.plan-actions{flex-direction:column}}.schedule-violations{padding:0}.violations-header{margin-bottom:1.5rem}.violations-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.violations-subtitle{color:#6b7280;margin:0;font-size:.9rem}.violations-filters{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1.25rem;padding:1rem 1.25rem}.filter-row{flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.filter-group{flex-direction:column;gap:.25rem;display:flex}.filter-group label{color:#374151;font-size:.8rem;font-weight:500}.filter-group input[type=date],.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:.4rem .6rem;font-size:.85rem}.filter-checkbox{flex-direction:row;align-items:center;padding-bottom:.25rem}.filter-checkbox label{cursor:pointer;align-items:center;gap:.4rem;font-size:.85rem;display:flex}.filter-actions{gap:.75rem;display:flex}.violations-summary{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.violations-list{overflow-x:auto}.violations-table{border-collapse:collapse;width:100%;font-size:.85rem}.violations-table th{text-align:left;color:#374151;white-space:nowrap;background:#f3f4f6;border-bottom:2px solid #e5e7eb;padding:.6rem .75rem;font-weight:600}.violations-table td{vertical-align:middle;border-bottom:1px solid #e5e7eb;padding:.6rem .75rem}.violation-row:hover{background:#f9fafb}.violation-row.resolved{opacity:.6}.violation-row.severity-error{border-left:3px solid #ef4444}.violation-row.severity-warning{border-left:3px solid #f59e0b}.description-cell{word-wrap:break-word;max-width:350px}.severity-badge,.type-badge{white-space:nowrap;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.severity-badge.severity-warning{color:#9a3412;background:#fff7ed}.severity-badge.severity-error{color:#991b1b;background:#fef2f2}.type-badge.type-rest-day{color:#1e40af;background:#eff6ff}.type-badge.type-coach-overlap{color:#7c3aed;background:#faf5ff}.type-badge.type-resource-conflict{color:#c2410c;background:#fff7ed}.status-active{color:#d97706;font-weight:500}.status-resolved{color:#059669;font-weight:500}.status-overridden{color:#2563eb;cursor:help;font-weight:500}.override-justification{cursor:help;font-size:1.1rem}.override-dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.override-dialog{background:#fff;border-radius:12px;width:480px;max-width:90vw;padding:1.5rem;box-shadow:0 20px 60px #0000004d}.override-dialog h3{margin:0 0 1rem;font-size:1.2rem}.override-violation-info{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.85rem}.override-violation-info p{margin:.25rem 0}.override-form{margin-bottom:1rem}.override-form label{margin-bottom:.4rem;font-size:.85rem;font-weight:500;display:block}.override-form .required{color:#ef4444}.override-form textarea{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:.5rem;font-size:.85rem}.override-actions{justify-content:flex-end;gap:.75rem;display:flex}@media (width<=768px){.filter-row{flex-direction:column}.violations-table{font-size:.78rem}.description-cell{max-width:200px}.override-dialog{width:95vw}}.multi-week-planner{padding:1.5rem}.multi-week-planner h2{color:#1a1a2e;margin-bottom:1rem}.plan-config{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:flex}.config-field{flex-direction:column;gap:.35rem;display:flex}.config-field label{color:#4a5568;font-size:.85rem;font-weight:600}.config-field input,.config-field select{border:1px solid #cbd5e0;border-radius:6px;min-width:160px;padding:.5rem .75rem;font-size:.9rem}.plan-summary{background:#fff;border:1px solid #e2e8f0;border-radius:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1.25rem;display:grid}.summary-item{flex-direction:column;gap:.25rem;display:flex}.summary-label{color:#718096;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.summary-value{color:#1a1a2e;font-size:1.15rem;font-weight:700}.horizon-badge{border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.horizon-TwoWeeks{color:#1e40af;background:#dbeafe}.horizon-FourWeeks{color:#92400e;background:#fef3c7}.horizon-FullSeason{color:#065f46;background:#d1fae5}.week-navigator{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.week-tabs{flex-wrap:wrap;gap:.25rem;display:flex}.week-tab{cursor:pointer;background:#fff;border:1px solid #cbd5e0;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:500;transition:all .2s}.week-tab:hover{background:#edf2f7}.week-tab.active{color:#fff;background:#4f46e5;border-color:#4f46e5}.week-tab.blackout{color:#991b1b;cursor:default;background:#fee2e2;border-color:#fecaca;text-decoration:line-through}.week-tab.blackout:hover{background:#fee2e2}.week-schedule{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.week-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.week-header h3{color:#2d3748;margin:0}.btn-regenerate{color:#fff;cursor:pointer;background:#f59e0b;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.85rem;font-weight:600;transition:background .2s}.btn-regenerate:hover:not(:disabled){background:#d97706}.btn-regenerate:disabled{opacity:.6;cursor:not-allowed}.schedule-table{border-collapse:collapse;width:100%;margin-top:.5rem}.schedule-table th,.schedule-table td{text-align:left;border-bottom:1px solid #e2e8f0;padding:.6rem .8rem;font-size:.875rem}.schedule-table th{color:#4a5568;text-transform:uppercase;letter-spacing:.05em;background:#f7fafc;font-size:.75rem;font-weight:600}.schedule-table tr:hover{background:#f7fafc}.violations-summary{background:#fffbeb;border:1px solid #fde68a;border-radius:6px;margin-top:.75rem;padding:.75rem 1rem}.violations-summary.has-errors{background:#fef2f2;border-color:#fecaca}.violations-summary h4{color:#92400e;margin:0 0 .5rem;font-size:.9rem}.violations-summary.has-errors h4{color:#991b1b}.violation-item{color:#78350f;padding:.2rem 0;font-size:.85rem}.violations-summary.has-errors .violation-item{color:#7f1d1d}.blackout-banner{text-align:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;margin-bottom:1rem;padding:1rem}.blackout-banner p{color:#991b1b;margin:0;font-weight:600}.blackout-banner small{color:#b91c1c;font-size:.85rem}.mw-status{border-radius:12px;padding:.2rem .6rem;font-size:.8rem;font-weight:600;display:inline-block}.mw-status-draft{color:#4a5568;background:#e2e8f0}.mw-status-generated{color:#1e40af;background:#dbeafe}.mw-status-approved{color:#065f46;background:#d1fae5}.mw-status-cancelled{color:#991b1b;background:#fee2e2}.patterns-section{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.5rem;padding:1.25rem}.patterns-section h3{color:#2d3748;margin:0 0 1rem}.pattern-list{flex-direction:column;gap:.5rem;display:flex}.pattern-item{background:#f8f9fa;border-radius:6px;justify-content:space-between;align-items:center;padding:.6rem .8rem;font-size:.9rem;display:flex}.pattern-badge{color:#3730a3;background:#c7d2fe;border-radius:10px;padding:.15rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.mw-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem}.blackout-manager{padding:1.5rem}.blackout-manager h2{color:#1a1a2e;margin-bottom:1rem}.blackout-form{background:#f8f9fa;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-bottom:1.5rem;padding:1rem;display:flex}.blackout-list{flex-direction:column;gap:.5rem;display:flex}.blackout-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.blackout-info{flex-direction:column;gap:.15rem;display:flex}.blackout-date{color:#2d3748;font-weight:600}.blackout-reason{color:#718096;font-size:.85rem}.btn-remove{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;transition:background .2s}.btn-remove:hover:not(:disabled){background:#dc2626}.btn-remove:disabled{opacity:.6;cursor:not-allowed}.btn-add{color:#fff;cursor:pointer;background:#10b981;border:none;border-radius:6px;padding:.5rem 1rem;font-weight:600;transition:background .2s}.btn-add:hover:not(:disabled){background:#059669}.btn-add:disabled{opacity:.6;cursor:not-allowed}.notification-settings{max-width:800px}.settings-header{margin-bottom:24px}.settings-header h2{color:#1a1a2e;margin:0 0 8px;font-size:1.5rem}.settings-header p{color:#6b7280;margin:0;font-size:.95rem}.notification-settings .alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.notification-settings .alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.notification-settings .alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.preferences-table-container{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;overflow-x:auto}.preferences-table{border-collapse:collapse;width:100%}.preferences-table thead th{text-align:center;color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:14px 16px;font-size:.85rem;font-weight:600}.preferences-table thead th:first-child{text-align:left;min-width:240px}.preferences-table thead th.disabled-channel{color:#9ca3af}.preferences-table tbody td{text-align:center;border-bottom:1px solid #f3f4f6;padding:16px}.preferences-table tbody td:first-child{text-align:left}.preferences-table tbody tr:last-child td{border-bottom:none}.type-info{flex-direction:column;gap:2px;display:flex}.type-info strong{color:#1f2937;font-size:.95rem}.type-description{color:#9ca3af;font-size:.8rem}.toggle-cell{vertical-align:middle}.toggle-switch{cursor:pointer;width:44px;height:24px;display:inline-block;position:relative}.toggle-slider{background-color:#d1d5db;border-radius:24px;transition:background-color .2s;position:absolute;inset:0}.toggle-slider.disabled{opacity:.4;cursor:not-allowed}.settings-note{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:20px;padding:12px 16px}.settings-note p{color:#92400e;margin:0;font-size:.85rem}.settings-actions{justify-content:flex-end;display:flex}.settings-actions .btn{cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:.95rem;font-weight:600;transition:background .2s}.settings-actions .btn-primary{color:#fff;background:#667eea}.settings-actions .btn-primary:hover:not(:disabled){background:#5a6fd6}.settings-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.notification-list{max-width:700px}.list-header{margin-bottom:20px}.list-header h2{color:#1a1a2e;margin:0;font-size:1.4rem}.notification-list .empty-state{text-align:center;color:#9ca3af;padding:48px 16px}.empty-icon{margin-bottom:12px;font-size:2.5rem;display:block}.notif-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:10px;padding:16px;transition:box-shadow .15s}.notif-card:hover{box-shadow:0 2px 8px #0000000f}.notif-card.unread{background:#fafbff;border-left:4px solid #667eea}.notif-card-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.notif-type-badge{text-transform:uppercase;color:#667eea;background:#eef0ff;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:600}.notif-channel{font-size:1rem}.notif-card-title{color:#1f2937;margin-bottom:4px;font-size:.95rem;font-weight:600}.notif-card-body{color:#6b7280;margin-bottom:10px;font-size:.88rem;line-height:1.4}.notif-card-footer{justify-content:space-between;align-items:center;display:flex}.notif-date{color:#9ca3af;font-size:.75rem}.mark-read-btn{color:#667eea;cursor:pointer;background:0 0;border:1px solid #667eea;border-radius:6px;padding:4px 12px;font-size:.78rem;font-weight:600;transition:background .15s}.mark-read-btn:hover{color:#fff;background:#667eea}.read-label{color:#9ca3af;font-size:.75rem}.notification-list .loading-state{text-align:center;color:#9ca3af;padding:24px}.load-more-container{text-align:center;padding:12px 0}.load-more-btn{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:10px 24px;font-size:.88rem;font-weight:600;transition:background .15s}.load-more-btn:hover:not(:disabled){background:#e5e7eb}.load-more-btn:disabled{opacity:.5;cursor:not-allowed}.notification-list-actions{justify-content:flex-end;margin-bottom:8px;display:flex}.notification-list-actions .mark-all-read-btn{color:var(--brand);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.8125rem;font-weight:700}.notification-list-actions .mark-all-read-btn:hover{text-decoration:underline}.media-gallery{padding:0}.media-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;padding:.75rem 1rem;display:flex}.media-toolbar-filters{flex-wrap:wrap;flex:1;align-items:center;gap:.75rem;display:flex}.media-toolbar-actions{align-items:center;gap:.5rem;display:flex}.media-filter-item{align-items:center;display:flex}.media-select{color:#374151;cursor:pointer;appearance:none;background:#f9fafb url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236b7280'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E") right .5rem center/1.25rem no-repeat;border:1px solid #d1d5db;border-radius:8px;min-width:160px;height:38px;padding:0 2rem 0 .75rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.media-select:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.media-search-wrapper{align-items:center;display:flex;position:relative}.media-search-icon{color:#9ca3af;pointer-events:none;z-index:1;justify-content:center;align-items:center;width:14px;height:14px;display:flex;position:absolute;top:50%;left:.625rem;transform:translateY(-50%)}.media-search-input{color:#374151;background:#f9fafb;border:1px solid #d1d5db;border-radius:8px;min-width:200px;height:38px;padding:0 2rem 0 2.125rem;font-size:.875rem;transition:border-color .2s,box-shadow .2s}.media-search-input:focus{background:#fff;border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.media-search-input::placeholder{color:#9ca3af}.media-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:3px;line-height:0;transition:color .15s,background .15s;display:flex;position:absolute;top:50%;right:.375rem;transform:translateY(-50%)}.media-search-clear:hover{color:#374151;background:#e5e7eb}.media-gallery-error{margin-bottom:1.25rem}.media-results-info{color:#6b7280;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:0 .25rem;font-size:.8rem;display:flex}.media-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.media-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;transition:border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.media-card:hover{border-color:#93c5fd;box-shadow:0 4px 12px #2563eb14}.media-card-preview{background:linear-gradient(135deg,#f0f4ff 0%,#e8ecf8 100%);border-bottom:1px solid #eef2ff;justify-content:center;align-items:center;height:120px;display:flex;position:relative}.media-card-type-icon{color:#8b9dc3;justify-content:center;align-items:center;display:flex}.media-card-thumb{object-fit:cover;width:100%;height:100%;display:block}.media-card-thumb-video-wrapper{width:100%;height:100%;display:block;position:relative}.media-card-thumb-play{color:#ffffffeb;filter:drop-shadow(0 1px 4px #0f172a73);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.media-card-visibility{letter-spacing:.02em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);white-space:nowrap;border-radius:20px;align-items:center;gap:.25rem;padding:.2rem .55rem;font-size:.65rem;font-weight:600;display:inline-flex;position:absolute;top:.5rem;right:.5rem}.visibility-0,.visibility-ClubWide{color:#2e7d32;background:#e8f5e9e6}.visibility-1,.visibility-TeamOnly{color:#1565c0;background:#e3f2fde6}.visibility-2,.visibility-ParentsOnly{color:#ef6c00;background:#fff3e0e6}.visibility-3,.visibility-RoleSpecific{color:#7b1fa2;background:#f3e5f5e6}.media-card-body{flex-direction:column;flex:1;gap:.35rem;padding:.875rem 1rem 1rem;display:flex}.media-card-filename{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9rem;font-weight:600;line-height:1.3;overflow:hidden}.media-card-description{color:#6b7280;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8rem;line-height:1.4;display:-webkit-box;overflow:hidden}.media-card-meta{color:#9ca3af;align-items:center;gap:.75rem;margin-top:.15rem;font-size:.75rem;display:flex}.media-card-size{color:#6b7280;font-weight:500}.media-card-date{padding-left:.75rem;position:relative}.media-card-date:before{content:"·";color:#d1d5db;font-weight:700;position:absolute;left:0}.media-card-tags{flex-wrap:wrap;gap:.35rem;margin-top:.25rem;display:flex}.media-card-tag{color:#4f46e5;letter-spacing:.01em;background:#f0f4ff;border-radius:20px;padding:.15rem .5rem;font-size:.675rem;font-weight:500;display:inline-block}.media-card-actions{opacity:0;transition:opacity .2s;position:absolute;top:.5rem;left:.5rem}.media-card:hover .media-card-actions{opacity:1}.media-card-delete{cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#ef4444;background:#ffffffe6;border:1px solid #fecaca;border-radius:8px;justify-content:center;align-items:center;padding:.35rem;line-height:0;transition:all .15s;display:flex}.media-card-delete:hover{background:#fef2f2;border-color:#ef4444;transform:scale(1.05)}@media (width<=640px){.media-toolbar{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem}.media-toolbar-filters{flex-direction:column;gap:.5rem}.media-select,.media-search-input{width:100%;min-width:unset}.media-toolbar-actions{justify-content:flex-end}.media-grid{grid-template-columns:1fr}}.media-upload{max-width:700px;padding:20px}.media-upload-header h2{margin:0 0 4px;font-size:1.5rem}.upload-subtitle{color:#666;margin:0 0 4px}.upload-note{color:#888;margin:0 0 16px;font-size:.8rem;font-style:italic}.upload-form{flex-direction:column;gap:16px;display:flex}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;padding:8px 12px;font-size:.9rem}.form-group textarea{resize:vertical}.media-upload-zone{color:#475569;cursor:pointer;text-align:center;background:#f8fafc;border:2px dashed #c7cdd8;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:28px 16px;transition:border-color .2s,background .2s;display:flex}.media-upload-zone:hover,.media-upload-zone:focus-visible{background:#f5f6ff;border-color:#667eea;outline:none}.media-upload-zone--drag{background:#eef1ff;border-color:#667eea}.media-upload-zone-label{font-size:.9rem;font-weight:600}.media-upload-zone-hint{color:#94a3b8;font-size:.75rem}.media-selected-file{background:#f8fafc;border:1px solid #d8dee9;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;display:flex}.media-selected-file-icon{color:#667eea;align-items:center;display:flex}.media-selected-file-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.media-selected-file-name{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:600;overflow:hidden}.media-selected-file-meta{color:#6b7280;font-size:.75rem}.media-selected-file-remove{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;line-height:0;transition:color .15s,background .15s}.media-selected-file-remove:hover:not(:disabled){color:#dc2626;background:#fee2e2}.media-selected-file-remove:disabled{opacity:.5;cursor:not-allowed}.media-upload-progress{background:#e5e7eb;border-radius:4px;height:8px;overflow:hidden}.media-upload-progress-bar{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:4px;height:100%;transition:width .2s}.event-picker{position:relative}.event-picker-search input{box-sizing:border-box;width:100%}.event-picker-options{z-index:20;background:#fff;border:1px solid #d8dee9;border-radius:8px;max-height:260px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #0f172a1f}.event-picker-option{cursor:pointer;text-align:left;color:#1f2937;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:.85rem;display:flex}.event-picker-option:hover{background:#f5f6ff}.event-picker-option-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.event-picker-option-kind{color:#4f46e5;background:#f0f4ff;border-radius:20px;flex-shrink:0;padding:2px 8px;font-size:.675rem;font-weight:600}.event-picker-empty{color:#6b7280;text-align:center;padding:10px;font-size:.85rem}.event-picker-selected{color:#3730a3;background:#f5f6ff;border:1px solid #c7d2fe;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;display:flex}.event-picker-selected-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.event-picker-clear{color:#6366f1;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:3px;line-height:0;transition:background .15s}.event-picker-clear:hover{background:#e0e7ff}.event-picker-unavailable{color:#64748b;background:#f8fafc;border:1px dashed #d8dee9;border-radius:8px;margin:0;padding:10px 12px;font-size:.8rem}.visibility-options{flex-direction:column;gap:8px;display:flex}.visibility-option{cursor:pointer;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:border-color .2s;display:flex}.visibility-option.selected{background:#f5f6ff;border-color:#667eea}.visibility-option input[type=radio]{margin:0}.visibility-option div{flex-direction:column;display:flex}.visibility-desc{color:#888;font-size:.75rem}.team-checkboxes{border:1px solid #e0e0e0;border-radius:6px;flex-direction:column;gap:6px;max-height:200px;padding:8px;display:flex;overflow-y:auto}.team-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.no-teams{color:#888;font-size:.85rem}.consent-warning{background:#fff3e0;border:1px solid #ffcc80;border-radius:8px;margin-bottom:16px;padding:12px 16px}.consent-warning strong{color:#e65100}.consent-warning ul{color:#bf360c;margin:8px 0 0;padding-left:20px;font-size:.85rem}.media-upload-error{margin-bottom:16px}.mc-container{max-width:700px;padding:20px}.mc-header{margin-bottom:20px}.mc-header-explanation{color:#555;margin:0;font-size:.9rem;line-height:1.5}.mc-cards{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.mc-card{background:#fff;border:1px solid #e0e0e0;border-radius:12px;justify-content:space-between;align-items:center;min-height:80px;padding:16px;transition:box-shadow .2s;display:flex;box-shadow:0 2px 6px #0000000f}.mc-card:hover{box-shadow:0 4px 12px #0000001a}.mc-card-left{flex:1;align-items:flex-start;gap:14px;min-width:0;display:flex}.mc-avatar{color:#fff;letter-spacing:.5px;border-radius:50%;justify-content:center;align-items:center;width:40px;min-width:40px;height:40px;margin-top:2px;font-size:.85rem;font-weight:700;display:flex}.mc-avatar--skeleton{background:#e0e0e0;animation:1.5s ease-in-out infinite mc-pulse}.mc-card-info{flex-direction:column;gap:4px;min-width:0;display:flex}.mc-card-name{color:#212121;font-size:1rem;font-weight:600}.mc-card-badge{border-radius:12px;align-items:center;gap:4px;width:fit-content;padding:2px 10px;font-size:.75rem;font-weight:600;line-height:1.4;display:inline-flex}.mc-card-badge--allowed{color:#fff;background:#388e3c}.mc-card-badge--denied{color:#fff;background:#d32f2f}.mc-card-explanation{color:#757575;margin-top:2px;font-size:.8rem;line-height:1.4}.mc-toggle{cursor:pointer;flex-shrink:0;width:48px;height:26px;margin-left:12px;display:inline-block;position:relative}.mc-toggle-input{opacity:0;width:0;height:0;position:absolute}.mc-toggle-slider{background:#bdbdbd;border-radius:26px;transition:background .25s;position:absolute;inset:0}.mc-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .25s;position:absolute;bottom:3px;left:3px;box-shadow:0 1px 3px #0003}.mc-toggle-slider--on{background:#7b1fa2}.mc-toggle-slider--on:before{transform:translate(22px)}.mc-toggle-input:focus-visible+.mc-toggle-slider{outline-offset:2px;outline:2px solid #7b1fa2}.mc-toggle-input:disabled+.mc-toggle-slider{opacity:.5;cursor:not-allowed}.mc-card--skeleton{pointer-events:none}.mc-skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.mc-skeleton-line{background:#e0e0e0;border-radius:4px;animation:1.5s ease-in-out infinite mc-pulse}.mc-skeleton-line--name{width:140px;height:16px}.mc-skeleton-line--badge{width:90px;height:12px}.mc-skeleton-toggle{background:#e0e0e0;border-radius:26px;width:48px;height:26px;animation:1.5s ease-in-out infinite mc-pulse}@keyframes mc-pulse{0%,to{opacity:.4}50%{opacity:.8}}.mc-dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out mc-fade-in;display:flex;position:fixed;inset:0}@keyframes mc-fade-in{0%{opacity:0}to{opacity:1}}.mc-dialog{background:#fff;border-radius:16px;width:100%;max-width:420px;padding:28px;animation:.2s ease-out mc-slide-up;box-shadow:0 24px 48px #00000029}@keyframes mc-slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.mc-dialog-heading{color:#212121;margin:0 0 12px;font-size:1.15rem;font-weight:600}.mc-dialog-body{color:#555;margin:0 0 24px;font-size:.9rem;line-height:1.5}.mc-dialog-actions{justify-content:flex-end;gap:12px;display:flex}.mc-dialog-btn{cursor:pointer;border:none;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:all .15s}.mc-dialog-btn--cancel{color:#555;background:#f5f5f5}.mc-dialog-btn--cancel:hover{background:#e0e0e0}.mc-dialog-btn--confirm{color:#fff}.mc-dialog-btn--allow{background:#388e3c}.mc-dialog-btn--allow:hover{background:#2e7d32}.mc-dialog-btn--revoke{background:#d32f2f}.mc-dialog-btn--revoke:hover{background:#c62828}.mc-info-box{background:#f5f6ff;border:1px solid #d0d5ff;border-radius:8px;margin-top:16px;padding:16px}.mc-info-box h4{color:#333;align-items:center;gap:6px;margin:0 0 8px;font-size:.9rem;display:flex}.mc-info-box ul{color:#555;margin:0;padding-left:20px;font-size:.85rem;line-height:1.6}.mc-error-state{text-align:center;color:#d32f2f;padding:48px 20px}.mc-error-state p{margin:12px 0 16px;font-size:.95rem}.mc-retry-btn{color:#7b1fa2;cursor:pointer;background:#fff;border:1px solid #7b1fa2;border-radius:8px;align-items:center;gap:6px;padding:8px 20px;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.mc-retry-btn:hover{background:#f3e5f5}.mc-empty-state{text-align:center;color:#888;padding:48px 20px}.mc-empty-icon{color:#9e9e9e;margin-bottom:12px;display:block}.mc-empty-title{color:#555;margin:0 0 8px;font-size:1rem;font-weight:600}.mc-empty-subtitle{color:#999;margin:0;font-size:.85rem}@media (width<=600px){.mc-container{padding:16px}.mc-card{flex-direction:column;align-items:stretch;gap:12px;padding:14px}.mc-card-left{align-items:center}.mc-toggle{align-self:flex-end;margin-left:0}.mc-dialog{padding:20px}.mc-dialog-actions{flex-direction:column-reverse}.mc-dialog-btn{text-align:center;width:100%}}.social-media-settings{max-width:1200px;margin:0 auto;padding:24px}.social-media-settings .section-header{margin-bottom:24px}.social-media-settings .section-header h2{color:#1a1a2e;margin:0 0 8px;font-size:1.5rem;font-weight:700}.social-media-settings .section-description{color:#6b7280;margin:0;font-size:.95rem}.social-media-settings .loading-container{text-align:center;color:#6b7280;padding:60px 24px}.social-media-settings .loading-spinner{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:40px;height:40px;margin:0 auto 16px;animation:.8s linear infinite spin}.social-media-settings .alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.social-media-settings .alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.social-media-settings .alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.platforms-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;display:grid}.platform-card:hover{box-shadow:0 4px 12px #00000014}.platform-card.has-connections{border-width:2px;border-color:#6366f1}.platform-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.platform-info{align-items:center;gap:12px;display:flex}.platform-name{color:#1a1a2e;margin:0;font-size:1.1rem;font-weight:600}.platform-permissions{color:#9ca3af;margin:2px 0 0;font-size:.8rem}.btn-connect{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:background .2s}.btn-connect:hover{background:#4f46e5}.connected-accounts{flex-direction:column;gap:12px;display:flex}.account-row{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.account-info{align-items:center;gap:10px;margin-bottom:8px;display:flex}.account-name{color:#1a1a2e;font-size:.95rem;font-weight:600}.social-media-settings .status-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.social-media-settings .status-badge.connected{color:#15803d;background:#dcfce7}.social-media-settings .status-badge.expired{color:#a16207;background:#fef9c3}.social-media-settings .status-badge.disconnected{color:#b91c1c;background:#fee2e2}.account-meta{flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.meta-item{color:#6b7280;font-size:.8rem}.meta-item.expired-token{color:#dc2626;font-weight:600}.account-permissions{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.permission-tag{color:#4338ca;background:#eef2ff;border-radius:6px;padding:2px 8px;font-size:.75rem;font-weight:500}.account-actions{gap:8px;display:flex}.social-media-settings .btn{cursor:pointer;border:none;border-radius:6px;font-weight:500;transition:opacity .2s}.social-media-settings .btn:disabled{opacity:.6;cursor:not-allowed}.btn-refresh{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd}.btn-disconnect{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.btn-disconnect:hover:not(:disabled){background:#fee2e2}.no-connections{text-align:center;color:#9ca3af;padding:16px;font-size:.9rem}.dialog-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.dialog-container{background:#fff;border-radius:16px;width:480px;max-width:95vw;max-height:90vh;animation:.2s slideUp;overflow-y:auto;box-shadow:0 20px 60px #00000026}.dialog-header h3{color:#1a1a2e;align-items:center;gap:8px;margin:0;font-size:1.2rem;font-weight:600;display:flex}.dialog-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1}.dialog-close:hover{color:#374151}.dialog-form{padding:24px}.form-info{color:#0369a1;background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:12px 16px;font-size:.85rem}.form-info p{margin:0}.form-group input[type=text]{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.form-group input[type=text]:focus{border-color:#6366f1;outline:none;box-shadow:0 0 0 3px #6366f11a}.permissions-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.permission-checkbox{cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:.85rem;transition:background .15s;display:flex}.permission-checkbox:hover{background:#eef2ff}.permission-checkbox input[type=checkbox]{accent-color:#6366f1}.dialog-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;display:flex}.social-media-settings .btn-secondary{color:#374151;background:#f3f4f6;padding:10px 20px;font-size:.9rem}.social-media-settings .btn-secondary:hover{background:#e5e7eb}.social-media-settings .btn-primary{color:#fff;background:#6366f1;padding:10px 20px;font-size:.9rem}.social-media-settings .btn-primary:hover:not(:disabled){background:#4f46e5}@media (width<=768px){.social-media-settings{padding:16px}.platforms-grid{grid-template-columns:1fr}.platform-header{flex-direction:column;align-items:flex-start;gap:12px}.account-meta{flex-direction:column;gap:4px}.account-actions{flex-direction:column}.dialog-container{width:95vw}.permissions-grid{grid-template-columns:1fr}}.composer-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.composer-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.composer-section{background:#fff;border-radius:10px;margin-bottom:24px;padding:20px;box-shadow:0 1px 3px #00000014}.composer-section h3{color:#333;margin:0 0 12px;font-size:1rem}.platform-select-actions{gap:12px;margin-bottom:12px;display:flex}.social-post-composer .btn-link{color:#667eea;cursor:pointer;background:0 0;border:none;padding:0;font-size:.85rem}.social-post-composer .btn-link:hover{text-decoration:underline}.platform-select-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;display:grid}.platform-option{cursor:pointer;background:#fafafa;border:2px solid #e8e8ee;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;transition:all .2s;display:flex}.platform-option:hover{background:#f0f2ff;border-color:#667eea}.platform-option.selected{background:#eef0ff;border-color:#667eea}.platform-option input[type=checkbox]{display:none}.platform-info{flex-direction:column;display:flex}.account-name{color:#888;font-size:.8rem}.composer-textarea{resize:vertical;box-sizing:border-box;border:2px solid #e8e8ee;border-radius:8px;width:100%;min-height:120px;padding:14px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.composer-textarea:focus{border-color:#667eea;outline:none}.composer-textarea.warning{border-color:#f0ad4e}.composer-textarea.exceeded{border-color:#dc3545}.char-count{color:#888;justify-content:space-between;margin-top:6px;font-size:.8rem;display:flex}.char-count .warning{color:#f0ad4e}.char-count .exceeded{color:#dc3545;font-weight:600}.char-note{font-style:italic}.media-input-row{gap:8px;display:flex}.media-url-input{border:2px solid #e8e8ee;border-radius:8px;flex:1;padding:10px 14px;font-size:.9rem}.media-url-input:focus{border-color:#667eea;outline:none}.media-url-list{margin:12px 0 0;padding:0;list-style:none}.media-url-item{background:#f5f5fa;border-radius:6px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:8px 12px;display:flex}.media-url-text{color:#555;text-overflow:ellipsis;white-space:nowrap;max-width:85%;font-size:.85rem;overflow:hidden}.btn-remove{color:#dc3545;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1rem}.btn-remove:hover{background:#fde8ea}.preview-section{background:#fafbff;border:2px dashed #d0d0e0}.post-preview{background:#fff;border:1px solid #e8e8ee;border-radius:8px;padding:16px}.preview-platforms{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.preview-platform-badge{color:#555;background:#eef0ff;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.8rem;display:inline-flex}.preview-content{white-space:pre-wrap;color:#333;margin:0;font-size:.95rem;line-height:1.5}.preview-media{color:#666;background:#f0f0f5;border-radius:6px;margin-top:10px;padding:8px 12px;font-size:.85rem}.composer-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.social-post-composer .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:opacity .2s}.social-post-composer .btn-primary:hover:not(:disabled){opacity:.9}.social-post-composer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.social-post-composer .btn-secondary{color:#555;cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:background .2s}.social-post-composer .btn-secondary:hover:not(:disabled){background:#f5f5f5}.btn-publish{min-width:200px}.validation-errors{margin:0;padding-left:20px}.validation-errors li{margin-bottom:4px}.schedule-toggle{gap:12px;margin-bottom:16px;display:flex}.toggle-option{cursor:pointer;background:#fff;border:2px solid #e0e0e0;border-radius:8px;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;transition:all .2s;display:flex}.toggle-option:hover{border-color:#4361ee}.toggle-option.active{background:#f0f4ff;border-color:#4361ee;font-weight:600}.toggle-option input[type=radio]{display:none}.schedule-picker{margin-top:12px}.schedule-picker label{color:#555;margin-bottom:6px;font-size:.9rem;font-weight:500;display:block}.schedule-date-input{color:#333;border:1px solid #ddd;border-radius:6px;width:100%;max-width:300px;padding:10px 14px;font-size:.95rem}.schedule-date-input:focus{border-color:#4361ee;outline:none;box-shadow:0 0 0 3px #4361ee1a}.schedule-info{color:#666;margin-top:8px;font-size:.85rem}.preview-header{justify-content:space-between;align-items:center;display:flex}.platform-previews{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:12px;display:grid}.platform-preview-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;overflow:hidden}.platform-preview-header{background:#f8f9fa;border-bottom:1px solid #e0e0e0;align-items:center;gap:10px;padding:12px 16px;display:flex}.platform-icon-large{font-size:1.5rem}.platform-preview-header strong{color:#333;font-size:.95rem;display:block}.preview-account{color:#888;margin-left:4px;font-size:.8rem}.platform-preview-body{min-height:80px;padding:16px}.preview-text{color:#333;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.5}.preview-text.over-limit{color:#e74c3c}.preview-media-area{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.preview-media-thumb{color:#555;background:#f0f0f0;border-radius:4px;padding:4px 10px;font-size:.8rem}.preview-limit-warning{color:#e74c3c;margin-top:8px;font-size:.8rem;font-weight:500}.platform-preview-footer{color:#888;text-align:right;border-top:1px solid #f0f0f0;padding:8px 16px;font-size:.8rem}.platform-preview-footer .exceeded{color:#e74c3c;font-weight:600}.social-post-history-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.social-post-history-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.post-list{flex-direction:column;gap:16px;display:flex}.post-card{background:#fff;border-radius:10px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 1px 3px #00000014}.post-card:hover{box-shadow:0 2px 8px #0000001f}.post-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.post-card-header:hover{background:#fafbff}.post-card-content-preview{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.post-text-preview{color:#333;text-overflow:ellipsis;white-space:nowrap;max-width:500px;margin:0;font-size:.95rem;overflow:hidden}.media-badge{color:#666;white-space:nowrap;background:#f0f0f5;border-radius:12px;padding:2px 8px;font-size:.8rem}.post-card-meta{flex-shrink:0;align-items:center;gap:16px;display:flex}.post-date{color:#999;white-space:nowrap;font-size:.8rem}.delivery-summary{color:#667eea;font-size:.8rem;font-weight:500}.expand-icon{color:#bbb;font-size:.7rem}.post-card-platforms{flex-wrap:wrap;gap:6px;padding:0 20px 12px;display:flex}.platform-chip{border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;font-weight:500;display:inline-flex}.platform-chip.status-published{color:#155724;background:#d4edda}.platform-chip.status-pending{color:#856404;background:#fff3cd}.platform-chip.status-publishing{color:#004085;background:#cce5ff}.platform-chip.status-failed{color:#dc3545;background:#fde8ea}.post-card-details{background:#fafbff;border-top:1px solid #f0f0f5;padding:20px}.post-full-content{margin-bottom:16px}.post-full-content h4,.post-media-list h4,.delivery-details h4{color:#555;margin:0 0 8px;font-size:.9rem}.post-full-text{white-space:pre-wrap;color:#333;background:#fff;border:1px solid #e0e0e8;border-radius:6px;margin:0;padding:12px;font-size:.9rem;line-height:1.5}.post-media-list{margin-bottom:16px}.post-media-list ul{margin:0;padding:0;list-style:none}.post-media-list li{padding:6px 0}.post-media-list a{color:#667eea;word-break:break-all;font-size:.85rem}.delivery-table{border-collapse:collapse;width:100%;font-size:.85rem}.delivery-table th{text-align:left;color:#555;background:#f0f0f5;border-bottom:1px solid #e0e0e8;padding:8px 12px;font-weight:600}.delivery-table td{color:#333;border-bottom:1px solid #f0f0f5;padding:10px 12px}.delivery-table tr:last-child td{border-bottom:none}.social-post-history .status-badge{border-radius:12px;padding:3px 10px;font-size:.78rem;font-weight:600;display:inline-block}.social-post-history .status-badge.status-published{color:#155724;background:#d4edda}.social-post-history .status-badge.status-pending{color:#856404;background:#fff3cd}.social-post-history .status-badge.status-publishing{color:#004085;background:#cce5ff}.social-post-history .status-badge.status-failed{color:#dc3545;background:#fde8ea}.external-id{color:#999;font-family:monospace;font-size:.78rem}.error-cell{color:#dc3545;text-overflow:ellipsis;max-width:200px;font-size:.8rem;overflow:hidden}.btn-retry{color:#667eea;cursor:pointer;background:#fff;border:1px solid #667eea;border-radius:6px;padding:4px 12px;font-size:.8rem;transition:background .2s}.btn-retry:hover:not(:disabled){background:#eef0ff}.btn-retry:disabled{opacity:.5;cursor:not-allowed}.social-post-history .btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;padding:10px 20px;font-size:.95rem;font-weight:600;transition:opacity .2s}.social-post-history .btn-primary:hover:not(:disabled){opacity:.9}.alert-error{color:#dc3545;background:#fde8ea;border:1px solid #f5c6cb}.empty-state{text-align:center;color:#888;padding:48px 24px}.empty-state p{margin:0 0 16px}.loading-spinner{text-align:center;color:#888;padding:48px;font-size:1rem}.status-scheduled{color:#f9a825;background:#fff8e1;border-color:#ffe082}.status-cancelled{color:#c62828;background:#fce4ec;border-color:#ef9a9a}.status-draft{color:#757575;background:#f5f5f5;border-color:#e0e0e0}.post-status-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:600;display:inline-block}.post-status-badge.scheduled{color:#f57f17;background:#fff8e1}.post-status-badge.published{color:#2e7d32;background:#e8f5e9}.post-status-badge.cancelled{color:#c62828;background:#fce4ec}.post-status-badge.draft{color:#757575;background:#f5f5f5}.scheduled-info{color:#f57f17;align-items:center;gap:4px;margin-top:4px;font-size:.8rem;display:flex}.post-actions-bar{border-top:1px solid #eee;gap:8px;margin-top:12px;padding-top:12px;display:flex}.post-actions-bar .btn-small{cursor:pointer;color:#333;background:#f8f9fa;border:1px solid #ddd;border-radius:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .2s}.post-actions-bar .btn-small:hover{background:#e9ecef}.post-actions-bar .btn-small.btn-danger{color:#c62828;background:#fce4ec;border-color:#ef9a9a}.post-actions-bar .btn-small.btn-danger:hover{background:#f8bbd0}.post-actions-bar .btn-small:disabled{opacity:.5;cursor:not-allowed}.calendar-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.calendar-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.calendar-controls{align-items:center;gap:12px;display:flex}.view-toggle{border:1px solid #ddd;border-radius:8px;display:flex;overflow:hidden}.btn-view{cursor:pointer;color:#555;background:#fff;border:none;padding:8px 16px;font-size:.85rem;transition:all .2s}.btn-view:hover{background:#f0f4ff}.btn-view.active{color:#fff;background:#4361ee;font-weight:600}.month-nav{justify-content:space-between;align-items:center;margin-bottom:20px;padding:12px 0;display:flex}.month-title{align-items:center;gap:12px;display:flex}.month-title h3{color:#1a1a2e;margin:0;font-size:1.3rem}.btn-nav{cursor:pointer;color:#555;background:#fff;border:1px solid #ddd;border-radius:6px;padding:8px 16px;font-size:.9rem;transition:all .2s}.btn-nav:hover{background:#f0f4ff;border-color:#4361ee}.calendar-grid{background:#e0e0e0;border:1px solid #e0e0e0;border-radius:10px;grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-day-header{text-align:center;color:#888;text-transform:uppercase;background:#f8f9fa;padding:10px;font-size:.8rem;font-weight:600}.calendar-cell{background:#fff;min-height:100px;padding:6px;position:relative}.calendar-cell.empty{background:#fafafa}.calendar-cell.today{background:#f0f4ff}.calendar-cell.today .day-number{color:#fff;background:#4361ee;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;display:inline-flex}.day-number{color:#555;margin-bottom:4px;font-size:.85rem;font-weight:500;display:block}.cell-posts{flex-direction:column;gap:2px;display:flex}.cell-post-chip{cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:4px;padding:2px 6px;font-size:.7rem;transition:opacity .2s;overflow:hidden}.cell-post-chip:hover{opacity:.8}.calendar-list{flex-direction:column;gap:12px;display:flex}.calendar-list-item{background:#fff;border-radius:10px;align-items:flex-start;gap:16px;padding:16px;transition:box-shadow .2s;display:flex;box-shadow:0 1px 3px #00000014}.calendar-list-item:hover{box-shadow:0 2px 8px #0000001f}.list-item-date{background:#f8f9fa;border-radius:8px;flex-direction:column;align-items:center;min-width:60px;padding:8px;display:flex}.list-date-day{color:#1a1a2e;font-size:1.5rem;font-weight:700;line-height:1}.list-date-month{color:#888;text-transform:uppercase;font-size:.75rem;font-weight:600}.list-date-time{color:#aaa;margin-top:2px;font-size:.7rem}.list-item-content{flex:1}.list-item-header{align-items:center;gap:8px;margin-bottom:6px;display:flex}.status-pill{border-radius:12px;padding:3px 10px;font-size:.75rem;font-weight:600}.list-item-platforms{gap:4px;display:flex}.platform-chip-small{font-size:1rem}.list-item-text{color:#333;margin:0;font-size:.9rem;line-height:1.4}.media-badge-small{color:#888;margin-top:4px;font-size:.8rem;display:inline-block}.list-item-actions{flex-direction:column;gap:6px;min-width:100px;display:flex}.btn-small{cursor:pointer;background:#fff;border:1px solid #ddd;border-radius:6px;padding:6px 12px;font-size:.8rem;transition:all .2s}.btn-small:hover{background:#f0f4ff}.btn-small.btn-edit{color:#4361ee;border-color:#4361ee}.btn-small.btn-cancel{color:#e74c3c;border-color:#e74c3c}.btn-small.btn-cancel:hover{background:#fdf0f0}.btn-small:disabled{opacity:.5;cursor:not-allowed}.calendar-stats{gap:16px;margin-top:24px;display:flex}.stat-card{text-align:center;background:#fff;border-radius:10px;flex:1;padding:16px;box-shadow:0 1px 3px #00000014}.stat-value{color:#1a1a2e;font-size:1.8rem;font-weight:700;display:block}.stat-label{color:#888;text-transform:uppercase;font-size:.8rem;font-weight:600}.content-calendar .empty-state{text-align:center;color:#888;padding:48px}.content-calendar .empty-icon{margin-bottom:12px;font-size:3rem}.content-calendar .loading-spinner{text-align:center;color:#888;padding:48px;font-size:1rem}@media (width<=768px){.calendar-grid{font-size:.75rem}.calendar-cell{min-height:60px;padding:4px}.calendar-stats{flex-wrap:wrap}.stat-card{min-width:120px}.calendar-list-item{flex-direction:column}.list-item-date{flex-direction:row;gap:8px;min-width:auto}}.post-template-editor{max-width:800px;padding:24px}.editor-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.editor-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.version-info{color:#6366f1;background:#eef2ff;border-radius:6px;padding:4px 12px;font-size:.82rem;font-weight:500}.post-template-editor .alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.post-template-editor .alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.post-template-editor .form-group{margin-bottom:20px}.post-template-editor label{color:#374151;margin-bottom:6px;font-size:.9rem;font-weight:600;display:block}.post-template-editor input[type=text],.post-template-editor input[type=url],.post-template-editor select,.post-template-editor textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:.9rem;transition:border-color .2s}.post-template-editor input:focus,.post-template-editor select:focus,.post-template-editor textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.post-template-editor textarea{resize:vertical;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.85rem;line-height:1.5}.form-help{color:#9ca3af;margin-top:4px;font-size:.78rem;display:block}.variable-toolbar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:16px;padding:14px}.variable-toolbar label{margin-bottom:8px}.variable-buttons{flex-wrap:wrap;gap:6px;display:flex}.var-btn{cursor:pointer;color:#6366f1;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:4px 10px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.75rem;font-weight:500;transition:all .15s}.var-btn:hover{background:#eef2ff;border-color:#6366f1}.live-preview{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;margin-bottom:20px;padding:14px}.live-preview label{color:#92400e;margin-bottom:8px}.preview-content{color:#1e293b;white-space:pre-wrap;word-break:break-word;font-size:.9rem;line-height:1.6}.var-highlight{color:#1d4ed8;background:#dbeafe;border-radius:3px;padding:1px 4px;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.85em}.hashtag-input-row{gap:8px;display:flex}.hashtag-input-row input{flex:1}.hashtag-list{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.hashtag-chip{color:#2563eb;background:#eff6ff;border-radius:6px;align-items:center;gap:4px;padding:4px 10px;font-size:.82rem;font-weight:500;display:inline-flex}.remove-hashtag{color:#93c5fd;cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:1rem;line-height:1}.remove-hashtag:hover{color:#dc2626}.form-actions{border-top:1px solid #e2e8f0;justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.post-template-editor .btn{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:500;transition:all .2s}.post-template-editor .btn:disabled{opacity:.6;cursor:not-allowed}.post-template-editor .btn-primary{color:#fff;background:#3b82f6}.post-template-editor .btn-primary:hover:not(:disabled){background:#2563eb}.post-template-editor .btn-secondary{color:#475569;background:#f1f5f9}.post-template-editor .btn-secondary:hover:not(:disabled){background:#e2e8f0}@media (width<=768px){.post-template-editor{padding:16px}.form-row{grid-template-columns:1fr}.editor-header{flex-direction:column;align-items:flex-start;gap:8px}}.template-preview-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.template-preview-dialog{background:#fff;border-radius:16px;width:100%;max-width:640px;max-height:80vh;overflow-y:auto;box-shadow:0 20px 60px #0003}.dialog-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.dialog-header h3{color:#1e293b;margin:0;font-size:1.1rem}.close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1}.close-btn:hover{color:#475569}.dialog-body{padding:24px}.preview-section{margin-bottom:20px}.preview-section label{color:#475569;margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.template-raw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:12px}.template-raw code{color:#475569;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.82rem}.game-selector-row{gap:8px;display:flex}.game-selector-row select{border:1px solid #d1d5db;border-radius:8px;flex:1;padding:8px 12px;font-size:.9rem}.loading-text,.empty-text{color:#9ca3af;font-size:.85rem;font-style:italic}.preview-resolved{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:16px}.preview-resolved p{color:#1e293b;white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.6}.preview-hashtags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.preview-hashtags .hashtag{color:#2563eb;background:#eff6ff;border-radius:4px;padding:3px 10px;font-size:.82rem}.preview-image{border-radius:8px;margin-top:12px;overflow:hidden}.preview-image img{object-fit:cover;width:100%;max-height:200px}.dialog-body .alert{border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:.85rem}.dialog-body .alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.dialog-footer{border-top:1px solid #e2e8f0;justify-content:flex-end;padding:16px 24px;display:flex}.template-preview-dialog .btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.template-preview-dialog .btn:disabled{opacity:.6;cursor:not-allowed}.template-preview-dialog .btn-primary{color:#fff;background:#3b82f6}.template-preview-dialog .btn-primary:hover:not(:disabled){background:#2563eb}.template-preview-dialog .btn-secondary{color:#475569;background:#f1f5f9}.template-preview-dialog .btn-secondary:hover:not(:disabled){background:#e2e8f0}@media (width<=640px){.template-preview-overlay{padding:16px}.game-selector-row{flex-direction:column}}.post-template-list{max-width:1200px;padding:24px}.post-template-list .section-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.post-template-list .section-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.post-template-list .section-description{color:#666;margin-bottom:20px;font-size:.9rem}.post-template-list .alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.post-template-list .alert-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.post-template-list .alert-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0}.post-template-list .filter-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.post-template-list .filter-bar label{color:#475569;font-size:.9rem;font-weight:600}.post-template-list .filter-bar select{background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:6px 12px;font-size:.9rem}.post-template-list .loading-container{text-align:center;color:#666;padding:48px}.post-template-list .loading-spinner{border:3px solid #e2e8f0;border-top-color:#3b82f6;border-radius:50%;width:32px;height:32px;margin:0 auto 12px;animation:.8s linear infinite spin}.post-template-list .empty-state{text-align:center;color:#666;padding:48px}.post-template-list .empty-icon{margin-bottom:12px;font-size:3rem;display:block}.post-template-list .template-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px;display:grid}.template-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:box-shadow .2s}.template-card:hover{box-shadow:0 4px 12px #00000014}.template-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.template-name{color:#1e293b;margin:0;font-size:1.05rem;font-weight:600}.template-version{color:#3b82f6;background:#eff6ff;border-radius:12px;padding:2px 8px;font-size:.75rem;font-weight:600}.template-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.trigger-badge{color:#92400e;background:#fef3c7;border-radius:6px;padding:3px 10px;font-size:.8rem;font-weight:500}.selection-badge{color:#166534;background:#f0fdf4;border-radius:6px;padding:3px 10px;font-size:.8rem;font-weight:500}.template-content-preview{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:100px;margin-bottom:12px;padding:12px;overflow:hidden}.template-content-preview code{color:#475569;white-space:pre-wrap;word-break:break-word;font-family:SF Mono,Monaco,Menlo,monospace;font-size:.82rem}.template-hashtags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.template-hashtags .hashtag{color:#2563eb;background:#eff6ff;border-radius:4px;padding:2px 8px;font-size:.78rem}.template-actions{border-top:1px solid #f1f5f9;gap:8px;padding-top:12px;display:flex}.post-template-list .btn{cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.post-template-list .btn-primary{color:#fff;background:#3b82f6}.post-template-list .btn-primary:hover{background:#2563eb}.post-template-list .btn-secondary{color:#475569;background:#f1f5f9}.post-template-list .btn-secondary:hover{background:#e2e8f0}.post-template-list .btn-danger{color:#dc2626;background:#fef2f2}.post-template-list .btn-danger:hover{background:#fee2e2}.btn-sm{padding:5px 10px;font-size:.82rem}@media (width<=768px){.post-template-list{padding:16px}.template-grid{grid-template-columns:1fr}.post-template-list .section-header{flex-direction:column;align-items:flex-start;gap:12px}}.trigger-editor{max-width:720px}.trigger-editor-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.trigger-editor-header h2{margin:0;font-size:20px;font-weight:600}.trigger-editor-loading{text-align:center;color:#6b7280;padding:40px}.trigger-editor-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.trigger-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:#374151;font-size:14px;font-weight:600}.form-group input[type=text],.form-group input[type=number],.form-group select{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.form-hint{color:#9ca3af;font-size:12px}.event-type-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.event-type-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:2px;padding:12px;transition:all .2s;display:flex}.event-type-option.selected{background:#eff6ff;border-color:#2563eb}.event-type-option input[type=radio]{display:none}.et-label{color:#111827;font-size:14px;font-weight:600}.et-desc{color:#6b7280;font-size:12px}.connection-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.connection-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;padding:10px 12px;transition:all .2s;display:flex}.connection-option.selected{background:#eff6ff;border-color:#2563eb}.connection-option input[type=checkbox]{display:none}.conn-icon{font-size:20px}.conn-name{font-size:13px;font-weight:500}.conn-platform{color:#6b7280;margin-left:auto;font-size:11px}.condition-options{flex-direction:column;gap:8px;display:flex}.checkbox-option{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-option input[type=checkbox]{accent-color:#2563eb;width:16px;height:16px}.form-actions{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.btn-cancel{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.btn-cancel:hover{background:#e5e7eb}.btn-save{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 24px;font-size:14px;font-weight:500;transition:background .2s}.btn-save:hover{background:#1d4ed8}.btn-save:disabled{opacity:.6;cursor:not-allowed}.test-dialog{max-width:680px}.test-dialog-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.test-dialog-header h2{margin:0;font-size:20px;font-weight:600}.btn-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:20px}.btn-close:hover{color:#111827;background:#f3f4f6}.test-dialog-desc{color:#6b7280;margin-bottom:20px;font-size:14px}.test-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:10px 14px;font-size:14px}.test-controls{align-items:flex-end;gap:12px;margin-bottom:24px;display:flex}.test-controls .form-group{flex-direction:column;flex:1;gap:6px;display:flex}.test-controls select{border:1px solid #d1d5db;border-radius:8px;padding:10px 12px;font-size:14px}.btn-test{color:#fff;cursor:pointer;white-space:nowrap;background:#7c3aed;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.btn-test:hover{background:#6d28d9}.btn-test:disabled{opacity:.6;cursor:not-allowed}.test-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:20px}.test-preview h3{color:#059669;margin:0 0 16px;font-size:16px;font-weight:600}.preview-meta{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;display:grid}.preview-meta-item{font-size:13px}.meta-label{color:#6b7280;margin-right:4px;font-weight:600}.preview-content{margin-bottom:12px}.preview-content h4{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 8px;font-size:13px;font-weight:600}.preview-text{white-space:pre-wrap;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:16px;font-size:14px;line-height:1.6}.preview-hashtags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.hashtag{color:#2563eb;background:#eff6ff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.preview-platforms{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.platform-badge{color:#374151;background:#f3f4f6;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500}.test-dialog-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;padding-top:16px;display:flex}.test-dialog-footer .btn-cancel{color:#374151;cursor:pointer;background:#f3f4f6;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500}.test-dialog-footer .btn-cancel:hover{background:#e5e7eb}.trigger-list{padding:0}.trigger-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.trigger-success{color:#166534;background:#dcfce7;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.trigger-tabs{border-bottom:2px solid #e5e7eb;gap:4px;margin-bottom:20px;display:flex}.trigger-tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.trigger-tab.active{color:#2563eb;border-bottom-color:#2563eb}.trigger-tab:hover{color:#1d4ed8}.trigger-actions{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.trigger-loading{text-align:center;color:#6b7280;padding:40px}.trigger-empty{text-align:center;color:#6b7280;padding:60px 20px}.trigger-empty p:first-child{margin-bottom:8px;font-size:16px;font-weight:500}.trigger-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;display:grid}.trigger-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:box-shadow .2s}.trigger-card:hover{box-shadow:0 4px 12px #00000014}.trigger-card.inactive{opacity:.6}.trigger-card-header{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.trigger-event-icon{flex-shrink:0;font-size:28px}.trigger-card-title{flex:1}.trigger-card-title h3{margin:0 0 4px;font-size:16px;font-weight:600}.trigger-event-badge{color:#2563eb;background:#eff6ff;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.trigger-card-status .status-active{color:#059669;font-size:12px;font-weight:600}.trigger-card-status .status-inactive{color:#9ca3af;font-size:12px;font-weight:600}.trigger-card-details{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.trigger-detail{gap:6px;font-size:13px;display:flex}.detail-label{color:#6b7280;font-weight:500}.detail-value{color:#111827}.trigger-card-actions{border-top:1px solid #f3f4f6;gap:8px;padding-top:12px;display:flex}.auto-post-trigger-list .btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.auto-post-trigger-list .btn-primary:hover{background:#1d4ed8}.btn-sm{cursor:pointer;border:none;border-radius:6px;padding:5px 12px;font-size:12px;transition:background .2s}.auto-post-trigger-list .btn-secondary{color:#374151;background:#f3f4f6}.auto-post-trigger-list .btn-secondary:hover{background:#e5e7eb}.auto-post-trigger-list .btn-danger{color:#dc2626;background:#fef2f2}.auto-post-trigger-list .btn-danger:hover{background:#fee2e2}.executions-section{margin-top:8px}.executions-table{border-collapse:collapse;width:100%;font-size:13px}.executions-table th,.executions-table td{text-align:left;border-bottom:1px solid #f3f4f6;padding:10px 12px}.executions-table th{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;background:#f9fafb;font-size:12px;font-weight:600}.preview-cell{text-overflow:ellipsis;white-space:nowrap;color:#6b7280;max-width:200px;overflow:hidden}.exec-status{border-radius:10px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.exec-status-pending{color:#92400e;background:#fef3c7}.exec-status-approved{color:#1e40af;background:#dbeafe}.exec-status-published{color:#166534;background:#dcfce7}.exec-status-rejected{color:#991b1b;background:#fee2e2}.exec-status-skipped{color:#6b7280;background:#f3f4f6}.pregame-check-btn{font-weight:600}.pregame-check-btn:disabled{opacity:.6;cursor:not-allowed}.pregame-results{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin-bottom:20px;padding:16px}.pregame-results h4{color:#0c4a6e;margin:0 0 12px;font-size:15px}.pregame-summary{gap:16px;margin-bottom:12px;display:flex}.pregame-stat{color:#0369a1;background:#e0f2fe;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:600}.pregame-stat.published{color:#166534;background:#dcfce7}.pregame-stat.pending{color:#92400e;background:#fef3c7}.pregame-result-card{background:#fff;border:1px solid #e5e7eb;border-radius:6px;margin-top:8px;padding:12px}.pregame-result-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.pregame-result-preview{color:#4b5563;margin:4px 0;font-size:13px;line-height:1.4}.pregame-result-meta{color:#9ca3af;font-size:12px}.pregame-detail{background:#fef3c7;border-radius:4px;padding:2px 6px}.pregame-hours{color:#92400e;font-weight:600}.pregame-info{background:#f0f9ff;border-radius:4px;padding:2px 6px}.condition-builder{padding:0}.cb-empty{color:#6b7280;margin:0 0 12px;font-size:13px;font-style:italic}.cb-conditions{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.cb-logic-row{justify-content:center;gap:6px;margin-bottom:4px;display:flex}.cb-logic-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #d1d5db;border-radius:14px;padding:4px 14px;font-size:11px;font-weight:600;transition:all .2s}.cb-logic-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.cb-condition-fields{align-items:center;gap:8px;display:flex}.cb-field-select{border:1px solid #d1d5db;border-radius:6px;flex:2;padding:8px 10px;font-size:13px}.cb-operator-select{border:1px solid #d1d5db;border-radius:6px;flex:1.5;padding:8px 10px;font-size:13px}.cb-value-input{border:1px solid #d1d5db;border-radius:6px;flex:2;padding:8px 10px;font-size:13px}.cb-remove-btn{cursor:pointer;color:#ef4444;background:0 0;border:1px solid #e5e7eb;border-radius:6px;padding:6px 10px;font-size:14px;transition:all .2s}.cb-remove-btn:hover{background:#fee2e2;border-color:#fca5a5}.cb-add-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px dashed #d1d5db;border-radius:8px;width:100%;padding:8px 16px;font-size:13px;transition:all .2s}.cb-add-btn:hover{color:#2563eb;background:#eff6ff;border-color:#93c5fd}.ct-builder{max-width:800px}.ct-builder-header{margin-bottom:20px}.ct-builder-header h2{color:#111827;margin:12px 0 0;font-size:20px}.btn-back{cursor:pointer;color:#6b7280;background:0 0;border:none;padding:0;font-size:14px}.btn-back:hover{color:#374151}.ct-builder-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.ct-builder-form{flex-direction:column;gap:0;display:flex}.ct-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:16px;padding:20px}.ct-section h3{color:#111827;margin:0 0 16px;font-size:15px;font-weight:600}.ct-field{margin-bottom:14px}.ct-field:last-child{margin-bottom:0}.ct-field label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.ct-field input[type=text],.ct-field textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:border-color .2s}.ct-field input:focus,.ct-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.ct-source-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;display:grid}.ct-source-option{cursor:pointer;text-align:center;border:2px solid #e5e7eb;border-radius:10px;padding:14px;transition:all .2s}.ct-source-option:hover{border-color:#93c5fd}.ct-source-option.active{background:#eff6ff;border-color:#2563eb}.ct-source-opt-icon{margin-bottom:6px;font-size:28px;display:block}.ct-source-option strong{color:#111827;margin-bottom:4px;font-size:13px;display:block}.ct-source-option p{color:#6b7280;margin:0;font-size:11px;line-height:1.3}.ct-cron-presets{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.ct-preset-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .2s}.ct-preset-btn:hover{background:#eff6ff;border-color:#93c5fd}.ct-preset-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.ct-template-list{flex-direction:column;gap:8px;display:flex}.ct-template-option{cursor:pointer;border:2px solid #e5e7eb;border-radius:8px;padding:12px 14px;transition:all .2s}.ct-template-option:hover{border-color:#93c5fd}.ct-template-option.selected{background:#eff6ff;border-color:#2563eb}.ct-template-option strong{color:#111827;margin-bottom:4px;font-size:14px;display:block}.ct-template-preview{color:#6b7280;margin:0;font-size:12px;line-height:1.4}.ct-variables-info{background:#f9fafb;border-radius:8px;margin-top:14px;padding:12px}.ct-variables-info h4{color:#374151;margin:0 0 8px;font-size:13px}.ct-variable-tags{flex-wrap:wrap;gap:6px;display:flex}.ct-variable-tag{color:#3730a3;background:#e0e7ff;border-radius:12px;padding:3px 10px;font-family:monospace;font-size:12px;display:inline-block}.ct-connection-list{flex-direction:column;gap:8px;display:flex}.ct-connection-option{cursor:pointer;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:10px 12px;transition:background .2s;display:flex}.ct-connection-option:hover{background:#f9fafb}.ct-connection-name{color:#374151;font-size:14px}.ct-hint{color:#6b7280;margin:0;font-size:13px;font-style:italic}.ct-form-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.custom-trigger-builder .btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.custom-trigger-builder .btn-secondary:hover{background:#f9fafb}.custom-trigger-list{padding:0}.ct-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.ct-success{color:#166534;background:#dcfce7;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.ct-actions{justify-content:flex-end;gap:8px;margin-bottom:16px;display:flex}.ct-loading{text-align:center;color:#6b7280;padding:40px}.ct-empty{text-align:center;color:#6b7280;padding:60px 20px}.ct-empty p:first-child{margin-bottom:8px;font-size:16px;font-weight:500}.ct-grid{grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:16px;display:grid}.ct-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:box-shadow .2s}.ct-card:hover{box-shadow:0 4px 12px #00000014}.ct-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.ct-card-title{align-items:flex-start;gap:10px;display:flex}.ct-source-icon{font-size:24px;line-height:1}.ct-card-title h3{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.ct-source-badge{color:#2563eb;background:#eff6ff;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.ct-card-actions{gap:4px;display:flex}.ct-card-desc{color:#6b7280;margin:0 0 12px;font-size:13px;line-height:1.4}.ct-card-meta{flex-wrap:wrap;gap:12px;margin-bottom:12px;display:flex}.ct-meta-item{color:#6b7280;font-size:12px}.ct-shared{color:#059669;font-weight:500}.ct-webhook-info{background:#f9fafb;border-radius:8px;align-items:center;gap:8px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.ct-webhook-label{color:#6b7280;font-weight:500}.ct-card-footer{border-top:1px solid #f3f4f6;padding-top:12px}.custom-trigger-list .btn-fire{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:100%;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.custom-trigger-list .btn-fire:hover{background:#f9fafb;border-color:#d1d5db}.custom-trigger-list .btn-fire:disabled{opacity:.6;cursor:not-allowed}.custom-trigger-list .btn-icon{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;font-size:16px;transition:background .2s}.custom-trigger-list .btn-icon:hover{background:#f3f4f6}.custom-trigger-list .btn-icon.btn-danger:hover{background:#fee2e2}.custom-trigger-list .btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:background .2s}.custom-trigger-list .btn-primary:hover{background:#1d4ed8}.custom-trigger-list .btn-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.custom-trigger-list .btn-link:hover{color:#1d4ed8}.trigger-library{padding:0}.tl-error{color:#991b1b;background:#fee2e2;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.tl-success{color:#166534;background:#dcfce7;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:14px}.tl-filters{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.tl-filter-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:18px;padding:7px 14px;font-size:13px;transition:all .2s}.tl-filter-btn:hover{border-color:#93c5fd}.tl-filter-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.tl-loading{text-align:center;color:#6b7280;padding:40px}.tl-empty{text-align:center;color:#6b7280;padding:60px 20px}.tl-empty p:first-child{margin-bottom:8px;font-size:16px;font-weight:500}.tl-grid{grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:16px;display:grid}.tl-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px;transition:box-shadow .2s}.tl-card:hover{box-shadow:0 4px 12px #00000014}.tl-card-header{align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.tl-card-icon{font-size:24px;line-height:1}.tl-card-header h3{color:#111827;margin:0 0 4px;font-size:16px;font-weight:600}.tl-source-badge{color:#059669;background:#f0fdf4;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.tl-card-desc{color:#6b7280;margin:0 0 12px;font-size:13px;line-height:1.4}.tl-card-preview{background:#f9fafb;border-radius:8px;margin-bottom:12px;padding:10px 12px;font-size:13px}.tl-card-preview strong{color:#374151;margin-bottom:4px;font-size:12px;display:block}.tl-card-preview p{color:#6b7280;margin:0;line-height:1.4}.tl-hashtags{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.tl-hashtag{color:#2563eb;background:#eff6ff;border-radius:12px;padding:3px 10px;font-size:12px;display:inline-block}.tl-card-meta{color:#6b7280;gap:14px;margin-bottom:14px;font-size:12px;display:flex}.tl-card-footer{border-top:1px solid #f3f4f6;padding-top:12px}.trigger-library .btn-import{cursor:pointer;color:#059669;background:#f0fdf4;border:1px solid #059669;border-radius:8px;width:100%;padding:9px 16px;font-size:13px;font-weight:500;transition:all .2s}.trigger-library .btn-import:hover{color:#fff;background:#059669}.trigger-library .btn-import:disabled{opacity:.6;cursor:not-allowed}.game-score-entry{padding:0}.game-score-entry .section-header{margin-bottom:24px}.game-score-entry .section-header h3{margin:0 0 4px;font-size:1.25rem;font-weight:600}.game-score-entry .section-subtitle{color:#6b7280;margin:0;font-size:.875rem}.game-selector{margin-bottom:24px}.game-selector label{margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.game-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;max-width:500px;padding:8px 12px;font-size:.875rem}.score-entry-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.score-entry-card h4{margin:0 0 16px;font-size:1rem;font-weight:600}.score-form-row{flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.score-form .form-group{flex-direction:column;gap:4px;display:flex}.score-form .form-group label{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:500}.quarter-selector select{border:1px solid #d1d5db;border-radius:8px;min-width:140px;padding:8px 12px;font-size:.875rem}.score-input-group{flex:0 0 100px}.score-input{text-align:center;border:2px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-size:1.5rem;font-weight:700;transition:border-color .2s}.score-input:focus{border-color:#6366f1;outline:none}.score-separator{color:#9ca3af;padding-bottom:8px;font-size:1.5rem;font-weight:700}.overtime-badge{margin-bottom:16px}.score-history{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px}.score-history h4{margin:0 0 16px;font-size:1rem;font-weight:600}.no-data{color:#9ca3af;text-align:center;padding:24px;font-style:italic}.scores-table{border-collapse:collapse;width:100%}.scores-table th{text-align:left;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb;padding:10px 12px;font-size:.75rem;font-weight:600}.scores-table td{border-bottom:1px solid #f3f4f6;padding:10px 12px;font-size:.875rem}.score-cell{font-size:1.125rem;font-weight:700}.time-cell{color:#6b7280;font-size:.8rem}.overtime-row{background:#fef3c7}.quarter-badge{color:#374151;background:#e5e7eb;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:700;display:inline-block}.quarter-badge.ot{color:#fff;background:#f59e0b}.alert{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.875rem}.alert-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.motivational-config{padding:0}.motivational-config .section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.motivational-config .section-header h3{margin:0 0 4px;font-size:1.25rem;font-weight:600}.motivational-config .section-subtitle{color:#6b7280;max-width:600px;margin:0;font-size:.875rem}.message-form-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:24px;padding:24px}.message-form-card h4{margin:0 0 16px;font-size:1rem;font-weight:600}.message-form-card .form-group{margin-bottom:16px}.message-form-card .form-group label{margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.message-form-card select,.message-form-card textarea{border:1px solid #d1d5db;border-radius:8px;width:100%;padding:8px 12px;font-family:inherit;font-size:.875rem}.message-form-card textarea{resize:vertical}.char-count{text-align:right;color:#9ca3af;margin-top:4px;font-size:.75rem;display:block}.checkbox-group label{cursor:pointer;align-items:center;gap:8px;display:flex}.form-actions{gap:8px;display:flex}.motivational-message-config .btn-secondary{color:#374151;cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:8px;padding:10px 24px;font-size:.875rem;font-weight:600;transition:background .2s}.motivational-message-config .btn-secondary:hover{background:#e5e7eb}.context-groups{flex-direction:column;gap:20px;display:flex}.context-group{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #d1d5db;border-radius:12px;padding:20px}.context-group.context-winning{border-left-color:#22c55e}.context-group.context-losing{border-left-color:#ef4444}.context-group.context-close{border-left-color:#f59e0b}.context-group.context-overtime{border-left-color:#8b5cf6}.context-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.context-badge{letter-spacing:.5px;text-transform:uppercase;border-radius:20px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.context-badge.context-winning{color:#166534;background:#dcfce7}.context-badge.context-losing{color:#991b1b;background:#fef2f2}.context-badge.context-close{color:#92400e;background:#fef3c7}.context-badge.context-overtime{color:#5b21b6;background:#ede9fe}.context-description{color:#6b7280;font-size:.8rem}.message-count{color:#9ca3af;margin-left:auto;font-size:.75rem}.no-messages{color:#9ca3af;margin:0;padding:8px 0;font-size:.875rem;font-style:italic}.message-list{flex-direction:column;gap:8px;display:flex}.message-item{background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.message-item.inactive{opacity:.6}.message-text{color:#374151;flex:1;font-size:.875rem;font-style:italic}.inactive-badge{color:#9ca3af;text-transform:uppercase;background:#f3f4f6;border-radius:8px;margin-left:8px;padding:2px 8px;font-size:.65rem;font-style:normal;font-weight:700;display:inline-block}.message-actions{gap:4px;display:flex}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px;font-size:1rem;transition:background .2s}.btn-icon:hover{background:#e5e7eb}.game-result-post{padding:1rem}.result-section{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;margin-bottom:1.5rem;padding:1.25rem}.result-section h3{color:var(--text-primary,#111827);margin:0 0 .5rem;font-size:1.1rem}.section-description{color:var(--text-secondary,#6b7280);margin:0 0 1rem;font-size:.875rem}.game-select{border:1px solid var(--border-color,#d1d5db);background:var(--input-bg,#fff);width:100%;color:var(--text-primary,#111827);border-radius:6px;padding:.625rem .75rem;font-size:.9rem}.game-result-post .alert{border-radius:6px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.game-result-post .alert-success{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.preview-loading{color:var(--text-secondary,#6b7280);flex-direction:column;align-items:center;gap:.75rem;padding:2rem;display:flex}.result-card{text-align:center;border-radius:10px;margin-bottom:1.25rem;padding:1.5rem}.result-card.result-win{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:2px solid #86efac}.result-card.result-loss{background:linear-gradient(135deg,#fef2f2,#fee2e2);border:2px solid #fca5a5}.result-card.result-close{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:2px solid #fcd34d}.result-score{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.score-home,.score-away{font-variant-numeric:tabular-nums;color:var(--text-primary,#111827);font-size:2.5rem;font-weight:800}.score-separator{color:var(--text-secondary,#6b7280);font-size:1.75rem}.result-badge{margin-bottom:.25rem;font-size:1.1rem;font-weight:600}.result-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary,#6b7280);font-size:.875rem;font-weight:700}.result-differential{color:var(--text-secondary,#6b7280);margin-top:.25rem;font-size:.8rem}.narrative-box,.next-game-box{background:var(--bg-subtle,#f9fafb);border-radius:6px;margin-bottom:1rem;padding:1rem}.narrative-box h4,.next-game-box h4{margin:0 0 .5rem;font-size:.95rem}.narrative-box p,.next-game-box p{color:var(--text-secondary,#374151);margin:0;font-size:.875rem;line-height:1.5}.preview-posts h4{margin:0 0 .75rem;font-size:.95rem}.preview-post-card{border:1px solid var(--border-color,#e5e7eb);background:var(--bg-subtle,#f9fafb);border-radius:6px;margin-bottom:.75rem;padding:1rem}.post-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.template-name{color:var(--text-secondary,#6b7280);font-size:.8rem}.approval-badge{color:#92400e;background:#fef3c7;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.post-content{white-space:pre-wrap;color:var(--text-primary,#111827);border:1px solid var(--border-color,#e5e7eb);background:#fff;border-radius:4px;margin-bottom:.5rem;padding:.75rem;font-size:.875rem;line-height:1.6}.post-platforms{flex-wrap:wrap;gap:.375rem;display:flex}.platform-tag{background:var(--primary-light,#dbeafe);color:var(--primary,#2563eb);border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.no-triggers-info{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin-bottom:1rem;padding:1rem}.no-triggers-info p{color:#1e40af;margin:0 0 .25rem;font-size:.875rem}.no-triggers-info .hint{color:#3b82f6;font-size:.8rem}.completion-controls{background:var(--bg-subtle,#f9fafb);border:1px solid var(--border-color,#e5e7eb);border-radius:8px;padding:1.25rem}.completion-controls h4{margin:0 0 .75rem;font-size:.95rem}.control-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.checkbox-label{cursor:pointer;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.delay-input{border:1px solid var(--border-color,#d1d5db);border-radius:4px;width:70px;margin-left:.5rem;padding:.375rem .5rem;font-size:.875rem}.delay-hint{color:var(--text-secondary,#6b7280);font-size:.75rem}.btn-complete{color:#fff;cursor:pointer;background:#059669;border:none;border-radius:6px;margin-top:.5rem;padding:.625rem 1.25rem;font-size:.9rem;font-weight:600;transition:background .15s}.btn-complete:hover:not(:disabled){background:#047857}.btn-complete:disabled{opacity:.55;cursor:not-allowed}.social-analytics{padding:0}.analytics-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:20px;display:flex}.analytics-header h2{color:#1e293b;margin:0 0 8px;font-size:1.5rem}.header-left{flex-direction:column;gap:8px;display:flex}.header-actions{gap:8px;display:flex}.tab-bar{background:#f1f5f9;border-radius:8px;gap:4px;padding:3px;display:flex}.tab-btn{cursor:pointer;color:#64748b;background:0 0;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:500;transition:all .2s}.tab-btn:hover{color:#334155}.tab-btn.active{color:#6366f1;background:#fff;box-shadow:0 1px 3px #0000001a}.btn-refresh{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:8px 16px;font-size:.85rem;font-weight:500;transition:background .2s}.btn-refresh:hover:not(:disabled){background:#4f46e5}.btn-refresh:disabled{opacity:.6;cursor:not-allowed}.btn-back{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:6px 12px;font-size:.85rem;transition:background .2s}.btn-back:hover{background:#e2e8f0}.analytics-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.analytics-success{color:#16a34a;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.9rem}.analytics-loading{color:#64748b;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.analytics-loading .spinner{border:3px solid #e2e8f0;border-top-color:#6366f1;border-radius:50%;width:32px;height:32px;margin-bottom:12px;animation:.8s linear infinite spin}.date-filter{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.date-filter label{color:#475569;align-items:center;gap:6px;font-size:.85rem;font-weight:500;display:flex}.date-filter input[type=date]{border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:.85rem}.btn-apply{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:6px;padding:6px 16px;font-size:.85rem;font-weight:500}.btn-apply:hover{background:#4f46e5}.summary-cards,.detail-summary-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.summary-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:12px;padding:16px;transition:transform .15s,box-shadow .15s;display:flex}.summary-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.summary-card.highlight{background:linear-gradient(135deg,#eef2ff,#e0e7ff);border-color:#6366f1}.card-icon{font-size:1.5rem}.card-value{color:#1e293b;font-size:1.4rem;font-weight:700}.card-label{color:#64748b;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.metrics-breakdown{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:24px;padding:20px}.metrics-breakdown h3{color:#334155;margin:0 0 16px;font-size:1rem}.metric-bars{flex-direction:column;gap:10px;display:flex}.metric-bar-row{align-items:center;gap:12px;display:flex}.metric-label{color:#475569;flex:0 0 120px;font-size:.85rem}.metric-bar-track{background:#f1f5f9;border-radius:10px;flex:1;height:20px;overflow:hidden}.metric-bar-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:10px;min-width:2px;height:100%;transition:width .5s}.metric-value{color:#334155;text-align:right;flex:0 0 120px;font-size:.85rem;font-weight:500}.platform-breakdown{margin-bottom:24px}.platform-breakdown h3{color:#334155;margin:0 0 16px;font-size:1rem}.platform-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.platform-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:16px;transition:transform .15s}.platform-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000000f}.platform-header{align-items:center;gap:8px;margin-bottom:12px;display:flex}.platform-icon{font-size:1.3rem}.platform-name{color:#1e293b;font-size:.95rem;font-weight:600}.platform-stats{grid-template-columns:1fr 1fr;gap:8px;display:grid}.platform-stats .stat{flex-direction:column;display:flex}.stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;font-size:.7rem}.top-posts{margin-bottom:24px}.top-posts h3{color:#334155;margin:0 0 12px;font-size:1rem}.posts-table{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.table-header{color:#64748b;text-transform:uppercase;letter-spacing:.5px;background:#f8fafc;border-bottom:1px solid #e2e8f0;grid-template-columns:2fr 1fr 1fr 1fr .8fr .6fr 1fr;padding:10px 16px;font-size:.75rem;font-weight:600;display:grid}.table-row{color:#334155;border-bottom:1px solid #f1f5f9;grid-template-columns:2fr 1fr 1fr 1fr .8fr .6fr 1fr;align-items:center;padding:12px 16px;font-size:.85rem;transition:background .15s;display:grid}.table-row:hover{background:#f8fafc}.table-row:last-child{border-bottom:none}.col-content{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.btn-detail{color:#6366f1;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:500;transition:background .15s}.btn-detail:hover{background:#eef2ff;border-color:#c7d2fe}.post-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:20px}.post-content-text{color:#1e293b;margin:0 0 8px;font-size:.95rem;line-height:1.5}.post-media-count{color:#6366f1;margin-bottom:8px;font-size:.85rem}.post-meta{color:#94a3b8;gap:16px;font-size:.8rem;display:flex}.engagement-detail-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:12px;margin-bottom:24px;display:grid}.engagement-item{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:16px;display:flex}.eng-icon{font-size:1.3rem}.eng-value{color:#1e293b;font-size:1.2rem;font-weight:700}.eng-label{color:#94a3b8;text-transform:uppercase;font-size:.75rem}.platform-detail-section{margin-bottom:24px}.platform-detail-section h3{color:#334155;margin:0 0 16px;font-size:1rem}.platform-detail-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;display:grid}.platform-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.platform-detail-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.platform-icon-lg{font-size:1.8rem}.platform-detail-header h4{color:#1e293b;margin:0;font-size:1.05rem}.external-id{color:#94a3b8;font-size:.75rem}.platform-metrics-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.pm-item{flex-direction:column;align-items:center;gap:2px;display:flex}.pm-item.highlight{background:#eef2ff;border-radius:6px;padding:4px}.pm-value{color:#334155;font-size:.95rem;font-weight:600}.pm-label{color:#94a3b8;text-transform:uppercase;font-size:.65rem}.platform-fetched{color:#94a3b8;text-align:right;margin-top:10px;font-size:.75rem}.trends-section{padding:0}.chart-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:20px;padding:20px}.chart-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.chart-header h3{color:#334155;margin:0;font-size:1rem}.metric-selector select{color:#334155;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:.85rem}.chart-container{overflow-x:auto}.bar-chart,.line-chart{width:100%;min-height:250px}.chart-legend{border-top:1px solid #f1f5f9;flex-wrap:wrap;gap:16px;margin-top:12px;padding-top:12px;display:flex}.legend-item{color:#475569;align-items:center;gap:6px;font-size:.8rem;display:flex}.legend-color{border-radius:3px;width:12px;height:12px;display:inline-block}.trend-summary{border-top:1px solid #f1f5f9;gap:24px;margin-top:16px;padding-top:12px;display:flex}.trend-stat{flex-direction:column;gap:2px;display:flex}.trend-stat-label{color:#94a3b8;text-transform:uppercase;letter-spacing:.3px;font-size:.75rem}.trend-stat-value{color:#334155;font-size:.9rem;font-weight:600}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.empty-icon{margin-bottom:16px;font-size:3rem}.empty-state h3{color:#334155;margin:0 0 8px}.empty-state p{color:#64748b;font-size:.9rem}.no-data{text-align:center;color:#94a3b8;padding:24px;font-size:.9rem}@media (width<=768px){.summary-cards{grid-template-columns:repeat(2,1fr)}.table-header,.table-row{grid-template-columns:1fr;gap:4px}.table-header{display:none}.table-row{border:1px solid #e2e8f0;border-radius:8px;margin-bottom:8px;padding:12px}.platform-metrics-grid{grid-template-columns:repeat(2,1fr)}.trend-summary{flex-direction:column;gap:8px}}.ai-content-generator{max-width:900px}.ai-content-generator h3{color:#1a1a2e;margin-top:0;margin-bottom:16px;font-size:18px}.ai-prompt-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:20px;padding:20px}.ai-prompt-section label{color:#333;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.ai-prompt-input{resize:vertical;box-sizing:border-box;border:1px solid #d0d0d0;border-radius:8px;width:100%;min-height:80px;padding:10px 12px;font-family:inherit;font-size:14px}.ai-prompt-input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea26}.ai-context-row{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.ai-context-row>div{flex:1;min-width:180px}.ai-context-row select,.ai-context-row input{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:8px;width:100%;padding:8px 10px;font-size:13px}.ai-context-row select:focus,.ai-context-row input:focus{border-color:#667eea;outline:none}.ai-options-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:12px;display:flex}.ai-options-row label{cursor:pointer;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.ai-options-row input[type=checkbox]{accent-color:#667eea;width:16px;height:16px}.ai-options-row input[type=number]{border:1px solid #d0d0d0;border-radius:8px;width:80px;padding:6px 8px;font-size:13px}.ai-action-row{gap:10px;margin-top:16px;display:flex}.ai-generate-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:opacity .2s;display:flex}.ai-generate-btn:hover:not(:disabled){opacity:.9}.ai-generate-btn:disabled{opacity:.5;cursor:not-allowed}.ai-regenerate-btn{color:#667eea;cursor:pointer;background:#fff;border:2px solid #667eea;border-radius:8px;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s;display:flex}.ai-regenerate-btn:hover:not(:disabled){background:#f0f0ff}.ai-regenerate-btn:disabled{opacity:.5;cursor:not-allowed}.ai-suggestions-section{margin-top:20px}.ai-suggestion-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:14px;padding:16px;transition:border-color .2s;position:relative}.ai-suggestion-card:hover{border-color:#667eea}.ai-suggestion-card.selected{border-color:#667eea;box-shadow:0 0 0 2px #667eea33}.ai-suggestion-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.ai-suggestion-badge{text-transform:uppercase;color:#667eea;background:#e8ecff;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:700}.ai-suggestion-confidence{color:#888;font-size:12px}.ai-suggestion-content{color:#333;white-space:pre-wrap;background:#fafafa;border-radius:6px;margin-bottom:10px;padding:10px;font-size:14px;line-height:1.6}.ai-suggestion-hashtags{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.ai-hashtag{color:#2e7d32;background:#e8f5e9;border-radius:12px;padding:3px 10px;font-size:12px;font-weight:500}.ai-suggestion-time{color:#888;margin-bottom:10px;font-size:12px}.ai-suggestion-actions{gap:8px;display:flex}.ai-use-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:600}.ai-use-btn:hover{background:#5a6fd6}.ai-edit-btn{color:#333;cursor:pointer;background:#f5f5f5;border:1px solid #d0d0d0;border-radius:6px;padding:7px 16px;font-size:13px;font-weight:500}.ai-edit-btn:hover{background:#e8e8e8}.ai-edit-area{margin-top:10px}.ai-edit-textarea{resize:vertical;box-sizing:border-box;border:1px solid #667eea;border-radius:8px;width:100%;min-height:80px;padding:10px 12px;font-family:inherit;font-size:14px}.ai-edit-textarea:focus{outline:none;box-shadow:0 0 0 3px #667eea26}.ai-edit-actions{gap:8px;margin-top:8px;display:flex}.ai-moderation-warning{color:#e65100;background:#fff3e0;border:1px solid #ffb74d;border-radius:8px;align-items:flex-start;gap:10px;margin-top:12px;padding:12px 16px;font-size:13px;display:flex}.ai-moderation-warning .warning-icon{flex-shrink:0;font-size:18px}.ai-loading{color:#667eea;justify-content:center;align-items:center;gap:10px;padding:40px 20px;font-size:14px;display:flex}.ai-spinner{border:3px solid #e0e0ff;border-top-color:#667eea;border-radius:50%;width:24px;height:24px;animation:.8s linear infinite ai-spin}@keyframes ai-spin{to{transform:rotate(360deg)}}.ai-empty-state{text-align:center;color:#888;padding:40px 20px}.ai-empty-state .empty-icon{margin-bottom:12px;font-size:48px}.ai-empty-state p{margin:4px 0;font-size:14px}.ai-error{color:#c62828;background:#fce4ec;border:1px solid #ef9a9a;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:13px}.ai-success{color:#2e7d32;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;margin-top:12px;padding:12px 16px;font-size:13px}.ai-feedback-section{margin-top:12px}.ai-feedback-input{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:8px;width:100%;padding:8px 12px;font-size:13px}.ai-feedback-input:focus{border-color:#667eea;outline:none}.tone-settings-panel{background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-bottom:20px;padding:20px}.tone-settings-panel h4{color:#1a1a2e;margin-top:0;margin-bottom:16px;font-size:16px}.tone-settings-panel label{color:#333;margin-bottom:4px;font-size:13px;font-weight:600;display:block}.tone-settings-panel .field-group{margin-bottom:14px}.tone-selector{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px;display:grid}.tone-option{text-align:center;cursor:pointer;border:2px solid #e0e0e0;border-radius:8px;padding:10px;font-size:13px;font-weight:500;transition:all .2s}.tone-option:hover{border-color:#667eea}.tone-option.active{color:#667eea;background:#f0f0ff;border-color:#667eea;font-weight:700}.tone-option .tone-icon{margin-bottom:4px;font-size:24px;display:block}.tone-settings-panel input[type=text],.tone-settings-panel textarea{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:8px;width:100%;padding:8px 10px;font-family:inherit;font-size:13px}.tone-settings-panel textarea{resize:vertical;min-height:60px}.tone-settings-panel input:focus,.tone-settings-panel textarea:focus{border-color:#667eea;outline:none}.tone-save-btn{color:#fff;cursor:pointer;background:#667eea;border:none;border-radius:8px;padding:9px 20px;font-size:13px;font-weight:600;transition:opacity .2s}.tone-save-btn:hover:not(:disabled){opacity:.9}.tone-save-btn:disabled{opacity:.5;cursor:not-allowed}.tone-help-text{color:#888;margin-top:4px;font-size:12px}.optimal-times-section{background:#fff;border:1px solid #e0e0e0;border-radius:10px;margin-top:20px;padding:20px}.optimal-times-section h4{color:#1a1a2e;margin-top:0;margin-bottom:12px;font-size:16px}.optimal-time-slot{border-bottom:1px solid #f0f0f0;align-items:center;gap:12px;padding:10px 0;display:flex}.optimal-time-slot:last-child{border-bottom:none}.time-slot-day{color:#333;min-width:90px;font-size:13px;font-weight:700}.time-slot-time{color:#667eea;min-width:60px;font-size:13px;font-weight:600}.time-slot-score{color:#2e7d32;text-align:center;background:#e8f5e9;border-radius:10px;min-width:50px;padding:2px 8px;font-size:12px}.time-slot-rationale{color:#888;flex:1;font-size:12px}.ai-tabs{border-bottom:2px solid #e0e0e0;gap:0;margin-bottom:20px;display:flex}.ai-tab{color:#888;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}.ai-tab:hover{color:#667eea}.ai-tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:700}@media (width<=600px){.tone-selector{grid-template-columns:repeat(2,1fr)}.ai-context-row,.ai-action-row{flex-direction:column}}.timelapse-generator{padding:24px}.timelapse-generator h2{color:#1a1a2e;margin:0 0 8px;font-size:22px}.timelapse-generator .subtitle{color:#666;margin:0 0 24px;font-size:14px}.timelapse-season-select{margin-bottom:24px}.timelapse-season-select label{color:#333;margin-bottom:6px;font-size:14px;font-weight:600;display:block}.timelapse-season-select select{background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;max-width:400px;padding:10px 12px;font-size:14px}.timelapse-athlete-section{margin-bottom:24px}.timelapse-athlete-section h3{color:#1a1a2e;margin:0 0 12px;font-size:16px}.eligible-count{color:#888;margin-bottom:12px;font-size:13px}.athlete-select-list{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;max-height:300px;padding:12px;display:grid;overflow-y:auto}.athlete-select-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex}.athlete-select-item:hover{background:#e8ecf4}.athlete-select-item.selected{background:#dbeafe;border:1px solid #3b82f6}.athlete-select-item input[type=checkbox]{accent-color:#3b82f6;width:18px;height:18px}.athlete-name{color:#333;font-weight:500}.athlete-photo-count{color:#888;margin-left:auto;font-size:12px}.timelapse-options{background:#f8f9fa;border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px;padding:20px;display:grid}.option-group{flex-direction:column;gap:6px;display:flex}.option-group label{color:#555;font-size:13px;font-weight:600}.option-group select,.option-group input[type=range]{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 10px;font-size:14px}.option-group input[type=range]{accent-color:#3b82f6;border:none;padding:4px 0}.speed-value{color:#888;text-align:center;font-size:12px}.option-toggle{align-items:center;gap:10px;display:flex}.option-toggle input[type=checkbox]{accent-color:#3b82f6;width:18px;height:18px}.option-toggle span{color:#333;font-size:14px}.timelapse-actions{gap:12px;margin-bottom:32px;display:flex}.bulk-timelapse-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-bottom:24px;padding:20px}.bulk-timelapse-panel h3{color:#1a1a2e;margin:0 0 8px;font-size:16px}.bulk-timelapse-panel .bulk-desc{color:#666;margin:0 0 16px;font-size:13px}.bulk-stats{gap:24px;margin-bottom:16px;display:flex}.stat-card{text-align:center;background:#f0f4ff;border-radius:8px;flex:1;padding:14px 20px}.stat-card .stat-number{color:#3b82f6;font-size:28px;font-weight:700}.stat-card .stat-label{color:#666;margin-top:4px;font-size:12px}.bulk-result{border-radius:8px;margin-top:16px;padding:12px;font-size:14px}.bulk-result.success{color:#065f46;background:#d1fae5}.bulk-result.error{color:#991b1b;background:#fee2e2}.timelapse-job-list{margin-top:32px}.timelapse-job-list h3{color:#1a1a2e;margin:0 0 16px;font-size:18px}.job-table-wrapper{border:1px solid #e5e7eb;border-radius:10px;overflow-x:auto}.job-table{border-collapse:collapse;width:100%;font-size:14px}.job-table thead{background:#f8f9fa}.job-table th{text-align:left;color:#555;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e5e7eb;padding:12px 16px;font-size:12px;font-weight:600}.job-table td{color:#333;border-bottom:1px solid #f0f0f0;padding:12px 16px}.job-table tr:hover{background:#f8f9fa}.job-status{border-radius:12px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.job-status.queued{color:#92400e;background:#fef3c7}.job-status.processing{color:#1e40af;background:#dbeafe}.job-status.completed{color:#065f46;background:#d1fae5}.job-status.failed{color:#991b1b;background:#fee2e2}.btn-cancel-job{color:#ef4444;cursor:pointer;background:#fff;border:1px solid #ef4444;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;transition:all .15s}.btn-cancel-job:hover{color:#fff;background:#ef4444}.btn-download{color:#3b82f6;cursor:pointer;background:#fff;border:1px solid #3b82f6;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s}.btn-download:hover{color:#fff;background:#3b82f6}.empty-jobs{text-align:center;color:#888;padding:40px 20px;font-size:14px}.empty-jobs .empty-icon{margin-bottom:12px;font-size:48px}.timelapse-team-filter{margin-bottom:16px}.timelapse-team-filter select{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;max-width:300px;padding:8px 10px;font-size:14px}.timelapse-loading,.timelapse-error{text-align:center;color:#888;padding:24px}.timelapse-error{color:#ef4444}@media (width<=768px){.timelapse-options,.athlete-select-list{grid-template-columns:1fr}.bulk-stats{flex-direction:column;gap:10px}.timelapse-actions{flex-direction:column}}.branding-settings-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a}.branding-settings-container .loading{text-align:center;color:#666;padding:40px;font-size:1.1rem}.branding-settings-container .error-message{color:#dc2626;background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-size:.95rem}.branding-settings-container .success-message{color:#16a34a;background-color:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;margin-bottom:20px;padding:12px 16px;font-size:.95rem}.branding-settings-container .settings-form{flex-direction:column;gap:30px;display:flex}.branding-settings-container .settings-section{background-color:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:25px}.branding-settings-container .settings-section h3{color:#374151;border-bottom:1px solid #d1d5db;margin:0 0 20px;padding-bottom:10px;font-size:1.3rem;font-weight:600}.branding-settings-container .form-group{margin-bottom:20px}.branding-settings-container .form-group:last-child{margin-bottom:0}.branding-settings-container .form-group label{color:#374151;margin-bottom:6px;font-size:.95rem;font-weight:500;display:block}.branding-settings-container .form-group input[type=text],.branding-settings-container .form-group input[type=email],.branding-settings-container .form-group input[type=tel],.branding-settings-container .form-group input[type=url],.branding-settings-container .form-group textarea{box-sizing:border-box;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.branding-settings-container .form-group input:focus,.branding-settings-container .form-group textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.branding-settings-container .form-group input:disabled,.branding-settings-container .form-group textarea:disabled{color:#6b7280;cursor:not-allowed;background-color:#f9fafb}.branding-settings-container .form-group textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.branding-settings-container .field-description{color:#6b7280;margin:6px 0 0;font-size:.85rem;line-height:1.4}.branding-settings-container .char-count{color:#9ca3af;text-align:right;margin-top:4px;font-size:.8rem}.branding-settings-container .char-count.near-limit{color:#f59e0b}.branding-settings-container .char-count.at-limit{color:#dc2626}.image-upload-area{align-items:center;gap:20px;margin-top:8px;display:flex}.image-preview{background-color:#f9fafb;border:2px dashed #d1d5db;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:120px;height:120px;display:flex;overflow:hidden}.image-preview.banner-preview{width:240px;height:120px}.image-preview img{object-fit:contain;max-width:100%;max-height:100%}.image-preview .placeholder-text{color:#9ca3af;text-align:center;padding:8px;font-size:.8rem}.image-upload-controls{flex-direction:column;gap:8px;display:flex}.image-upload-controls .btn-upload{color:#fff;cursor:pointer;background-color:#3b82f6;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:.9rem;transition:background-color .2s;display:inline-flex}.image-upload-controls .btn-upload:hover:not(:disabled){background-color:#2563eb}.image-upload-controls .btn-upload:disabled{opacity:.6;cursor:not-allowed}.image-upload-controls .upload-hint{color:#6b7280;font-size:.8rem}.upload-error{color:#dc2626;margin-top:4px;font-size:.85rem}.uploading-indicator{color:#3b82f6;margin-top:4px;font-size:.85rem}.color-picker-group{align-items:center;gap:12px;margin-top:8px;display:flex}.color-picker-group input[type=color]{cursor:pointer;background:0 0;border:2px solid #d1d5db;border-radius:8px;width:48px;height:48px;padding:2px}.color-picker-group input[type=color]:disabled{opacity:.6;cursor:not-allowed}.color-picker-group .color-hex-input{text-transform:uppercase;border:1px solid #d1d5db;border-radius:6px;width:100px;padding:8px 10px;font-family:monospace;font-size:.9rem}.color-picker-group .color-hex-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.color-swatch{border:1px solid #d1d5db;border-radius:6px;width:32px;height:32px}.toggle-group{align-items:center;gap:12px;margin-top:8px;display:flex}.toggle-switch{flex-shrink:0;width:48px;height:26px;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{cursor:pointer;background-color:#d1d5db;border-radius:26px;transition:all .3s;position:absolute;inset:0}.toggle-slider:before{content:"";background-color:#fff;border-radius:50%;width:20px;height:20px;transition:all .3s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background-color:#3b82f6}.toggle-switch input:checked+.toggle-slider:before{transform:translate(22px)}.toggle-switch input:disabled+.toggle-slider{opacity:.6;cursor:not-allowed}.toggle-label{color:#374151;font-size:.95rem}.branding-settings-container .settings-actions{background-color:#f9fafb;border-radius:8px;justify-content:flex-end;gap:12px;margin-top:10px;padding:25px;display:flex}.branding-settings-container .btn{cursor:pointer;border:none;border-radius:6px;min-width:120px;padding:10px 20px;font-size:.95rem;font-weight:500;transition:background-color .2s,transform .1s}.branding-settings-container .btn:hover:not(:disabled){transform:translateY(-1px)}.branding-settings-container .btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}.branding-settings-container .btn-primary{color:#fff;background-color:#3b82f6}.branding-settings-container .btn-primary:hover:not(:disabled){background-color:#2563eb}.branding-settings-container .btn-secondary{color:#fff;background-color:#6b7280}.branding-settings-container .btn-secondary:hover:not(:disabled){background-color:#4b5563}@media (width<=768px){.branding-settings-container{margin:10px;padding:15px}.branding-settings-container .settings-section{padding:20px 15px}.branding-settings-container .settings-actions{flex-direction:column;gap:10px}.branding-settings-container .btn{width:100%}.image-upload-area{flex-direction:column;align-items:flex-start}.image-preview.banner-preview{width:100%;max-width:240px}}@media (width<=480px){.branding-settings-container .settings-section h3{font-size:1.1rem}.branding-settings-container .form-group input,.branding-settings-container .form-group textarea{font-size:16px}}.psm-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.psm-header h2{color:var(--text-primary,#1a1a1a);margin:0;font-size:1.5rem;font-weight:600}.psm-subtitle{color:var(--text-secondary,#6b7280);margin:.25rem 0 0;font-size:.875rem}.psm-header-actions{flex-wrap:wrap;gap:.5rem;display:flex}.psm-alert{border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem}.psm-alert-error{background:var(--error-bg,#fef2f2);color:var(--error-text,#991b1b);border:1px solid var(--error-border,#fecaca)}.psm-alert-success{background:var(--success-bg,#f0fdf4);color:var(--success-text,#166534);border:1px solid var(--success-border,#bbf7d0)}.psm-publish-status{border-radius:20px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;display:inline-flex}.psm-publish-status.published{background:var(--success-bg,#f0fdf4);color:var(--success-text,#166534)}.psm-publish-status.unpublished{background:var(--warning-bg,#fffbeb);color:var(--warning-text,#92400e)}.psm-status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.psm-publish-status.published .psm-status-dot{background:#22c55e}.psm-publish-status.unpublished .psm-status-dot{background:#f59e0b}.psm-section-list{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.psm-section-row{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e5e7eb);cursor:grab;border-radius:10px;transition:box-shadow .15s,opacity .15s}.psm-section-row:active{cursor:grabbing}.psm-section-row:hover{box-shadow:0 2px 8px #00000014}.psm-section-row.disabled{opacity:.55}.psm-section-main{align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.psm-drag-handle{cursor:grab;color:var(--text-tertiary,#9ca3af);-webkit-user-select:none;user-select:none;font-size:1.25rem;line-height:1}.psm-section-icon{flex-shrink:0;font-size:1.25rem}.psm-section-name{color:var(--text-primary,#1a1a1a);flex:1;font-size:.9375rem;font-weight:500}.psm-toggle{flex-shrink:0;width:44px;height:24px;display:inline-block;position:relative}.psm-toggle input{opacity:0;width:0;height:0}.psm-toggle-slider{cursor:pointer;background:var(--toggle-off,#d1d5db);border-radius:24px;transition:background .2s;position:absolute;inset:0}.psm-toggle-slider:before{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.psm-toggle input:checked+.psm-toggle-slider{background:var(--toggle-on,#3b82f6)}.psm-toggle input:checked+.psm-toggle-slider:before{transform:translate(20px)}.psm-toggle-small{width:36px;height:20px}.psm-toggle-small .psm-toggle-slider:before{width:14px;height:14px}.psm-toggle-small input:checked+.psm-toggle-slider:before{transform:translate(16px)}.psm-btn-icon{cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.25rem;font-size:1.125rem;transition:background .15s}.psm-btn-icon:hover{background:var(--hover-bg,#f3f4f6)}.psm-settings-panel{border-top:1px solid var(--border-color,#e5e7eb);background:var(--panel-bg,#fafbfc);padding:.75rem 1rem 1rem 3.25rem}.psm-settings-panel h4{text-transform:uppercase;letter-spacing:.03em;color:var(--text-secondary,#6b7280);margin:0 0 .75rem;font-size:.8125rem;font-weight:600}.psm-settings-field{align-items:center;gap:.75rem;margin-bottom:.625rem;display:flex}.psm-settings-field label:first-child{min-width:140px;color:var(--text-primary,#1a1a1a);font-size:.875rem}.psm-settings-field input[type=text],.psm-settings-field input[type=url],.psm-settings-field input[type=number]{border:1px solid var(--border-color,#e5e7eb);background:var(--input-bg,#fff);max-width:260px;color:var(--text-primary,#1a1a1a);border-radius:6px;flex:1;padding:.375rem .625rem;font-size:.875rem}.psm-settings-field input:focus{border-color:var(--focus-border,#3b82f6);outline:none;box-shadow:0 0 0 2px #3b82f626}.psm-settings-none{color:var(--text-tertiary,#9ca3af);margin:0;font-size:.875rem}.psm-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:.375rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.psm-btn:disabled{opacity:.5;cursor:not-allowed}.psm-btn-primary{background:var(--btn-primary,#3b82f6);color:#fff}.psm-btn-primary:hover:not(:disabled){background:var(--btn-primary-hover,#2563eb)}.psm-btn-secondary{background:var(--card-bg,#fff);color:var(--text-primary,#374151);border-color:var(--border-color,#e5e7eb)}.psm-btn-secondary:hover:not(:disabled){background:var(--hover-bg,#f3f4f6)}.psm-btn-preview{background:var(--card-bg,#fff);color:var(--text-primary,#374151);border-color:var(--border-color,#e5e7eb)}.psm-btn-preview:hover{background:var(--hover-bg,#f3f4f6)}.psm-btn-publish{color:#fff;background:#22c55e}.psm-btn-publish:hover{background:#16a34a}.psm-btn-unpublish{background:var(--card-bg,#fff);color:#dc2626;border-color:#dc2626}.psm-btn-unpublish:hover{background:#fef2f2}.psm-footer{border-top:1px solid var(--border-color,#e5e7eb);justify-content:flex-end;gap:.75rem;padding-top:1rem;display:flex}.psm-loading{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 1rem;font-size:.9375rem}@media (width<=640px){.psm-header{flex-direction:column}.psm-settings-field{flex-direction:column;align-items:flex-start}.psm-settings-field input[type=text],.psm-settings-field input[type=url],.psm-settings-field input[type=number]{width:100%;max-width:100%}}.fpb-wizard{max-width:880px;margin:0 auto}.fpb-wizard__header{margin-bottom:1.5rem}.fpb-wizard__title{color:var(--gray-800,#1f2937);margin:0;font-size:1.5rem;font-weight:700}.fpb-wizard__subtitle{color:var(--gray-500,#6b7280);margin:.25rem 0 0}.fpb-stepper{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0;padding:0;list-style:none;display:flex}.fpb-stepper__item{background:var(--gray-100,#f3f4f6);color:var(--gray-500,#6b7280);border-radius:999px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-weight:600;display:flex}.fpb-stepper__item--active{background:var(--brand,#2563eb);color:#fff}.fpb-stepper__item--done{color:#166534;background:#dcfce7}.fpb-stepper__index{background:#00000014;border-radius:50%;justify-content:center;align-items:center;width:1.5rem;height:1.5rem;font-size:.8rem;display:inline-flex}.fpb-card{border:1px solid var(--gray-200,#e5e7eb);border-radius:var(--radius-lg,12px);background:#fff;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.fpb-card__heading{color:var(--gray-800,#1f2937);margin:0 0 .5rem;font-size:1.25rem;font-weight:700}.fpb-card__helper{color:var(--gray-500,#6b7280);margin:0 0 1.25rem}.fpb-tabs{border-bottom:1px solid var(--gray-200,#e5e7eb);gap:.5rem;margin-bottom:1.25rem;display:flex}.fpb-tab{appearance:none;color:var(--gray-500,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem .75rem;font-size:.95rem;font-weight:600}.fpb-tab--active{color:var(--brand,#2563eb);border-bottom-color:var(--brand,#2563eb)}.fpb-tab:focus-visible{outline:2px solid var(--color-focus,#2563eb);outline-offset:2px}.fpb-field{margin-bottom:1rem}.fpb-field__label{color:var(--gray-800,#1f2937);margin-bottom:.375rem;font-weight:600;display:block}.fpb-field__helper{color:var(--gray-500,#6b7280);margin-top:.25rem;font-size:.8125rem}.fpb-input,.fpb-select{border:1px solid var(--gray-200,#d1d5db);box-sizing:border-box;background:#fff;border-radius:8px;width:100%;padding:.5rem .75rem;font-size:.95rem}.fpb-input:focus,.fpb-select:focus{outline:2px solid var(--color-focus,#2563eb);outline-offset:1px;border-color:var(--brand,#2563eb)}.fpb-club-list{border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;max-height:320px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.fpb-club-list__item button{text-align:left;border:none;border-bottom:1px solid var(--gray-100,#f3f4f6);cursor:pointer;background:0 0;align-items:center;gap:.75rem;width:100%;padding:.5rem .75rem;display:flex}.fpb-club-list__item button:hover,.fpb-club-list__item button:focus-visible{background:var(--gray-100,#f3f4f6);outline:none}.fpb-club-list__item--selected button{background:#eff6ff}.fpb-club-logo{object-fit:contain;background:#fff;border-radius:6px;flex:none;width:36px;height:36px}.fpb-club-name{color:var(--gray-800,#1f2937);font-weight:600}.fpb-club-locality{color:var(--gray-500,#6b7280);font-size:.8125rem}.fpb-counts{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin:1rem 0;display:grid}.fpb-count{background:var(--gray-100,#f9fafb);border:1px solid var(--gray-200,#e5e7eb);text-align:center;border-radius:10px;padding:.75rem 1rem}.fpb-count__value{color:var(--gray-800,#111827);font-size:1.5rem;font-weight:700}.fpb-count__label{color:var(--gray-500,#6b7280);font-size:.8125rem}.fpb-team-list{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.25rem;margin:.5rem 0;padding:0;list-style:none;display:grid}.fpb-team-list label{border-radius:6px;align-items:center;gap:.5rem;padding:.375rem .5rem;display:flex}.fpb-team-list label:hover{background:var(--gray-100,#f3f4f6)}.fpb-toggle-row{align-items:center;gap:.5rem;padding:.375rem 0;display:flex}.fpb-privacy{color:var(--gray-500,#6b7280);border-left:3px solid var(--brand,#2563eb);background:#f8fafc;border-radius:0 6px 6px 0;margin:1rem 0;padding:.625rem .75rem;font-size:.8125rem}.fpb-club-banner{border:1px solid var(--gray-200,#e5e7eb);background:#f8fafc;border-radius:10px;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;display:flex}.fpb-club-banner .fpb-club-logo{width:48px;height:48px}.fpb-progress{margin:1rem 0}.fpb-progress__bar{background:var(--gray-100,#e5e7eb);border-radius:999px;height:12px;overflow:hidden}.fpb-progress__fill{background:var(--brand,#2563eb);height:100%;transition:width .3s}.fpb-progress__fill--indeterminate{width:30%;animation:1.4s ease-in-out infinite fpb-indeterminate}@keyframes fpb-indeterminate{0%{margin-left:-30%}to{margin-left:100%}}.fpb-status-pill{border-radius:999px;padding:.2rem .625rem;font-size:.8125rem;font-weight:600;display:inline-block}.fpb-status-pill--running{color:#1e40af;background:#dbeafe}.fpb-status-pill--queued{background:var(--gray-100,#f3f4f6);color:#374151}.fpb-status-pill--done{color:#166534;background:#dcfce7}.fpb-status-pill--error{color:#991b1b;background:#fee2e2}.fpb-status-pill--cancelled{color:#92400e;background:#fef3c7}.fpb-activity{margin-top:1rem}.fpb-activity__list{border:1px solid var(--gray-200,#e5e7eb);border-radius:8px;max-height:260px;margin:.5rem 0 0;padding:0;list-style:none;overflow-y:auto}.fpb-activity__item{border-bottom:1px solid var(--gray-100,#f3f4f6);align-items:center;gap:.5rem;padding:.375rem .625rem;font-size:.875rem;display:flex}.fpb-action-tag{text-align:center;border-radius:6px;min-width:5.5rem;padding:.1rem .5rem;font-size:.75rem;font-weight:600;display:inline-block}.fpb-action-tag--created{color:#166534;background:#dcfce7}.fpb-action-tag--updated{color:#1e40af;background:#dbeafe}.fpb-action-tag--skipped{background:var(--gray-100,#f3f4f6);color:#374151}.fpb-action-tag--warning{color:#92400e;background:#fef3c7}.fpb-action-tag--error{color:#991b1b;background:#fee2e2}.fpb-outcome-banner{border-radius:10px;align-items:center;gap:.625rem;margin-bottom:1rem;padding:.875rem 1rem;font-weight:600;display:flex}.fpb-outcome-banner--done{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0}.fpb-outcome-banner--warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.fpb-outcome-banner--error,.fpb-outcome-banner--cancelled{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.fpb-table{border-collapse:collapse;width:100%;margin:.5rem 0}.fpb-table th,.fpb-table td{text-align:left;border-bottom:1px solid var(--gray-100,#f3f4f6);padding:.5rem .625rem;font-size:.9rem}.fpb-table th{color:var(--gray-500,#6b7280);font-weight:600}.fpb-table tbody tr{cursor:pointer}.fpb-table tbody tr:hover{background:var(--gray-100,#f9fafb)}.fpb-table td:not(:first-child),.fpb-table th:not(:first-child){text-align:right}.fpb-drawer-backdrop{z-index:1000;background:#00000059;position:fixed;inset:0}.fpb-drawer{z-index:1001;background:#fff;flex-direction:column;width:min(480px,92vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-8px 0 24px #00000026}.fpb-drawer__header{border-bottom:1px solid var(--gray-200,#e5e7eb);justify-content:space-between;align-items:center;padding:1rem;display:flex}.fpb-drawer__body{padding:.5rem 1rem 1rem;overflow-y:auto}.fpb-drawer__row{border-bottom:1px solid var(--gray-100,#f3f4f6);align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;display:flex}.fpb-actions{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.5rem;display:flex}.fpb-actions__right{gap:.5rem;display:flex}.fpb-btn{appearance:none;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.5rem 1rem;font-size:.95rem;font-weight:600}.fpb-btn:focus-visible{outline:2px solid var(--color-focus,#2563eb);outline-offset:2px}.fpb-btn--primary{background:var(--brand,#2563eb);color:#fff}.fpb-btn--primary:disabled{background:var(--gray-200,#cbd5e1);color:#fff;cursor:not-allowed}.fpb-btn--secondary{border-color:var(--gray-200,#d1d5db);color:var(--gray-800,#374151);background:#fff}.fpb-btn--danger{color:#dc2626;background:#fff;border-color:#fecaca}.fpb-btn--link{color:var(--brand,#2563eb);background:0 0;padding-left:0;text-decoration:underline}.fpb-skeleton{background:linear-gradient(90deg,#eee 25%,#f5f5f5 37%,#eee 63%) 0 0/400% 100%;border-radius:6px;height:1rem;margin:.4rem 0;animation:1.4s infinite fpb-shimmer}@keyframes fpb-shimmer{0%{background-position:100% 0}to{background-position:0 0}}.fpb-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:.75rem 0;padding:.75rem 1rem}.fpb-link{color:var(--brand,#2563eb)}.fpb-danger-zone{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin-top:2rem;padding:1rem 1.25rem}.fpb-danger-zone__heading{color:#991b1b;margin:0 0 .25rem;font-size:1rem}.fpb-danger-zone__body{color:#7f1d1d;margin:0 0 .75rem;font-size:.9rem}.fpb-purge-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:1rem;padding:.75rem 1rem}.fpb-purge-warning ul{margin:.5rem 0;padding-left:1.25rem}.fpb-purge-warning__irreversible{margin:.5rem 0 0;font-weight:600}.fpb-purge-result-banner{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .9rem;display:flex}.fpb-purge-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:.5rem 0;padding:.6rem .9rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes career-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.career-skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/800px 100%;animation:1.5s linear infinite career-shimmer}@keyframes career-fade-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.career-section-fade{animation:.4s ease-out both career-fade-in}.career-section-fade:nth-child(2){animation-delay:80ms}.career-section-fade:nth-child(3){animation-delay:.16s}.career-section-fade:nth-child(4){animation-delay:.24s}.career-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin-bottom:20px;padding:24px;box-shadow:0 1px 3px #00000014}.career-section-title{color:#1a1a2e;align-items:center;gap:8px;margin:0 0 16px;font-size:1.15rem;font-weight:600;display:flex}.career-section-icon{font-size:1.1rem}.career-profile-header{align-items:center;gap:20px;display:flex}.career-profile-info{flex:1}.career-profile-name{color:#1a1a2e;margin:0;font-size:1.5rem;font-weight:700}.career-profile-email{color:#6b7280;margin:4px 0 0;font-size:.95rem}.career-profile-badge{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:20px;margin-top:8px;padding:4px 12px;font-size:.8rem;font-weight:500;display:inline-block}.career-club-list{flex-direction:column;gap:10px;display:flex}.career-club-card{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .2s,border-color .2s;display:flex}.career-club-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1f}.career-club-icon{flex-shrink:0;font-size:1.6rem}.career-club-details{flex:1;min-width:0}.career-club-name{color:#1a1a2e;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:1rem;font-weight:600;overflow:hidden}.career-club-date{color:#6b7280;margin:2px 0 0;font-size:.85rem}.career-club-role{color:#667eea;text-transform:capitalize;margin:2px 0 0;font-size:.8rem;font-weight:500}.career-club-status{text-transform:uppercase;letter-spacing:.02em;border-radius:16px;flex-shrink:0;padding:4px 10px;font-size:.75rem;font-weight:600}.career-club-status.current{color:#065f46;background:#d1fae5}.career-club-status.past{color:#6b7280;background:#f3f4f6}.career-stats-grid{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;display:grid}.career-stat-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;padding:16px 8px;display:flex}.career-stat-value{color:#1a1a2e;font-size:1.5rem;font-weight:700}.career-stat-label{color:#6b7280;text-align:center;margin-top:4px;font-size:.8rem}.career-stat-present .career-stat-value{color:#10b981}.career-stat-absent .career-stat-value{color:#ef4444}.career-chart{padding:8px 0}.career-chart-bars{align-items:flex-end;gap:6px;height:160px;padding:0 4px;display:flex}.career-chart-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.career-chart-bar-track{background:#e5e7eb;border-radius:4px 4px 0 0;flex-direction:column;justify-content:flex-end;width:100%;max-width:40px;min-height:4px;transition:height .5s ease-out;display:flex;position:relative}.career-chart-bar-fill{background:linear-gradient(#667eea 0%,#764ba2 100%);border-radius:4px 4px 0 0;width:100%;min-height:2px;transition:height .5s ease-out}.career-chart-label{color:#6b7280;text-transform:capitalize;margin-top:6px;font-size:.7rem}.career-chart-legend{color:#6b7280;justify-content:center;gap:16px;margin-top:12px;font-size:.8rem;display:flex}.career-legend-item{align-items:center;gap:6px;display:flex}.career-legend-dot{border-radius:2px;width:10px;height:10px}.career-legend-present{background:linear-gradient(135deg,#667eea,#764ba2)}.career-legend-total{background:#e5e7eb}@keyframes career-timeline-slide-in{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}.career-timeline{padding-left:4px;position:relative}.career-timeline-item{gap:16px;padding-bottom:20px;animation:.35s ease-out both career-timeline-slide-in;display:flex}.career-timeline-item:first-child{animation-delay:50ms}.career-timeline-item:nth-child(2){animation-delay:.1s}.career-timeline-item:nth-child(3){animation-delay:.15s}.career-timeline-item:nth-child(4){animation-delay:.2s}.career-timeline-item:nth-child(5){animation-delay:.25s}.career-timeline-item:nth-child(n+6){animation-delay:.3s}.career-timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:20px;display:flex}.career-timeline-dot{background:#d1d5db;border:2px solid #fff;border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 2px #d1d5db}.career-timeline-dot.active{background:#667eea;box-shadow:0 0 0 2px #667eea}.career-timeline-line{background:#e5e7eb;flex:1;width:2px;margin-top:4px}.career-timeline-content{background:#fafbfc;border:1px solid #e5e7eb;border-radius:10px;flex:1;padding:14px 16px;transition:border-color .2s,box-shadow .2s}.career-timeline-item.active .career-timeline-content{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.career-timeline-header{align-items:center;gap:8px;margin-bottom:4px;display:flex}.career-timeline-team{color:#1a1a2e;margin:0;font-size:1rem;font-weight:600}.career-timeline-club{color:#6b7280;margin:0 0 8px;font-size:.85rem}.career-timeline-meta{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.career-timeline-tag{color:#4338ca;background:#eef2ff;border-radius:12px;padding:2px 10px;font-size:.75rem;font-weight:500;display:inline-block}.career-timeline-season{color:#92400e;background:#fef3c7}.career-timeline-dates{color:#9ca3af;margin:0;font-size:.8rem}.career-empty-state{color:#9ca3af;flex-direction:column;align-items:center;padding:32px 16px;display:flex}.career-empty-icon{margin-bottom:8px;font-size:2rem}.career-empty-state p{margin:0;font-size:.95rem}.career-error{text-align:center;flex-direction:column;align-items:center;max-width:480px;margin:0 auto;padding:48px 24px;display:flex}.career-error-icon{margin-bottom:12px;font-size:2.5rem}.career-error-message{color:#6b7280;margin:0 0 16px;font-size:.95rem}.career-retry-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:10px 24px;font-size:.9rem;font-weight:600;transition:opacity .2s}.career-retry-btn:hover{opacity:.9}.career-retry-btn:focus-visible{outline-offset:2px;outline:2px solid #667eea}@media (width<=768px){.career-profile{padding:12px}.career-section{padding:16px}.career-profile-header{text-align:center;flex-direction:column}.career-stats-grid{grid-template-columns:repeat(2,1fr)}.career-chart-bars{height:120px}.career-timeline-content{padding:10px 12px}}@media (width<=480px){.career-profile-name{font-size:1.2rem}.career-stats-grid{grid-template-columns:1fr 1fr;gap:8px}.career-stat-value{font-size:1.2rem}}.member-treasury-card .muted{color:#6b7280}.member-treasury-card__header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.member-treasury-card__header h3{margin:0;font-size:16px}.member-treasury-card__scope{align-items:center;gap:6px;font-size:13px;display:flex}.member-treasury-card__scope select{background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:13px}.member-treasury-card__grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px;display:grid}.member-treasury-card__grid .field{color:#6b7280;flex-direction:column;gap:4px;font-size:12px;display:flex}.member-treasury-card__grid .field--wide{grid-column:span 2}.member-treasury-card__grid .field input,.member-treasury-card__grid .field select{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:6px 10px;font-size:13px}.member-treasury-card__grid .field--checkbox{color:#1f2937;flex-direction:row;align-items:center;font-size:13px}.member-treasury-card__actions{justify-content:flex-end;align-items:center;gap:8px;margin-top:12px;display:flex}.member-treasury-card__saved{color:#15803d;margin-right:auto;font-size:12px}.member-treasury-card__hint{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;margin:0 0 12px;padding:8px 12px;font-size:12px}.sortable-header__btn{font:inherit;font-weight:inherit;color:inherit;text-transform:inherit;letter-spacing:inherit;text-align:inherit;white-space:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.sortable-header__btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;border-radius:2px}.sortable-header__indicator{opacity:.55;font-size:.72em;line-height:1}.sortable-header[aria-sort=ascending] .sortable-header__indicator,.sortable-header[aria-sort=descending] .sortable-header__indicator{opacity:1}.coach-roster{flex-direction:column;gap:12px;display:flex}.coach-roster-header{justify-content:space-between;align-items:center;display:flex}.roster-count{color:var(--text-secondary,#64748b);font-size:14px;font-weight:500}.coach-roster-list{flex-direction:column;gap:8px;display:flex}.roster-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:10px;transition:border-color .2s;overflow:hidden}.roster-card:hover,.roster-card.expanded{border-color:var(--primary,#667eea)}.roster-card-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-size:14px;display:flex}.athlete-info{align-items:center;gap:14px;display:flex}.athlete-jersey{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.athlete-name-pos{flex-direction:column;gap:2px;display:flex}.athlete-name-pos strong{color:var(--text-primary,#1e293b);font-size:14px}.athlete-position{color:var(--text-secondary,#64748b);font-size:12px}.expand-arrow{color:var(--text-secondary,#64748b);font-size:14px;transition:transform .2s}.expand-arrow.open{transform:rotate(180deg)}.roster-card-detail{border-top:1px solid var(--border-color,#e2e8f0);padding:14px 16px 16px}.roster-card-detail h4{color:var(--text-secondary,#64748b);text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px;font-size:13px;font-weight:600}.detail-loading,.detail-empty{color:var(--text-secondary,#64748b);margin:0;font-size:13px}.guardian-list{flex-direction:column;gap:10px;display:flex}.guardian-card{background:var(--bg-muted,#f8fafc);border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.guardian-card strong{color:var(--text-primary,#1e293b);font-size:14px}.guardian-rel{color:var(--text-secondary,#64748b);font-size:12px}.guardian-contact-info{flex-wrap:wrap;gap:12px;margin-top:4px;display:flex}.contact-item{align-items:center;gap:4px;font-size:13px;display:flex}.contact-item a{color:var(--primary,#667eea);text-decoration:none}.contact-item a:hover{text-decoration:underline}.coach-attendance{flex-direction:column;gap:12px;display:flex}.coach-attendance-header{justify-content:space-between;align-items:center;display:flex}.session-count{color:var(--text-secondary,#64748b);font-size:14px;font-weight:500}.session-list{flex-direction:column;gap:8px;display:flex}.session-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:10px;transition:border-color .2s;overflow:hidden}.session-card:hover,.session-card.expanded{border-color:var(--primary,#667eea)}.session-card.today{border-left:3px solid #22c55e}.session-card.past:not(.expanded){opacity:.7}.session-card-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:14px 16px;font-size:14px;display:flex}.session-info{flex:1;align-items:center;gap:12px;display:flex}.session-type{font-size:20px;line-height:1}.session-details{flex-direction:column;gap:2px;display:flex}.session-details strong{color:var(--text-primary,#1e293b);font-size:14px}.session-datetime{color:var(--text-secondary,#64748b);font-size:13px}.today-badge{color:#15803d;text-transform:uppercase;letter-spacing:.5px;background:#dcfce7;border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.session-attendance-sheet{border-top:1px solid var(--border-color,#e2e8f0);padding:14px 16px 16px}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.sheet-summary{color:var(--text-secondary,#64748b);font-size:14px;font-weight:500}.mark-all-btn{color:#15803d;cursor:pointer;background:#f0fdf4;border:1px solid #22c55e;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.mark-all-btn:hover:not(:disabled){color:#fff;background:#22c55e}.mark-all-btn:disabled{opacity:.5;cursor:not-allowed}.sheet-loading,.sheet-empty{color:var(--text-secondary,#64748b);margin:0;padding:12px 0;font-size:13px}.attendance-grid{flex-direction:column;gap:6px;display:flex}.attendance-row{background:var(--bg-muted,#f8fafc);border-radius:8px;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.att-athlete{align-items:center;gap:10px;display:flex}.att-jersey{background:var(--border-color,#e2e8f0);width:28px;height:28px;color:var(--text-secondary,#64748b);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;display:flex}.att-name{color:var(--text-primary,#1e293b);font-size:14px}.att-status-btn{border:1px solid var(--border-color,#e2e8f0);cursor:pointer;text-align:center;border-radius:20px;min-width:80px;padding:4px 14px;font-size:12px;font-weight:600;transition:all .15s}.att-status-btn:hover:not(:disabled){transform:scale(1.05)}.att-status-btn:disabled{opacity:.5}.att-status-btn.att-present{color:#15803d;background:#dcfce7;border-color:#86efac}.att-status-btn.att-absent{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.att-status-btn.att-late{color:#b45309;background:#fef3c7;border-color:#fcd34d}.att-status-btn.att-excused{color:#1d4ed8;background:#dbeafe;border-color:#93c5fd}.coach-schedule{flex-direction:column;gap:16px;display:flex}.schedule-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nav-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;width:32px;height:32px;color:var(--text-primary,#1e293b);border-radius:6px;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.nav-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}.nav-today{border:1px solid var(--primary,#667eea);color:var(--primary,#667eea);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.nav-today:hover{background:var(--primary,#667eea);color:#fff}.nav-range{color:var(--text-primary,#1e293b);font-size:14px;font-weight:500}.schedule-groups{flex-direction:column;gap:20px;display:flex}.date-group-header{color:var(--text-primary,#1e293b);border-bottom:1px solid var(--border-color,#e2e8f0);align-items:center;gap:8px;padding-bottom:6px;font-size:14px;font-weight:600;display:flex}.date-group-header.today{color:#15803d;border-bottom-color:#22c55e}.date-group-items{flex-direction:column;gap:6px;margin-top:8px;display:flex}.schedule-item{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;border-radius:8px;transition:border-color .2s;overflow:hidden}.schedule-item:hover,.schedule-item.expanded{border-color:var(--primary,#667eea)}.schedule-item-main{align-items:center;gap:12px;padding:12px 14px;display:flex}.sched-type-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.sched-type-badge.type-0{color:#1d4ed8;background:#dbeafe}.sched-type-badge.type-1{color:#b45309;background:#fef3c7}.sched-type-badge.type-2{color:#475569;background:#e2e8f0}.sched-item-info{flex-direction:column;flex:1;gap:2px;display:flex}.sched-item-info strong{color:var(--text-primary,#1e293b);font-size:14px}.sched-time{color:var(--text-secondary,#64748b);font-size:13px}.sched-court{color:var(--text-secondary,#64748b);background:var(--bg-muted,#f8fafc);white-space:nowrap;border-radius:4px;padding:2px 8px;font-size:12px}.schedule-item-detail{border-top:1px solid var(--border-color,#e2e8f0);flex-direction:column;gap:6px;padding:12px 14px 14px;display:flex}.detail-row{align-items:center;gap:10px;font-size:13px;display:flex}.detail-label{color:var(--text-secondary,#64748b);min-width:80px;font-weight:600}.sched-status{border-radius:10px;padding:2px 8px;font-size:11px;font-weight:600}.sched-status.status-0{color:#475569;background:#e2e8f0}.sched-status.status-1{color:#15803d;background:#dcfce7}.sched-status.status-2{color:#b91c1c;background:#fee2e2}.sched-status.status-3{color:#1d4ed8;background:#dbeafe}.coach-messages{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:12px;flex-direction:column;height:500px;max-height:60vh;display:flex;overflow:hidden}.coach-msg-error{color:#b91c1c;background:#fef2f2;border-bottom:1px solid #fecaca;justify-content:space-between;align-items:center;padding:8px 14px;font-size:13px;display:flex}.coach-msg-error button{color:#b91c1c;cursor:pointer;background:0 0;border:none;font-size:16px}.coach-msg-list{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex;overflow-y:auto}.coach-msg-loading,.coach-msg-empty{color:var(--text-secondary,#64748b);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.coach-msg-empty .empty-icon{font-size:36px}.coach-bubble{word-wrap:break-word;border-radius:16px;max-width:70%;padding:10px 14px;font-size:14px;line-height:1.4}.coach-bubble.own{background:var(--primary,#667eea);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.coach-bubble.other{background:var(--bg-muted,#f1f5f9);color:var(--text-primary,#1e293b);border-bottom-left-radius:4px;align-self:flex-start}.bubble-sender{color:var(--primary,#667eea);margin-bottom:3px;font-size:12px;font-weight:600}.coach-bubble.own .bubble-sender{color:#fffc}.bubble-content{white-space:pre-wrap}.bubble-time{opacity:.65;text-align:right;margin-top:4px;font-size:11px}.coach-compose{border-top:1px solid var(--border-color,#e2e8f0);background:var(--bg-muted,#f8fafc);align-items:flex-end;gap:8px;padding:12px 14px;display:flex}.compose-textarea{border:1px solid var(--border-color,#e2e8f0);resize:none;background:var(--bg-surface,#fff);color:var(--text-primary,#1e293b);border-radius:20px;flex:1;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s}.compose-textarea:focus{border-color:var(--primary,#667eea);outline:none}.compose-textarea:disabled{opacity:.6}.compose-send{background:var(--primary,#667eea);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:20px;padding:10px 20px;font-size:14px;font-weight:500;transition:opacity .2s}.compose-send:hover:not(:disabled){opacity:.9}.compose-send:disabled{opacity:.5;cursor:not-allowed}.coach-portal{flex-direction:column;gap:0;min-height:400px;display:flex}.coach-portal-header{border-bottom:1px solid var(--border-color,#e2e8f0);flex-direction:column;gap:16px;margin-bottom:20px;padding:0 0 20px;display:flex}@media (width>=768px){.coach-portal-header{flex-direction:row;justify-content:space-between;align-items:center}}.coach-team-picker{align-items:center;gap:10px;display:flex}.coach-team-picker label{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:14px;font-weight:600}.coach-team-picker select{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:8px;min-width:220px;padding:8px 12px;font-size:14px;transition:border-color .2s}.coach-team-picker select:focus{border-color:var(--primary,#667eea);outline:none;box-shadow:0 0 0 3px #667eea26}.coach-tabs{-webkit-overflow-scrolling:touch;gap:4px;display:flex;overflow-x:auto}.coach-tab{color:var(--text-secondary,#64748b);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.coach-tab:hover{background:var(--bg-hover,#f1f5f9);color:var(--text-primary,#1e293b)}.coach-tab.active{background:var(--primary,#667eea);color:#fff}.coach-tab-content{flex:1;min-height:300px}.coach-overview{flex-direction:column;gap:24px;display:flex}.coach-stat-cards{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;display:grid}.coach-stat-card{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:20px 16px;transition:all .2s;display:flex}.coach-stat-card:hover{border-color:var(--primary,#667eea);transform:translateY(-2px);box-shadow:0 2px 8px #667eea1f}.stat-icon{font-size:28px;line-height:1}.stat-label{color:var(--text-secondary,#64748b);text-align:center;font-size:13px}.coach-overview-section h3{color:var(--text-primary,#1e293b);margin:0 0 12px;font-size:16px;font-weight:600}.coach-muted{color:var(--text-secondary,#64748b);font-size:14px}.coach-event-list{flex-direction:column;gap:8px;display:flex}.coach-event-card{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;transition:border-color .2s;display:flex}.coach-event-card:hover{border-color:var(--primary,#667eea)}.event-type-badge{text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:600}.event-type-badge.type-2{color:#475569;background:#e2e8f0}.coach-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.quick-action-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.quick-action-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}.coach-portal-loading,.coach-overview-loading{color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.coach-no-teams{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:80px 20px;display:flex}.no-teams-icon{margin-bottom:8px;font-size:48px}.coach-no-teams h3{color:var(--text-primary,#1e293b);margin:0;font-size:18px}.coach-no-teams p{color:var(--text-secondary,#64748b);margin:0}.coach-empty-state{color:var(--text-secondary,#64748b);justify-content:center;align-items:center;padding:60px 20px;display:flex}.coach-error-banner{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:10px 16px;font-size:14px;display:flex}.coach-error-banner button{color:#b91c1c;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.coach-section-loading{color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 20px;display:flex}.coach-section-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 16px;font-size:14px}.coach-section-empty{color:var(--text-secondary,#64748b);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:40px 20px;display:flex}.coach-section-empty .empty-icon{margin-bottom:4px;font-size:36px}.guardian-schedule{flex-direction:column;gap:16px;display:flex}.guardian-section-loading{color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.guardian-section-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:14px;font-size:14px}.guardian-section-empty{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.guardian-section-empty .empty-icon{margin-bottom:.5rem;font-size:2.5rem}.gschedule-nav{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.gschedule-nav .nav-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;width:32px;height:32px;color:var(--text-primary,#1e293b);border-radius:6px;justify-content:center;align-items:center;font-size:12px;transition:all .2s;display:flex}.gschedule-nav .nav-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}.gschedule-nav .nav-today{border:1px solid var(--primary,#667eea);color:var(--primary,#667eea);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;font-size:13px;font-weight:500;transition:all .2s}.gschedule-nav .nav-today:hover{background:var(--primary,#667eea);color:#fff}.gschedule-nav .nav-range{color:var(--text-primary,#1e293b);font-size:14px;font-weight:500}.gschedule-groups{flex-direction:column;gap:20px;display:flex}.gdate-group-header{color:var(--text-primary,#1e293b);border-bottom:1px solid var(--border-color,#e2e8f0);align-items:center;gap:8px;padding-bottom:6px;font-size:14px;font-weight:600;display:flex}.gdate-group-header.today{color:#15803d;border-bottom-color:#22c55e}.today-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.gdate-group-items{flex-direction:column;gap:6px;margin-top:8px;display:flex}.gschedule-item{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);cursor:pointer;border-radius:8px;transition:border-color .2s;overflow:hidden}.gschedule-item:hover,.gschedule-item.expanded{border-color:var(--primary,#667eea)}.gschedule-item-main{align-items:center;gap:12px;padding:12px 14px;display:flex}.gsched-type-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.gsched-type-badge.type-0{color:#15803d;background:#ecfdf5}.gsched-type-badge.type-1{color:#92400e;background:#fef3c7}.gsched-type-badge.type-2{color:#6d28d9;background:#ede9fe}.gsched-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.gsched-item-info strong{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:14px;overflow:hidden}.gsched-time{color:var(--text-secondary,#6b7280);font-size:12px}.gsched-court{color:var(--text-secondary,#6b7280);background:var(--bg-muted,#f1f5f9);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:12px}.gschedule-item-detail{border-top:1px solid var(--border-color,#e2e8f0);background:var(--bg-muted,#f9fafb);flex-direction:column;gap:6px;padding:10px 14px;display:flex}.gschedule-item-detail .detail-row{gap:10px;font-size:13px;display:flex}.gschedule-item-detail .detail-label{color:var(--text-secondary,#6b7280);min-width:70px;font-weight:600}.gsched-status{font-weight:500}.gsched-status.status-0{color:#9ca3af}.gsched-status.status-1{color:#15803d}.gsched-status.status-2{color:#dc2626}.gsched-status.status-3{color:#9333ea}.guardian-tickets{flex-direction:column;gap:16px;display:flex}.guardian-tickets-loading{color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.guardian-tickets-empty{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.guardian-tickets-empty .empty-icon{margin-bottom:.5rem;font-size:2.5rem}.guardian-tickets-empty .empty-hint{color:var(--text-muted,#9ca3af);margin-top:4px;font-size:13px}.guardian-tickets-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:12px 14px;font-size:14px}.guardian-claim-success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:16px}.guardian-claim-success h4{align-items:center;gap:6px;margin:0 0 6px;font-size:15px;display:flex}.guardian-claim-success p{margin:0 0 10px;font-size:14px}.guardian-claim-success .claimed-ticket-code{align-items:center;gap:6px;padding:4px 0;font-family:monospace;font-size:13px;display:flex}.guardian-claim-success .dismiss-btn{color:#166534;cursor:pointer;background:0 0;border:1px solid #86efac;border-radius:6px;margin-top:8px;padding:6px 14px;font-size:13px;transition:all .2s}.guardian-claim-success .dismiss-btn:hover{background:#dcfce7}.guardian-awards-list{flex-direction:column;gap:14px;display:flex}.guardian-award-card{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:10px;transition:border-color .2s;overflow:hidden}.guardian-award-card:hover{border-color:var(--primary,#667eea)}.guardian-award-card .award-header{padding:14px 16px 0}.guardian-award-card .award-game-info{justify-content:space-between;align-items:center;gap:10px;display:flex}.guardian-award-card .award-game-info h3{color:var(--text-primary,#1e293b);margin:0;font-size:15px;font-weight:600}.guardian-award-card .award-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.award-badge.status-pending{color:#92400e;background:#fef3c7}.award-badge.status-claimed{color:#15803d;background:#ecfdf5}.award-badge.status-partial{color:#6d28d9;background:#ede9fe}.award-badge.status-expired{color:#6b7280;background:#f3f4f6}.guardian-award-card .award-details{flex-direction:column;gap:8px;padding:12px 16px;display:flex}.guardian-award-card .award-meta{color:var(--text-secondary,#6b7280);flex-direction:column;gap:4px;font-size:13px;display:flex}.guardian-award-card .award-meta span{align-items:center;gap:6px;display:flex}.guardian-award-card .award-tickets-info{align-items:center;gap:12px;font-size:13px;display:flex}.tickets-count{color:var(--text-primary,#1e293b);align-items:center;gap:6px;font-weight:500;display:flex}.tickets-remaining{color:#15803d;font-weight:500}.claim-deadline,.claimed-date{color:var(--text-secondary,#6b7280);align-items:center;gap:6px;font-size:12px;display:flex}.guardian-award-card .award-claim-section{border-top:1px solid var(--border-color,#e2e8f0);flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px 16px 14px;display:flex}.guardian-award-card .section-select{flex-direction:column;flex:1;gap:4px;min-width:180px;display:flex}.guardian-award-card .section-select label{color:var(--text-secondary,#6b7280);font-size:12px;font-weight:600}.guardian-award-card .section-select select{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);border-radius:6px;padding:8px 10px;font-size:13px}.guardian-award-card .claim-btn{background:var(--primary,#667eea);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:8px 18px;font-size:13px;font-weight:500;transition:all .2s}.guardian-award-card .claim-btn:hover:not(:disabled){background:#5a6fd6}.guardian-award-card .claim-btn:disabled{opacity:.5;cursor:not-allowed}.guardian-award-card .no-sections-warning{border-top:1px solid var(--border-color,#e2e8f0);color:#92400e;align-items:center;gap:6px;padding:10px 16px;font-size:13px;display:flex}.guardian-portal{flex-direction:column;gap:20px;padding:0;display:flex}.guardian-portal-loading,.guardian-portal-no-athletes,.guardian-portal-no-teams{color:var(--text-secondary,#6b7280);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.guardian-portal-no-athletes h3,.guardian-portal-no-teams h3{color:var(--text-primary,#1e293b);margin:.5rem 0 .25rem;font-size:1.125rem}.guardian-portal-no-athletes p,.guardian-portal-no-teams p{color:var(--text-secondary,#6b7280);max-width:420px;line-height:1.5}.no-athletes-icon,.no-teams-icon{margin-bottom:.5rem;font-size:3rem}.guardian-portal-empty{text-align:center;color:var(--text-secondary,#6b7280);padding:3rem 2rem}.guardian-portal-error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 14px;font-size:14px;display:flex}.guardian-portal-error-banner button{color:#991b1b;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:18px}.guardian-portal-header{flex-direction:column;gap:14px;display:flex}.guardian-team-picker{align-items:center;gap:10px;display:flex}.guardian-team-picker label{color:var(--text-primary,#1e293b);white-space:nowrap;font-size:14px;font-weight:600}.guardian-team-picker select{border:1px solid var(--border-color,#e2e8f0);color:var(--text-primary,#1e293b);background:var(--bg-surface,#fff);cursor:pointer;border-radius:8px;flex:1;max-width:400px;padding:8px 12px;font-size:14px}.guardian-team-picker select:focus{border-color:var(--primary,#667eea);outline:none;box-shadow:0 0 0 3px #667eea26}.guardian-tabs{border-bottom:1px solid var(--border-color,#e2e8f0);gap:4px;padding-bottom:0;display:flex}.guardian-tab{color:var(--text-secondary,#6b7280);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.guardian-tab:hover{color:var(--primary,#667eea)}.guardian-tab.active{color:var(--primary,#667eea);border-bottom-color:var(--primary,#667eea)}.guardian-tab-content{min-height:200px}.guardian-overview{flex-direction:column;gap:24px;display:flex}.guardian-overview-loading{color:var(--text-secondary,#6b7280);flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.guardian-stat-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.guardian-stat-card{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);text-align:center;cursor:pointer;border-radius:10px;padding:16px;transition:border-color .2s,box-shadow .2s}.guardian-stat-card:hover{border-color:var(--primary,#667eea);box-shadow:0 2px 8px #667eea1a}.stat-icon{margin-bottom:6px;font-size:1.5rem}.guardian-overview-section h3{color:var(--text-primary,#1e293b);margin:0 0 10px;font-size:15px;font-weight:600}.guardian-muted{color:var(--text-secondary,#6b7280);font-size:14px}.guardian-children-list{flex-direction:column;gap:8px;display:flex}.guardian-child-row{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.child-avatar{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:600;display:flex}.child-details{flex-direction:column;display:flex}.child-name{color:var(--text-primary,#1e293b);font-size:14px;font-weight:500}.child-relationship{color:var(--text-secondary,#6b7280);font-size:12px}.guardian-event-list{flex-direction:column;gap:6px;display:flex}.guardian-event-card{background:var(--bg-surface,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:border-color .2s;display:flex}.guardian-event-card:hover{border-color:var(--primary,#667eea)}.event-type-badge{text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.event-type-badge.type-0{color:#15803d;background:#ecfdf5}.event-type-badge.type-1{color:#92400e;background:#fef3c7}.event-info{flex-direction:column;gap:2px;display:flex}.event-info strong{color:var(--text-primary,#1e293b);font-size:14px}.event-datetime{color:var(--text-secondary,#6b7280);font-size:12px}.guardian-quick-actions{flex-wrap:wrap;gap:10px;display:flex}.guardian-quick-actions .quick-action-btn{border:1px solid var(--border-color,#e2e8f0);background:var(--bg-surface,#fff);color:var(--text-primary,#1e293b);cursor:pointer;border-radius:8px;padding:10px 18px;font-size:13px;transition:all .2s}.guardian-quick-actions .quick-action-btn:hover{border-color:var(--primary,#667eea);background:#667eea0a}@media (width<=640px){.guardian-stat-cards{grid-template-columns:repeat(2,1fr)}.guardian-tabs{overflow-x:auto}.guardian-team-picker{flex-direction:column;align-items:stretch}.guardian-team-picker select{max-width:100%}}.athlete-checkin{justify-content:center;padding:40px 20px;display:flex}.checkin-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;width:100%;max-width:400px;padding:40px;transition:border-color .3s;box-shadow:0 1px 3px #0000000f}.checkin-card.success{background:linear-gradient(135deg,#10b98108,#06d6a008);border-color:#10b981}.checkin-card.duplicate{background:linear-gradient(135deg,#f59e0b08,#fbbf2408);border-color:#f59e0b}.checkin-card.error{background:linear-gradient(135deg,#ef444408,#dc262608);border-color:#ef4444}.checkin-icon{margin-bottom:12px;font-size:3rem}.checkin-icon.spinning{animation:1.5s linear infinite spin}.checkin-card h3{color:#1a1a2e;margin:0 0 8px;font-size:1.25rem}.checkin-session-info{color:#667eea;margin-bottom:20px;font-weight:600}.checkin-button{cursor:pointer;color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;padding:14px 36px;font-size:1.1rem;font-weight:700;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px #667eea66}.checkin-button:hover{transform:translateY(-1px);box-shadow:0 6px 20px #667eea80}.checkin-button:active{transform:translateY(0)}.checkin-success-message{color:#059669;font-weight:600}.checkin-time{color:#6b7280;margin-top:4px;font-size:.85rem}.checkin-retry-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #d0d5dd;border-radius:8px;margin-top:16px;padding:10px 24px;font-size:.9rem;transition:background .2s}.checkin-retry-btn:hover{background:#f9fafb}.checkin-loading{color:#6b7280;flex-direction:column;align-items:center;padding:60px;display:flex}.athlete-rsvp{text-align:center;padding:20px 16px}.athlete-rsvp__empty{color:var(--gray-500);font-size:.875rem}.athlete-rsvp__title{font-size:1.1rem;font-weight:800}.athlete-rsvp__when{color:var(--gray-500);margin:4px 0 16px;font-size:.8125rem}.athlete-rsvp__ask{gap:10px;display:flex}.athlete-rsvp__ask button,.athlete-rsvp__yes,.athlete-rsvp__no,.athlete-rsvp__revert,.athlete-rsvp__reconfirm{min-height:46px;font:inherit;cursor:pointer;border:none;border-radius:14px;flex:1;font-size:.875rem;font-weight:700}.athlete-rsvp__yes{background:var(--brand-gradient);color:#fff}.athlete-rsvp__no{background:var(--gray-100);color:var(--gray-600,var(--gray-500))}.athlete-rsvp__yes:disabled,.athlete-rsvp__no:disabled,.athlete-rsvp__revert:disabled{opacity:.6;cursor:not-allowed}.athlete-rsvp__confirmed h3,.athlete-rsvp__declined h3{margin:6px 0 12px;font-size:1.05rem;font-weight:800}.athlete-rsvp__roster{justify-content:center;margin:8px 0;display:flex}.athlete-rsvp__avatar{background:var(--brand-gradient);color:#fff;border:2px solid #fff;border-radius:11px;place-items:center;width:34px;height:34px;margin-right:-8px;font-size:.75rem;font-weight:700;display:grid}.athlete-rsvp__avatar--more{background:var(--gray-100);color:var(--gray-600,var(--gray-500))}.athlete-rsvp__count{color:var(--gray-500);margin:12px 0;font-size:.8125rem}.athlete-rsvp__revert{background:var(--gray-100);width:100%;color:var(--gray-700,var(--gray-600,#4b5563));margin-top:6px}.athlete-rsvp__declined button{width:100%;margin-top:12px}.athlete-rsvp__pending{text-align:left;margin-top:22px}.athlete-rsvp__pending-title{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin:0 0 8px;font-size:.75rem;font-weight:700}.athlete-rsvp__pending-list{margin:0;padding:0;list-style:none}.athlete-rsvp__pending-item{border:none;border-top:1px solid var(--gray-100);text-align:left;cursor:pointer;width:100%;font:inherit;background:0 0;align-items:center;gap:10px;padding:10px 0;display:flex}.athlete-rsvp__pending-list li:first-child .athlete-rsvp__pending-item{border-top:none}.athlete-rsvp__pending-name{font-size:.875rem;font-weight:700}.athlete-rsvp__pending-when{color:var(--gray-500);font-size:.75rem}.athlete-rsvp__pending-pill{background:var(--gray-100);color:var(--gray-600,var(--gray-500));border-radius:999px;margin-left:auto;padding:3px 9px;font-size:.625rem;font-weight:700}.athlete-messages{padding:0}.athlete-messages-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.athlete-messages-header h3{color:#1a1a2e;margin:0;font-size:1.1rem}.messages-read-only-badge{color:#6b7280;background:#f0f0f5;border-radius:999px;padding:4px 12px;font-size:.75rem;font-weight:600}.athlete-messages-loading{color:#6b7280;flex-direction:column;align-items:center;padding:60px 20px;display:flex}.athlete-messages-error{text-align:center;color:#dc2626;padding:40px 20px}.messages-retry-btn{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;margin-top:12px;padding:8px 20px}.athlete-messages-empty{text-align:center;color:#6b7280;padding:40px 20px}.athlete-messages-empty-state{text-align:center;padding:60px 20px}.athlete-messages-empty-state .empty-icon{font-size:2.5rem}.athlete-messages-empty-state h4{color:#374151;margin:12px 0 4px}.athlete-messages-empty-state p{color:#6b7280}.athlete-messages-list{flex-direction:column;gap:12px;display:flex}.athlete-message-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.message-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.message-sender{align-items:center;gap:8px;display:flex}.sender-avatar{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;font-weight:700;display:flex}.sender-name{color:#1a1a2e;font-size:.9rem;font-weight:600}.message-time{color:#9ca3af;font-size:.75rem}.message-content{color:#374151;white-space:pre-wrap;font-size:.9rem;line-height:1.5}.messages-load-more{cursor:pointer;color:#374151;background:#fff;border:1px solid #d0d5dd;border-radius:8px;align-self:center;padding:10px 24px;font-size:.85rem;transition:background .2s}.messages-load-more:hover{background:#f9fafb}.messages-load-more:disabled{opacity:.5;cursor:default}.athlete-messages-footer{border-top:1px solid #f0f0f5;margin-top:20px;padding-top:16px}.minor-protection-notice{color:#9ca3af;text-align:center;margin:0;font-size:.8rem}.athlete-sheet-scrim{z-index:1000;background:#1912376b;justify-content:center;align-items:flex-end;animation:.25s athlete-sheet-fade;display:flex;position:fixed;inset:0}.athlete-sheet{-webkit-overflow-scrolling:touch;width:100%;max-width:680px;max-height:88%;color:var(--gray-800);padding:var(--space-2) var(--space-5) var(--space-6);padding-bottom:max(var(--space-6), env(safe-area-inset-bottom));background:#fff;border-radius:28px 28px 0 0;animation:.32s cubic-bezier(.2,.8,.2,1) athlete-sheet-up;overflow-y:auto;box-shadow:0 -10px 40px -12px #281e5a73}.athlete-sheet:focus{outline:none}.athlete-sheet__grip{width:42px;height:5px;margin:var(--space-2) auto var(--space-4);background:var(--gray-200);border-radius:99px;display:block}.athlete-sheet__titlebar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.athlete-sheet__title{color:var(--gray-900);margin:0;font-size:1.125rem;font-weight:700}.athlete-sheet__close{border-radius:var(--radius-md);background:var(--gray-50);width:40px;height:40px;color:var(--gray-500);cursor:pointer;border:none;flex:none;place-items:center;margin-left:auto;font-size:1.5rem;line-height:1;display:grid}.athlete-sheet__close:hover{background:var(--gray-100)}.athlete-sheet__body{min-height:1px}@keyframes athlete-sheet-fade{0%{opacity:0}to{opacity:1}}@keyframes athlete-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.athlete-sheet-scrim,.athlete-sheet{animation:none}}.minhas-quotas{gap:var(--space-5);flex-direction:column;font-family:inherit;display:flex}.minhas-quotas-subtitle{color:var(--gray-500);margin:0;font-size:.9375rem}.mq-summary{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.mq-card{text-align:left;background:#fff;border:none;border-radius:18px;padding:14px 16px;box-shadow:0 10px 30px -18px #281e5a59}.mq-card__label{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);font-size:.6875rem;font-weight:700;display:block}.mq-card__value{color:var(--gray-900);font-variant-numeric:tabular-nums;margin-top:4px;font-size:1.5rem;font-weight:800;display:block}.mq-card--paid .mq-card__value{color:var(--color-success,#16a34a)}.mq-card--overdue .mq-card__value{color:var(--color-danger,#dc2626)}.mq-due{background:var(--brand-gradient);color:#fff;border-radius:22px;flex-direction:column;padding:18px;display:flex;box-shadow:0 22px 44px -22px #667eeacc}.mq-due__label{text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-size:.6875rem;font-weight:700}.mq-due__value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:1.9rem;font-weight:800}.mq-progress{margin-top:14px;display:block}.mq-progress__track{background:#ffffff40;border-radius:999px;width:100%;height:8px;overflow:hidden}.mq-progress__fill{background:#fff;border-radius:999px;height:100%;transition:width .4s}.mq-progress__label{color:#fff;white-space:nowrap;font-size:.8125rem;font-weight:700}.mq-payments__title{margin:0 0 var(--space-3);color:var(--gray-900);font-size:1.25rem;font-weight:700}.mq-payments__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mq-pay{align-items:center;gap:var(--space-2) var(--space-3);border:1px solid var(--gray-200);border-left:4px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);background:#fff;flex-wrap:wrap;display:flex}.mq-pay__period{color:var(--gray-900);flex:auto;font-weight:700}.mq-pay__amount{font-variant-numeric:tabular-nums;color:var(--gray-600);white-space:nowrap;font-size:.875rem}.mq-pay--paid{border-left-color:var(--color-success)}.mq-pay--pending{border-left-color:var(--gray-400)}.mq-pay--partial{border-left-color:var(--color-warning);background:var(--color-warning-light)}.mq-pay--overdue{border-left-color:var(--color-danger);background:var(--color-danger-light)}.mq-badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:.8125rem;font-weight:600;display:inline-flex}.mq-badge__icon{font-size:.875rem;line-height:1}.mq-badge--paid{color:#065f46;background:#d1fae5}.mq-badge--pending{background:var(--gray-100);color:var(--gray-600)}.mq-badge--partial{color:#92400e;background:#fef3c7}.mq-badge--overdue{color:#991b1b;background:#fee2e2}.minhas-quotas-empty,.minhas-quotas-empty-state{padding:var(--space-6);text-align:center;color:var(--gray-600)}.minhas-quotas-empty-state{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg)}.minhas-quotas-empty-state h3{margin:0 0 var(--space-2);color:var(--gray-900)}.minhas-quotas-error{background:var(--color-danger-light);color:#991b1b;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid #fecaca}.minhas-quotas-error-detail{margin:var(--space-1) 0 0;opacity:.8;font-size:.8125rem}@media (width>=768px){.mq-summary{flex-direction:row}.mq-card{flex:1 1 0}}.mq-progress__meta{justify-content:space-between;align-items:baseline;gap:8px;margin-top:8px;display:flex}.mq-progress__remaining{color:#ffffffe6;font-size:.8125rem;font-weight:700}.mq-pay__btn{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:10px 0;display:flex}.mq-pay__btn:hover{opacity:.85}.mq-receipt__amount{text-align:center;letter-spacing:-.02em;font-size:2rem;font-weight:800}.mq-receipt__sub{text-align:center;color:var(--gray-500);margin-bottom:14px;font-size:.8125rem}.mq-receipt__list{margin:0}.mq-receipt__list>div{border-top:1px dashed var(--gray-100);justify-content:space-between;gap:12px;padding:10px 0;font-size:.875rem;display:flex}.mq-receipt__list dt{color:var(--gray-500);margin:0}.mq-receipt__list dd{text-align:right;margin:0;font-weight:700}.mq-receipt__movements{margin:14px 0 0;padding:0;list-style:none}.mq-receipt__movement{border-top:1px solid var(--gray-100);align-items:baseline;gap:8px;padding:7px 0;font-size:.8125rem;display:flex}.mq-receipt__mamount{margin-left:auto;font-weight:700}.mq-receipt__mref{color:var(--gray-500)}.mq-receipt__none{color:var(--gray-500);margin-top:12px;font-size:.8125rem}.mq-epoca{margin-top:18px}.mq-epoca__row{border-top:1px solid var(--gray-100);justify-content:space-between;gap:12px;padding:9px 0;font-size:.875rem;display:flex}.mq-epoca__row:first-of-type{border-top:none}.mq-epoca__paid{color:var(--green,#16a34a)}.mq-epoca__row--total{border-top:2px solid var(--gray-200);margin-top:2px;padding-top:12px;font-size:.9375rem;font-weight:800}.mq-receipt__foot{gap:10px;margin-top:16px;display:flex}.mq-receipt__btn{font:inherit;cursor:pointer;text-align:center;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;padding:12px;font-size:.8125rem;font-weight:700;text-decoration:none;display:inline-flex}.mq-receipt__btn--pri{background:var(--brand-gradient);color:#fff}.mq-receipt__btn--sec{background:var(--gray-100);color:var(--gray-800)}.mq-receipt__btn:disabled{opacity:.5;cursor:not-allowed}.athlete-portal{padding:24px}.athlete-portal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.athlete-portal-header h2{color:#1a1a2e;margin:0;font-size:1.5rem}.athlete-team-selector{cursor:pointer;background:#fff;border:1px solid #d0d5dd;border-radius:8px;padding:8px 12px;font-size:.9rem}.athlete-team-name{color:#667eea;font-size:1rem;font-weight:600}.athlete-portal-tabs{border-bottom:2px solid #e5e7eb;gap:4px;margin-bottom:24px;padding-bottom:0;display:flex}.athlete-tab{cursor:pointer;color:#6b7280;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 18px;font-size:.9rem;transition:all .2s}.athlete-tab:hover{color:#667eea}.athlete-tab.active{color:#667eea;border-bottom-color:#667eea;font-weight:600}.athlete-portal-content{min-height:200px}.athlete-portal-loading{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.athlete-portal-error{text-align:center;color:#dc2626;padding:40px 20px}.athlete-portal-empty{text-align:center;color:#6b7280;padding:40px 20px}.athlete-portal-empty-state{text-align:center;padding:60px 20px}.athlete-portal-empty-state .empty-icon{font-size:3rem}.athlete-portal-empty-state h3{color:#1a1a2e;margin:16px 0 8px}.athlete-portal-empty-state p{color:#6b7280;max-width:400px;margin:0 auto}.athlete-overview-team h3{margin:0 0 4px;font-size:1.2rem}.athlete-overview-team .team-season{color:#6b7280;margin:0 0 20px;font-size:.85rem}.athlete-overview-stats{gap:16px;margin-bottom:24px;display:flex}.stat-card{text-align:center;background:linear-gradient(135deg,#667eea10,#764ba210);border:1px solid #e5e7eb;border-radius:12px;flex:1;padding:20px}.stat-value{color:#667eea;font-size:2rem;font-weight:700}.stat-label{color:#6b7280;margin-top:4px;font-size:.85rem}.athlete-upcoming-next{margin-bottom:24px}.athlete-upcoming-next h4{color:#374151;margin:0 0 12px}.next-event-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.next-event-card h4{margin:8px 0 4px}.next-event-card p{color:#6b7280;margin:0;font-size:.9rem}.athlete-quick-actions{flex-wrap:wrap;gap:12px;display:flex}.quick-action-btn{cursor:pointer;color:#fff;background:#667eea;border:none;border-radius:10px;padding:12px 24px;font-size:.95rem;font-weight:600;transition:background .2s}.quick-action-btn:hover{background:#5567d5}.quick-action-btn.secondary{color:#667eea;background:#fff;border:1px solid #667eea}.quick-action-btn.secondary:hover{background:#667eea10}.athlete-schedule-list h3{color:#1a1a2e;margin:0 0 16px}.athlete-schedule-card{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #667eea;border-radius:10px;margin-bottom:12px;padding:16px}.athlete-schedule-card.game{border-left-color:#f59e0b}.schedule-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.event-type-badge{color:#667eea;background:#667eea15;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.event-type-badge.game{color:#d97706;background:#f59e0b15}.event-date{color:#6b7280;font-size:.8rem}.schedule-card-body h4{margin:0 0 4px;font-size:1rem}.event-time{color:#6b7280;margin:0;font-size:.85rem}.cm-portal-header{margin-bottom:1.5rem}.cm-portal-header h2{color:var(--text-primary,#1a1a1a);margin:0 0 .25rem;font-size:1.5rem}.cm-welcome{color:var(--text-secondary,#666);margin:0;font-size:.95rem}.cm-portal-tabs{border-bottom:2px solid var(--border-light,#e5e5e5);gap:.5rem;margin-bottom:1.5rem;padding-bottom:0;display:flex}.cm-tab{cursor:pointer;color:var(--text-secondary,#666);background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:.35rem;margin-bottom:-2px;padding:.75rem 1rem;font-size:.9rem;transition:all .2s;display:flex}.cm-tab:hover{color:var(--text-primary,#1a1a1a);background-color:var(--bg-hover,#f5f5f5)}.cm-tab.active{color:var(--primary,#2563eb);border-bottom-color:var(--primary,#2563eb);font-weight:600}.cm-tab-badge{background-color:var(--danger,#ef4444);color:#fff;text-align:center;border-radius:10px;min-width:1.2rem;padding:.1rem .4rem;font-size:.7rem;line-height:1.2}.cm-portal-content{min-height:300px}.cm-dashboard-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}@media (width<=768px){.cm-dashboard-grid{grid-template-columns:1fr}}.cm-section{background:var(--card-bg,#fff);border:1px solid var(--border-light,#e5e5e5);border-radius:8px;padding:1.25rem}.cm-section h3{color:var(--text-primary,#1a1a1a);margin:0 0 1rem;font-size:1.1rem}.cm-news{grid-column:1/-1}.cm-empty{color:var(--text-muted,#999);margin:0;font-style:italic}.cm-announcement-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.cm-announcement-item{border-left:3px solid var(--primary,#2563eb);background:var(--bg-subtle,#f9fafb);border-radius:0 6px 6px 0;padding:.75rem}.cm-announcement-header{align-items:center;gap:.5rem;margin-bottom:.35rem;display:flex}.cm-pin-badge{font-size:.85rem}.cm-announcement-body{color:var(--text-secondary,#555);margin:0 0 .25rem;font-size:.9rem;line-height:1.4}.cm-announcement-date{color:var(--text-muted,#999);font-size:.8rem}.cm-games-list{flex-direction:column;gap:.75rem;display:flex}.cm-game-card{border:1px solid var(--border-light,#e5e5e5);background:var(--bg-subtle,#f9fafb);border-radius:6px;padding:.75rem}.cm-game-teams{align-items:center;gap:.5rem;margin-bottom:.35rem;font-weight:600;display:flex}.cm-vs{color:var(--text-muted,#999);font-size:.8rem;font-weight:400}.cm-game-info{color:var(--text-secondary,#666);font-size:.85rem}.cm-buy-ticket-btn{background:var(--primary,#2563eb);color:#fff;border-radius:4px;margin-top:.5rem;padding:.35rem .75rem;font-size:.85rem;text-decoration:none;transition:background .2s;display:inline-block}.cm-buy-ticket-btn:hover{background:var(--primary-dark,#1d4ed8)}.cm-tickets-summary{justify-content:space-between;align-items:center;display:flex}.cm-ticket-count{align-items:baseline;gap:.35rem;display:flex}.cm-count-value{color:var(--primary,#2563eb);font-size:2rem;font-weight:700}.cm-count-label{color:var(--text-secondary,#666);font-size:.95rem}.cm-view-tickets-btn{border:1px solid var(--primary,#2563eb);color:var(--primary,#2563eb);cursor:pointer;background:0 0;border-radius:4px;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.cm-view-tickets-btn:hover{background:var(--primary,#2563eb);color:#fff}.cm-tickets-section h3,.cm-social-section h3,.cm-notifications-section h3{margin:0 0 1rem;font-size:1.2rem}.cm-ticket-list{flex-direction:column;gap:1rem;display:flex}.cm-ticket-card{border:1px solid var(--border-light,#e5e5e5);background:var(--card-bg,#fff);border-radius:8px;padding:1rem}.cm-ticket-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.cm-ticket-status{text-transform:uppercase;border-radius:10px;padding:.2rem .6rem;font-size:.8rem;font-weight:600}.cm-ticket-status.valid,.cm-ticket-status.active{color:#166534;background:#dcfce7}.cm-ticket-status.used{color:#6b7280;background:#f3f4f6}.cm-ticket-status.cancelled{color:#991b1b;background:#fef2f2}.cm-ticket-details{color:var(--text-secondary,#666);margin-bottom:.5rem;font-size:.85rem}.cm-ticket-qr{text-align:center;margin-top:.75rem}.cm-ticket-qr img{border:1px solid var(--border-light,#e5e5e5);border-radius:4px;max-width:160px}.cm-qr-label{color:var(--text-muted,#999);margin:.25rem 0 0;font-size:.8rem}.cm-ticket-code{color:var(--text-secondary,#555);margin-top:.5rem;font-size:.85rem}.cm-ticket-code code{background:var(--bg-subtle,#f3f4f6);border-radius:3px;padding:.15rem .4rem;font-family:monospace}.cm-action-btn{background:var(--primary,#2563eb);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:.75rem;padding:.5rem 1rem;font-size:.9rem}.cm-action-btn:hover{background:var(--primary-dark,#1d4ed8)}.cm-social-list{flex-direction:column;gap:1rem;display:flex}.cm-social-card{border:1px solid var(--border-light,#e5e5e5);background:var(--card-bg,#fff);border-radius:8px;padding:1rem}.cm-social-content{color:var(--text-primary,#1a1a1a);white-space:pre-wrap;margin-bottom:.5rem;line-height:1.5}.cm-social-media{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.cm-social-img{object-fit:cover;border:1px solid var(--border-light,#e5e5e5);border-radius:4px;width:120px;height:90px}.cm-social-meta{color:var(--text-muted,#999);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.cm-platform-badge{background:var(--bg-subtle,#f3f4f6);color:var(--text-secondary,#666);border-radius:10px;padding:.15rem .5rem;font-size:.75rem}.cm-unread-badge{background-color:var(--danger,#ef4444);color:#fff;border-radius:10px;margin-left:.35rem;padding:.15rem .5rem;font-size:.75rem}.cm-notification-list{flex-direction:column;gap:.75rem;display:flex}.cm-notification-item{border:1px solid var(--border-light,#e5e5e5);border-radius:6px;padding:.75rem 1rem}.cm-notification-item.unread{background:var(--primary-subtle,#eff6ff);border-color:var(--primary-light,#93c5fd)}.cm-notification-item.read{background:var(--card-bg,#fff)}.cm-notification-header{align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.cm-notification-type{font-size:1.1rem}.cm-notification-body{color:var(--text-secondary,#555);margin:0 0 .25rem;font-size:.9rem;line-height:1.4}.cm-notification-date{color:var(--text-muted,#999);font-size:.8rem}.cm-portal-loading{min-height:300px;color:var(--text-secondary,#666);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.cm-portal-error{text-align:center;color:var(--danger,#ef4444);padding:2rem}.cm-portal-empty-state{text-align:center;color:var(--text-secondary,#666);padding:2rem}.cm-portal-empty-state .empty-icon{margin-bottom:.5rem;font-size:3rem;display:block}.cm-portal-empty-state h4{color:var(--text-primary,#1a1a1a);margin:0 0 .5rem}.cm-portal-empty-state p{margin:0}.dash-skeleton{background:linear-gradient(90deg, var(--gray-200) 25%, var(--gray-100) 50%, var(--gray-200) 75%);background-size:800px 100%;animation:1.5s linear infinite dash-shimmer}@keyframes dash-shimmer{0%{background-position:-800px 0}to{background-position:800px 0}}.dash-skeleton-list{padding:var(--space-1) 0}.dash-kpi-card{background:var(--surface-primary);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-5);text-align:center;box-shadow:var(--shadow-sm);transition:box-shadow .2s}.dash-kpi-card:hover{box-shadow:var(--shadow-md)}.dash-kpi-card--skeleton{flex-direction:column;align-items:center;display:flex}.dash-kpi-icon{width:2.5rem;height:2.5rem;margin-bottom:var(--space-2);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.dash-kpi-icon--blue{background:var(--color-info-light);color:var(--color-info)}.dash-kpi-icon--green{background:var(--color-success-light);color:var(--color-success)}.dash-kpi-icon--orange{background:var(--color-warning-light);color:#ea580c}.dash-kpi-icon--purple{color:#7c3aed;background:#ede9fe}.dash-kpi-icon--red{background:var(--color-danger-light);color:var(--color-danger)}.dash-kpi-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:.8125rem}.dash-kpi-value{margin:var(--space-1) 0 0;color:var(--gray-800);font-size:1.75rem;font-weight:700}.dash-kpi-value--na{color:var(--gray-400)}.dash-section{background:var(--surface-primary);border:1px solid var(--gray-200);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-sm)}.dash-section-title{align-items:center;gap:var(--space-2);margin:0 0 var(--space-4);color:var(--gray-800);font-size:1rem;font-weight:600;display:flex}.dash-activity-item{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--gray-100);display:flex}.dash-activity-item:last-child{border-bottom:none}.dash-activity-dot{background:var(--brand);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.375rem}.dash-activity-content{flex-direction:column;min-width:0;display:flex}.dash-activity-action{color:var(--gray-700);font-size:.875rem}.dash-activity-meta{color:var(--gray-400);font-size:.75rem}.dash-empty{text-align:center;color:var(--gray-400);padding:var(--space-4) 0;margin:0;font-size:.875rem}.athlete-dashboard{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.athlete-dash-loading,.athlete-dash-empty-state{text-align:center;color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.athlete-dash-empty-state h3{color:var(--text-primary,#1a202c);margin:.75rem 0 .25rem}.athlete-dash-empty-state p{margin:0}.athlete-dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.athlete-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.athlete-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.athlete-dash-team-selector{align-items:center;gap:.5rem;display:flex}.athlete-dash-team-selector label{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:.8125rem;font-weight:600}.athlete-dash-team-selector select{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);border-radius:8px;padding:.375rem .75rem;font-size:.875rem}.athlete-dash-team-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.athlete-dash-team-name{color:var(--text-primary,#1a202c);margin:0 0 .5rem;font-size:1.125rem}.athlete-dash-team-meta{color:var(--text-secondary,#64748b);flex-wrap:wrap;gap:1.25rem;font-size:.8125rem;display:flex}.athlete-dash-team-meta span{align-items:center;gap:.3rem;display:inline-flex}.athlete-dash-next-up{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#6366f1 100%);border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #3b82f640}.athlete-dash-next-event{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.athlete-dash-next-info{flex:1;min-width:0}.athlete-dash-next-info strong{color:#fff;font-size:1rem;display:block}.athlete-dash-next-datetime{color:#fffc;font-size:.8125rem}.athlete-dash-countdown{white-space:nowrap;background:#fff3;border-radius:8px;padding:.375rem .75rem;font-size:1.25rem;font-weight:700}.athlete-dash-countdown-live{background:#16a34a;border-radius:6px;padding:.25rem .625rem;font-size:1rem;font-weight:700}.athlete-dash-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.athlete-dash-session-list,.athlete-dash-game-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.athlete-dash-session-item,.athlete-dash-game-item{align-items:flex-start;gap:.625rem;display:flex}.athlete-dash-session-badge{text-transform:uppercase;border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.6875rem;font-weight:600}.athlete-dash-session-badge.type-0{color:#2563eb;background:#dbeafe}.athlete-dash-session-badge.type-1{color:#16a34a;background:#dcfce7}.athlete-dash-next-up .athlete-dash-session-badge.type-0,.athlete-dash-next-up .athlete-dash-session-badge.type-1{color:#fff;background:#fff3}.athlete-dash-session-info strong,.athlete-dash-game-info strong{color:var(--text-primary,#1a202c);font-size:.875rem;display:block}.athlete-dash-session-datetime{color:var(--text-secondary,#64748b);font-size:.75rem}.athlete-dash-attendance-stats{flex-direction:column;gap:.75rem;display:flex}.athlete-dash-att-stat{align-items:baseline;gap:.5rem;display:flex}.athlete-dash-att-value{color:var(--text-primary,#1a202c);font-size:1.5rem;font-weight:700}.athlete-dash-att-label{color:var(--text-secondary,#64748b);font-size:.8125rem}.athlete-dash-att-bar-track{background:var(--border-color,#e2e8f0);border-radius:4px;width:100%;height:.5rem;overflow:hidden}.athlete-dash-att-bar-fill{background:#16a34a;border-radius:4px;height:100%;transition:width .3s}.athlete-dash-message-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.athlete-dash-message-item{border-bottom:1px solid var(--border-color,#f1f5f9);padding-bottom:.625rem}.athlete-dash-message-item:last-child{border-bottom:none;padding-bottom:0}.athlete-dash-message-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.athlete-dash-message-sender{color:var(--text-primary,#1a202c);font-size:.8125rem;font-weight:600}.athlete-dash-message-time{color:var(--text-secondary,#64748b);font-size:.6875rem}.athlete-dash-message-preview{color:var(--text-secondary,#64748b);margin:0;font-size:.8125rem;line-height:1.4}.athlete-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.athlete-dash-quick-action{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.athlete-dash-quick-action:hover{background:var(--hover-bg,#f8fafc);box-shadow:0 2px 8px #0000000f}@media (width<=768px){.athlete-dash-header{flex-direction:column}.athlete-dash-grid{grid-template-columns:1fr}.athlete-dash-quick-actions-row{flex-direction:column}.athlete-dash-quick-action{justify-content:center;width:100%}.athlete-dash-next-event{flex-direction:column;align-items:flex-start}}.athlete-att{align-items:center;gap:16px;display:flex}.athlete-att-ring{flex:none;width:78px;height:78px;position:relative}.athlete-att-ring__svg{width:100%;height:100%;transform:rotate(-90deg)}.athlete-att-ring__track{stroke:var(--gray-200)}.athlete-att-ring__fill{stroke:var(--green,#16a34a);transition:stroke-dasharray .4s}.athlete-att-ring__label{color:var(--gray-900);place-items:center;font-size:1.125rem;font-weight:800;display:grid;position:absolute;inset:0}.athlete-att-meta{min-width:0}.athlete-att-count{color:var(--gray-600,var(--gray-500));margin:0;font-size:.8125rem}.athlete-att-streak{color:var(--amber,#f59e0b);align-items:center;gap:5px;margin-top:6px;font-size:.75rem;font-weight:700;display:inline-flex}.athlete-att-bars{align-items:flex-end;gap:4px;height:34px;margin-top:10px;display:flex}.athlete-att-bar{background:var(--brand-gradient);opacity:.85;border-radius:4px 4px 2px 2px;width:8px;height:100%}.athlete-att-bar.is-miss{background:var(--gray-200);opacity:1}.athlete-hero-venue{color:var(--gray-600,var(--gray-500));align-items:center;gap:5px;margin-top:2px;font-size:.8125rem;display:inline-flex}.athlete-hero-countdown{gap:8px;margin-top:12px;display:flex}.athlete-hero-countdown__seg{text-align:center;background:var(--gray-50);border-radius:12px;flex:1;padding:8px 0}.athlete-hero-countdown__seg b{font-variant-numeric:tabular-nums;color:var(--gray-900);font-size:1.25rem;font-weight:800;line-height:1;display:block}.athlete-hero-countdown__seg span{text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);font-size:.625rem}.athlete-hero-actions{gap:9px;margin-top:14px;display:flex}.athlete-hero-btn{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:7px;min-height:44px;font-family:inherit;font-size:.8125rem;font-weight:700;display:inline-flex}.athlete-hero-btn--solid{background:var(--brand-gradient);color:#fff}.athlete-hero-btn--ghost{background:var(--gray-100);color:var(--gray-800)}.athlete-hero-btn:hover{filter:brightness(1.03)}.athlete-dash-message-item{align-items:flex-start;gap:11px;display:flex}.athlete-dash-message-avatar{background:var(--brand-gradient);color:#fff;border-radius:11px;flex:none;place-items:center;width:36px;height:36px;font-size:.8125rem;font-weight:700;display:grid}.athlete-dash-message-body{flex:1;min-width:0}.athlete-dash-viewall{color:var(--brand);cursor:pointer;background:0 0;border:none;margin:8px 0 0 auto;padding:4px 8px;font-size:.8125rem;font-weight:700;display:block}.athlete-dash-viewall:hover{text-decoration:underline}.push-banner{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--color-info-light);border-radius:var(--radius-lg);border:1px solid #bfdbfe;display:flex}.push-banner--blocked{background:var(--gray-100);border-color:var(--gray-200)}.push-banner__icon{flex:none;font-size:1.25rem;line-height:1}.push-banner__text{color:var(--gray-700);flex:auto;margin:0;font-size:.875rem}.push-banner__cta{background:var(--brand);color:#fff;border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);border:none;flex:none;font-size:.875rem;font-weight:600}.push-banner__cta:hover{background:var(--brand-dark)}.push-banner__cta:disabled{opacity:.6;cursor:default}.athlete-agenda{gap:var(--space-4);flex-direction:column;display:flex}.athlete-agenda__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.athlete-agenda__header h2{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:700}.athlete-agenda__tabs{gap:var(--space-1);background:#fff;border-radius:15px;padding:5px;display:flex;box-shadow:0 8px 22px -16px #281e5a66}.athlete-agenda__tab{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--gray-600);background:0 0;border:none;flex:1 1 0;font-size:.875rem;font-weight:600}.athlete-agenda__tab.is-active{background:var(--brand);color:#fff;box-shadow:0 4px 12px -5px #667eeab3}.athlete-agenda__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.athlete-agenda__event{align-items:center;gap:2px var(--space-3);border:1px solid var(--gray-200);border-left:4px solid var(--gray-300);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-sm);background:#fff;grid-template-columns:auto 1fr;grid-template-areas:"badge title""badge when";display:grid}.athlete-agenda__event--game{border-left-color:var(--color-info)}.athlete-agenda__event--practice{border-left-color:var(--color-success)}.athlete-agenda__badge{white-space:nowrap;border-radius:999px;grid-area:badge;align-self:center;padding:2px 8px;font-size:.75rem;font-weight:600}.athlete-agenda__badge--game{background:var(--color-info-light);color:#1e40af}.athlete-agenda__badge--practice{background:var(--color-success-light);color:#065f46}.athlete-agenda__title{color:var(--gray-900);grid-area:title;font-weight:600}.athlete-agenda__when{color:var(--gray-500);grid-area:when;font-size:.8125rem}.athlete-agenda__empty{padding:var(--space-6);text-align:center;color:var(--gray-500)}.athlete-agenda__subtitle{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin:18px 0 10px;font-size:.75rem;font-weight:700}.athlete-agenda__event-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.athlete-agenda__venue{color:var(--gray-500);font-size:.75rem}.athlete-cal{background:#fff;border-radius:18px;padding:16px;box-shadow:0 10px 30px -20px #281e5a59}.athlete-cal__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.athlete-cal__nav b{text-transform:capitalize;font-size:.9375rem;font-weight:800}.athlete-cal__nav button{background:var(--gray-50);width:36px;height:36px;color:var(--gray-600,var(--gray-500));cursor:pointer;border:none;border-radius:11px;font-size:1.1rem}.athlete-cal__dow{grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;display:grid}.athlete-cal__dow span{text-align:center;color:var(--gray-500);text-transform:uppercase;font-size:.625rem;font-weight:700}.athlete-cal__grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.athlete-cal__day{aspect-ratio:1;min-height:38px;color:var(--gray-800);border-radius:10px;place-items:center;font-size:.8125rem;font-weight:600;display:grid;position:relative}.athlete-cal__day--out{color:#0000}.athlete-cal__dots{gap:3px;display:flex;position:absolute;bottom:5px}.athlete-cal__dot{border-radius:50%;width:5px;height:5px;display:inline-block}.athlete-cal__dot--train{background:var(--green,#16a34a)}.athlete-cal__dot--game{background:var(--blue,#2563eb)}.athlete-cal__legend{border-top:1px solid var(--gray-100);color:var(--gray-500);justify-content:center;gap:16px;margin-top:12px;padding-top:12px;font-size:.75rem;display:flex}.athlete-cal__legend span{align-items:center;gap:6px;display:inline-flex}.athlete-agenda__game{border-top:1px solid var(--gray-100);align-items:center;gap:12px;padding:12px 0;display:flex}.athlete-agenda__list .athlete-agenda__game:first-child{border-top:none}.athlete-agenda__score{font-variant-numeric:tabular-nums;text-align:center;min-width:58px;font-size:1.05rem;font-weight:800}.athlete-agenda__pill{border-radius:999px;flex:none;margin-left:auto;padding:4px 10px;font-size:.6875rem;font-weight:700}.athlete-agenda__pill--home,.athlete-agenda__pill--win{background:var(--green-bg,#e7f6ec);color:var(--green,#16a34a)}.athlete-agenda__pill--away{background:var(--gray-100);color:var(--gray-600,var(--gray-500))}.athlete-agenda__pill--loss{background:var(--red-bg,#fdecec);color:var(--red,#dc2626)}.athlete-novidades{gap:var(--space-4);flex-direction:column;display:flex}.athlete-novidades__header{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.athlete-novidades__header h2{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:700}.athlete-novidades__tabs{gap:var(--space-1);background:#fff;border-radius:15px;padding:5px;display:flex;box-shadow:0 8px 22px -16px #281e5a66}.athlete-novidades__tab{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--gray-600);background:0 0;border:none;flex:1 1 0;font-size:.875rem;font-weight:600}.athlete-novidades__tab.is-active{background:var(--brand);color:#fff;box-shadow:0 4px 12px -5px #667eeab3}.athlete-novidades__empty{padding:var(--space-6);text-align:center;color:var(--gray-500)}.conta-profile{flex-direction:column;gap:16px;display:flex}.conta-header{text-align:center;color:#fff;background:var(--brand-gradient);border-radius:22px;padding:22px 18px;position:relative;box-shadow:0 18px 36px -22px #667eeacc}.conta-header__edit{color:#fff;cursor:pointer;background:#ffffff2e;border:none;border-radius:12px;width:38px;height:38px;font-size:1rem;position:absolute;top:14px;right:14px}.conta-header__avatar{background:#fff3;border-radius:24px;place-items:center;width:80px;height:80px;margin:0 auto 12px;font-size:1.75rem;font-weight:800;display:grid}.conta-header__name{margin:0;font-size:1.3rem;font-weight:800}.conta-header__team{opacity:.92;margin:4px 0 0;font-size:.8125rem}.conta-header__stats{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px;display:grid}.conta-header__stats>div{background:#ffffff29;border-radius:14px;padding:10px 4px}.conta-header__stats b{font-size:1.2rem;font-weight:800;display:block}.conta-header__stats span{opacity:.85;font-size:.625rem}.conta-section__title{text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin:0 0 10px;font-size:.75rem;font-weight:700}.conta-empty{color:var(--gray-500);margin:0;font-size:.875rem}.conta-statgrid{grid-template-columns:repeat(2,1fr);gap:11px;display:grid}.conta-stat{background:var(--gray-50);border-radius:14px;padding:13px}.conta-stat__v{letter-spacing:-.02em;color:var(--gray-900);font-size:1.25rem;font-weight:800}.conta-stat__l{color:var(--gray-500);margin-top:2px;font-size:.6875rem}.conta-timeline{margin:0;padding:0;list-style:none}.conta-timeline__item{border-top:1px solid var(--gray-100);padding:12px 0}.conta-timeline__item:first-child{border-top:none}.conta-timeline__club{color:var(--gray-900);font-size:.9375rem;font-weight:700}.conta-timeline__meta{color:var(--gray-500);margin-top:2px;font-size:.8125rem}.conta-edit{flex-direction:column;gap:18px;display:flex}.conta-edit__form{background:#fff;border-radius:16px;flex-direction:column;gap:10px;padding:16px;display:flex;box-shadow:0 10px 30px -20px #281e5a59}.conta-edit__form h3{color:var(--gray-900);margin:0 0 4px;font-size:.9375rem;font-weight:800}.conta-edit__form label{color:var(--gray-500);flex-direction:column;gap:4px;font-size:.75rem;font-weight:600;display:flex}.conta-edit__form input{border:1px solid var(--gray-200);font:inherit;color:var(--gray-900);border-radius:10px;padding:10px 12px;font-size:.9375rem}.conta-edit__form input:focus{outline:2px solid var(--brand);outline-offset:1px}.conta-edit__save{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:12px;align-self:flex-start;padding:10px 18px;font-size:.875rem;font-weight:700}.conta-edit__save:disabled{opacity:.6;cursor:not-allowed}.conta-edit__msg{margin:0;font-size:.8125rem;font-weight:600}.conta-edit__msg--ok{color:var(--green,#16a34a)}.conta-edit__msg--err{color:var(--red,#dc2626)}.language-settings-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:28px 24px;box-shadow:0 1px 3px #0000000f}.language-settings-title{color:var(--text-primary,#1a202c);margin:0 0 6px;font-size:1.25rem;font-weight:600}.language-settings-description{color:var(--text-secondary,#64748b);margin:0 0 24px;font-size:.875rem;line-height:1.5}.language-options{flex-direction:column;gap:12px;display:flex}.language-option{background:var(--card-bg,#fff);border:2px solid var(--border-color,#e2e8f0);cursor:pointer;text-align:left;border-radius:10px;align-items:center;gap:14px;width:100%;padding:16px;font-family:inherit;transition:border-color .15s,background-color .15s,box-shadow .15s;display:flex}.language-option:hover{border-color:var(--welcome-brand,#667eea);background:var(--hover-bg,#667eea0a)}.language-option:focus-visible{outline:2px solid var(--welcome-brand,#667eea);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.language-option.active{border-color:var(--welcome-brand,#667eea);box-shadow:0 0 0 1px var(--welcome-brand,#667eea);background:#667eea0f}.language-option-flag{flex-shrink:0;font-size:1.75rem;line-height:1}.language-option-info{flex-direction:column;flex:1;gap:2px;display:flex}.language-option-label{color:var(--text-primary,#1a202c);font-size:.95rem;font-weight:600}.language-option-desc{color:var(--text-secondary,#64748b);font-size:.8rem}.language-option-check{width:22px;height:22px;color:var(--welcome-brand,#667eea);flex-shrink:0}.language-option-check svg{width:100%;height:100%}.language-settings-info{background:var(--info-bg,#f0f4ff);color:var(--text-secondary,#64748b);border-radius:8px;align-items:flex-start;gap:10px;margin-top:20px;padding:12px 14px;font-size:.8rem;line-height:1.5;display:flex}.language-settings-info .info-icon{width:18px;height:18px;color:var(--welcome-brand,#667eea);flex-shrink:0;margin-top:1px}@media (width<=640px){.language-settings{padding:16px 12px}.language-settings-card{padding:20px 16px}.language-option{padding:14px 12px}}.athlete-conta{gap:var(--space-4);flex-direction:column;display:flex}.athlete-conta__header h2{color:var(--gray-900);margin:0;font-size:1.5rem;font-weight:700}.athlete-conta__tabs{gap:var(--space-1);background:#fff;border-radius:15px;padding:5px;display:flex;box-shadow:0 8px 22px -16px #281e5a66}.athlete-conta__tab{border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);color:var(--gray-600);background:0 0;border:none;flex:1 1 0;font-size:.875rem;font-weight:600}.athlete-conta__tab.is-active{background:var(--brand);color:#fff;box-shadow:0 4px 12px -5px #667eeab3}.athlete-conta__settings{gap:var(--space-6);flex-direction:column;display:flex}.athlete-conta__settings>*+*{padding-top:var(--space-6);border-top:1px solid var(--gray-200)}.athlete-conta__logout{background:var(--red-bg,#fdecec);width:100%;color:var(--red,#dc2626);cursor:pointer;border:none;border-radius:16px;margin-top:8px;padding:14px;font-size:.9375rem;font-weight:800}.athlete-conta__logout:hover{filter:brightness(.98)}.athlete-bell{color:#fff;cursor:pointer;background:#ffffff29;border:none;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;position:relative}.athlete-bell:hover{background:#ffffff42}.athlete-bell__icon{display:block}.athlete-bell__dot{border:2px solid var(--brand);background:#ffd24d;border-radius:50%;width:9px;height:9px;position:absolute;top:9px;right:10px}.athlete-bell__hint{padding:var(--space-5) var(--space-2);text-align:center;color:var(--gray-500);margin:0;font-size:.875rem}.athlete-bell__list{margin:0;padding:0;list-style:none}.athlete-bell__item{width:100%;padding:var(--space-3) 0;border:none;border-top:1px solid var(--gray-100);text-align:left;cursor:pointer;background:0 0;flex-direction:column;gap:3px;display:flex}.athlete-bell__list li:first-child .athlete-bell__item{border-top:none}.athlete-bell__item.is-unread{cursor:pointer}.athlete-bell__t{align-items:center;gap:var(--space-2);color:var(--gray-900);font-size:.875rem;font-weight:700;display:flex}.athlete-bell__unread{background:var(--brand);border-radius:50%;flex:none;width:8px;height:8px}.athlete-bell__x{color:var(--gray-600,var(--gray-500));font-size:.8125rem;line-height:1.4}.athlete-bell__time{color:var(--gray-500);font-size:.6875rem}.athlete-bell__markall{margin-left:auto;margin-bottom:var(--space-2);color:var(--brand);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:.75rem;font-weight:700;display:block}.athlete-bell__markall:hover{text-decoration:underline}.athlete-bell__viewall{width:100%;margin-top:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;font-size:.875rem;font-weight:700}.athlete-bell__viewall:hover{filter:brightness(1.05)}.athlete-teampill{align-items:center;gap:var(--space-2);color:#fff;cursor:pointer;background:#ffffff29;border:1px solid #fff3;border-radius:999px;max-width:100%;min-height:28px;margin-top:3px;padding:4px 8px 4px 4px;display:inline-flex}.athlete-teampill:hover{background:#ffffff42}.athlete-teampill__chip{text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#6172e8 0%,#8a52bd 100%);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;font-size:.625rem;font-weight:800;display:grid;box-shadow:inset 0 0 0 1px #ffffff24}.athlete-teampill__name{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:700;overflow:hidden}.athlete-teampill__chev{opacity:.85;flex:none}.athlete-teampill__list{margin:0;padding:0;list-style:none}.athlete-teampill__option{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-2);border:none;border-top:1px solid var(--gray-100);text-align:left;color:var(--gray-800);cursor:pointer;background:0 0;font-size:.9375rem;font-weight:600;display:flex}.athlete-teampill__list li:first-child .athlete-teampill__option{border-top:none}.athlete-teampill__option .athlete-teampill__chip{background:var(--brand-gradient)}.athlete-teampill__option.is-selected{color:var(--brand);font-weight:800}.athlete-teampill__option:hover{background:var(--gray-50)}.profile-switcher{display:inline-flex;position:relative}.profile-switcher__toggle{border:1px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text,#1f2937);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .6rem;font-size:.82rem;line-height:1;display:inline-flex}.profile-switcher__toggle:hover{background:var(--color-surface-hover,#f1f5f9)}.profile-switcher__label{color:var(--color-text-muted,#6b7280)}.profile-switcher__current{font-weight:600}.profile-switcher__caret{color:var(--color-text-muted,#6b7280);font-size:.7rem}.profile-switcher__menu{z-index:50;background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:.6rem;min-width:12rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .35rem);right:0;box-shadow:0 10px 30px #0f172a1f}.profile-switcher__option{width:100%;color:var(--color-text,#1f2937);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:.4rem;justify-content:space-between;align-items:center;padding:.5rem .6rem;font-size:.88rem;display:flex}.profile-switcher__option:hover{background:var(--color-surface-hover,#f1f5f9)}.profile-switcher__option.is-active{font-weight:600}.profile-switcher__check{color:var(--color-primary,#667eea)}.profile-switcher--athlete .profile-switcher__toggle{color:inherit;background:#ffffff1f;border-color:#ffffff40}.profile-switcher--athlete .profile-switcher__label,.profile-switcher--athlete .profile-switcher__caret{color:inherit;opacity:.75}@media (width<=600px){.profile-switcher__label{display:none}}.athlete-app{height:100%;color:var(--gray-800);background:radial-gradient(900px 480px at 18% -8%,#e9ecfb,#0000),#f4f5fb;flex-direction:column;display:flex}.athlete-app__bar{z-index:5;justify-content:space-between;align-items:center;gap:var(--space-3);padding:max(34px, env(safe-area-inset-top)) 20px 18px;background:var(--brand-gradient);color:#fff;border-radius:0 0 26px 26px;flex:none;display:flex;position:relative;box-shadow:0 14px 30px -12px #667eeab3}.athlete-app__bar:after{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(220px 120px at 85% 0,#ffffff40,#0000);position:absolute;inset:0}.athlete-app__brand,.athlete-app__account{z-index:1;position:relative}.athlete-app__brand{align-items:center;gap:var(--space-3);min-width:0;display:flex}.athlete-app__logo{-webkit-backdrop-filter:blur(6px);color:#fff;background:#ffffff2e;border-radius:11px;flex:none;place-items:center;width:38px;height:38px;display:grid}.athlete-app__brandtext{flex-direction:column;min-width:0;display:flex}.athlete-app__brandname{letter-spacing:-.01em;font-size:1.125rem;font-weight:800;line-height:1.1}.athlete-app__org{opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-size:.6875rem;font-weight:500;overflow:hidden}.athlete-app__account{align-items:center;gap:var(--space-3);flex:none;display:flex}.athlete-app__username{opacity:.95;text-overflow:ellipsis;white-space:nowrap;max-width:9rem;font-size:.9375rem;overflow:hidden}.athlete-app__logout{color:#fff;border-radius:var(--radius-lg);padding:var(--space-1) var(--space-3);background:#ffffff2e;border:1px solid #ffffff73;font-size:.875rem;font-weight:600}.athlete-app__logout:hover{background:#ffffff47}.athlete-app__content{-webkit-overflow-scrolling:touch;padding:var(--space-4);padding-bottom:max(var(--space-6), env(safe-area-inset-bottom));flex:auto;overflow-y:auto}.athlete-app__inner{width:100%;max-width:680px;margin:0 auto}.athlete-app__greeting h1{margin:var(--space-1) 0 var(--space-4);color:var(--gray-900);font-size:1.75rem;font-weight:700}.athlete-app__nav{justify-content:space-around;gap:var(--space-1);-webkit-backdrop-filter:blur(18px);padding:var(--space-1) var(--space-2);padding-bottom:max(var(--space-1), env(safe-area-inset-bottom));background:#ffffffd9;border-top:1px solid #fff;flex:none;display:flex;box-shadow:0 -10px 30px -18px #281e5a66}.athlete-app__navitem{padding:var(--space-2) var(--space-1);border-radius:var(--radius-md);color:var(--gray-500);flex-direction:column;flex:1 1 0;align-items:center;gap:2px;font-weight:500;text-decoration:none;display:flex;position:relative}.athlete-app__navitem.is-active{color:#764ba2;font-weight:700}.athlete-app__navitem:hover{background:var(--gray-50)}.athlete-app__navitem.is-active:before{content:"";background:var(--brand);border-radius:99px;width:28px;height:4px;position:absolute;top:0}.athlete-app__navicon{font-size:1.25rem;line-height:1}.athlete-app__navlabel{font-size:.75rem}@media (width>=768px){.athlete-app__bar{padding-left:var(--space-6);padding-right:var(--space-6)}.athlete-app__org{font-size:1.1875rem}.athlete-app__content{padding:var(--space-6)}.athlete-app__nav{justify-content:center;gap:var(--space-2);border-top:none;border-bottom:1px solid var(--gray-200);order:-1}.athlete-app__navitem{gap:var(--space-2);padding:var(--space-2) var(--space-4);flex-direction:row;flex:none}.athlete-app__navlabel{font-size:.9375rem}.athlete-app__navitem.is-active:before{top:auto;bottom:0}}.athlete-icon{vertical-align:middle;flex:none;display:inline-block}.athlete-app input,.athlete-app select,.athlete-app textarea{font-size:16px}.athlete-app .dash-section,.athlete-app .athlete-dash-team-card{border:none;border-radius:22px;box-shadow:0 10px 30px -18px #281e5a59}.athlete-app .athlete-dash-team-card{display:none}.sidebar{border-right:1px solid var(--gray-200);z-index:1000;background:#fff;flex-direction:column;width:280px;height:100vh;transition:width .3s;display:flex;position:fixed;top:0;left:0}.sidebar.collapsed{width:80px}.sidebar-header{border-bottom:1px solid var(--gray-200);box-sizing:border-box;flex-shrink:0;align-items:center;gap:12px;height:73px;padding:0 20px;display:flex}.sidebar.collapsed .sidebar-header{justify-content:center;padding:0}.logo-toggle{cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .2s;display:flex}.logo-toggle:hover{transform:scale(1.08)}.logo-toggle:active{transform:scale(.95)}.logo-icon-box{color:#fff;background:var(--brand-gradient);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:16px;font-weight:800;display:flex}.logo-text{color:var(--gray-800);font-size:20px;font-weight:700}.sidebar-org-context{flex-shrink:0;padding:8px 20px 0}.sidebar.collapsed .sidebar-org-context{justify-content:center;padding:8px 0 0;display:flex}.sidebar-nav{flex-direction:column;flex:1;min-height:0;padding:16px 0;display:flex;overflow-y:auto}.nav-section{margin-bottom:8px}.nav-section:last-child{margin-bottom:0}.nav-section-label{text-transform:uppercase;letter-spacing:.6px;color:var(--gray-400);padding:16px 20px 4px;font-size:11px;font-weight:600}.nav-divider{border-top:1px solid var(--gray-200);margin:8px 16px}.admin-label{color:#7c3aed;letter-spacing:1px;padding-top:20px;font-size:10px}.admin-divider{opacity:.3;border-top:2px solid #7c3aed}.nav-list{margin:0;padding:0;list-style:none}.nav-item{margin:0}.sidebar-icon{flex-shrink:0;width:18px;height:18px}.nav-link{text-align:left;cursor:pointer;width:100%;color:var(--gray-500);background:0 0;border:none;border-radius:0;align-items:center;gap:12px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .15s;display:flex;position:relative}.nav-link:hover{color:var(--gray-700);background:#f8fafb}.nav-link.active{background:var(--color-info-light);color:var(--color-info);border-right:3px solid var(--color-info)}.nav-link.active:before{content:"";background:var(--color-info);border-radius:0 2px 2px 0;width:3px;height:20px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.nav-link:focus-visible,.admin-group-toggle:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.nav-link.sub-item{color:var(--gray-500);padding-top:7px;padding-bottom:7px;padding-left:44px;font-size:13px}.nav-link.sub-item:hover{color:#5b21b6;background:#f3f0ff}.nav-link.sub-item.active{color:#6d28d9;background:#ede9fe;border-right-color:#6d28d9}.nav-link.sub-item.active:before{background:#6d28d9}.nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar.collapsed .nav-label,.sidebar.collapsed .nav-section-label{display:none}.sidebar.collapsed .nav-link{justify-content:center;padding:12px}.admin-panel-section{margin-top:4px}.admin-groups{flex-direction:column;display:flex}.admin-group{border-left:2px solid #0000;transition:border-color .2s}.admin-group.has-active{border-left-color:#6d28d9}.admin-group-toggle{text-align:left;cursor:pointer;width:100%;color:var(--gray-500);background:0 0;border:none;align-items:center;gap:12px;padding:9px 20px;font-size:13px;font-weight:600;transition:all .15s;display:flex}.admin-group-toggle:hover{color:#5b21b6;background:#f5f3ff}.admin-group-toggle.active{color:#6d28d9}.group-arrow{align-items:center;margin-left:auto;transition:transform .2s;display:flex}.group-arrow svg{width:14px;height:14px}.group-arrow.expanded{transform:rotate(90deg)}.admin-sub-list{background:#faf8ff;border-top:1px solid #f0ecff;border-bottom:1px solid #f0ecff}.sidebar.collapsed .admin-group-toggle{justify-content:center;padding:12px}.sidebar.collapsed .admin-sub-list,.sidebar.collapsed .group-arrow,.sidebar.collapsed .admin-label{display:none}.sidebar.collapsed .nav-link.sub-item{padding-left:12px}.sidebar-footer{text-align:center;flex-shrink:0;margin-top:auto;padding:12px 20px}.sidebar-branding{color:var(--gray-300);letter-spacing:.3px;font-size:11px;text-decoration:none;transition:color .15s}.sidebar-branding:hover{color:var(--gray-400)}@media (width<=768px){.sidebar{transition:transform .3s;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.sidebar.collapsed{width:280px;transform:translate(-100%)}.sidebar.collapsed.mobile-open{transform:translate(0)}}.org-switcher{align-items:center;display:inline-flex;position:relative}.org-switcher__badge{color:var(--gray-700);background:var(--gray-100);border:1px solid var(--gray-200);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;max-width:220px;padding:5px 10px;font-size:.8125rem;font-weight:500;line-height:1.3;display:inline-flex;overflow:hidden}.org-switcher__badge--interactive{cursor:pointer;transition:background-color .15s,border-color .15s}.org-switcher__badge--interactive:hover{background:var(--gray-200);border-color:var(--gray-300)}.org-switcher__badge--interactive:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px;box-shadow:0 0 0 4px #667eea33}.org-switcher__badge--loading{opacity:.7;cursor:wait}.org-switcher__logo{object-fit:cover;border-radius:4px;flex-shrink:0;width:22px;height:22px}.org-switcher__initial{background:var(--brand-gradient);color:#fff;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.org-switcher__name{text-overflow:ellipsis;overflow:hidden}.org-switcher__chevron{flex-shrink:0;align-items:center;display:flex}.org-switcher__chevron svg{width:14px;height:14px;transition:transform .2s}.org-switcher__badge[aria-expanded=true] .org-switcher__chevron svg{transform:rotate(180deg)}.org-switcher__spinner{border:2px solid var(--gray-300);border-top-color:var(--brand);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.6s linear infinite org-switcher-spin}@keyframes org-switcher-spin{to{transform:rotate(360deg)}}.org-switcher__dropdown{background:var(--surface-primary);border:1px solid var(--gray-200);z-index:1100;border-radius:10px;min-width:260px;max-width:340px;margin:0;padding:4px 0;list-style:none;animation:.15s org-switcher-fadeIn;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000001f}@keyframes org-switcher-fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.org-switcher__item{cursor:pointer;outline:none;justify-content:space-between;align-items:center;gap:10px;padding:8px 14px;transition:background-color .12s;display:flex}.org-switcher__item:hover{background:var(--gray-100)}.org-switcher__item:focus-visible{box-shadow:inset 2px 0 0 var(--brand);background:#eef2ff}.org-switcher__item--current{background:var(--gray-50);cursor:default}.org-switcher__item--current:hover{background:var(--gray-100)}.org-switcher__item-leading{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.org-switcher__item-text{flex-direction:column;gap:2px;min-width:0;display:flex}.org-switcher__item-name{color:var(--gray-800);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;font-weight:500;overflow:hidden}.org-switcher__item-primary{color:var(--brand);text-transform:uppercase;letter-spacing:.03em;font-size:.6875rem;font-weight:600}.org-switcher__check{color:var(--brand);flex-shrink:0;align-items:center;display:flex}.org-switcher__check svg{width:16px;height:16px}@media (width<=768px){.org-switcher__badge{max-width:160px;padding:4px 8px;font-size:.75rem}.org-switcher__dropdown{min-width:220px;left:auto;right:0}}.org-switcher--sidebar{width:100%;display:flex}.org-switcher--sidebar .org-switcher__badge{width:100%;max-width:none;color:var(--gray-700);background:0 0;border:none;border-radius:8px;gap:10px;padding:8px 10px;font-size:.8125rem;font-weight:500;line-height:1.3}.org-switcher--sidebar .org-switcher__badge--interactive:hover{background:var(--gray-100);border-color:#0000}.org-switcher--sidebar .org-switcher__initial{border-radius:6px;width:24px;height:24px;font-size:11px}.org-switcher--sidebar .org-switcher__logo{border-radius:6px;width:24px;height:24px}.org-switcher--sidebar .org-switcher__name{color:var(--gray-800);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:.8125rem;font-weight:600;overflow:hidden}.org-switcher--sidebar .org-switcher__chevron{color:var(--gray-400)}.org-switcher--sidebar .org-switcher__dropdown{min-width:auto;max-width:none;left:0;right:0}.notification-bell-container{display:inline-block;position:relative}.notification-bell-btn{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:8px;padding:6px;font-size:1.3rem;line-height:1;transition:background .15s;position:relative}.notification-bell-btn:hover{background:#0000000f}.notification-badge{color:#fff;background:#ef4444;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:0;right:-2px}.notification-dropdown{z-index:1000;background:#fff;border-radius:12px;flex-direction:column;width:360px;max-height:420px;margin-top:8px;display:flex;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 8px 30px #00000026}.dropdown-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 16px;font-size:.95rem;display:flex}.unread-label{color:#fff;background:#667eea;border-radius:10px;padding:2px 8px;font-size:.75rem;font-weight:600}.dropdown-body{flex:1;max-height:320px;overflow-y:auto}.dropdown-loading,.dropdown-empty{text-align:center;color:#9ca3af;padding:32px 16px;font-size:.9rem}.notification-item{cursor:pointer;border-bottom:1px solid #f9fafb;padding:12px 16px;transition:background .15s}.notification-item:hover{background:#f9fafb}.notification-item.unread{background:#f0f4ff;border-left:3px solid #667eea}.notification-item.unread:hover{background:#e8edff}.notif-title{color:#1f2937;margin-bottom:2px;font-size:.88rem;font-weight:600}.notif-body{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;overflow:hidden}.notif-meta{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.notif-time{color:#9ca3af;font-size:.72rem}.notif-unread-dot{background:#667eea;border-radius:50%;width:8px;height:8px}.dropdown-footer{text-align:center;border-top:1px solid #f3f4f6;padding:10px 16px}.view-all-btn{color:#667eea;cursor:pointer;background:0 0;border:none;font-size:.85rem;font-weight:600}.view-all-btn:hover{text-decoration:underline}.admin-content{--control-height:38px;--control-padding-y:.5rem;--control-padding-x:.75rem;--control-font-size:.875rem;--control-line-height:1.25;--control-border-radius:var(--radius-md);--control-border-color:#cbd5e0}.admin-content input[type=text],.admin-content input[type=search],.admin-content input[type=number],.admin-content input[type=date],.admin-content input[type=datetime-local],.admin-content input[type=email],.admin-content input[type=url],.admin-content input[type=tel],.admin-content input[type=password],.admin-content select{height:var(--control-height);padding:var(--control-padding-y) var(--control-padding-x);font-size:var(--control-font-size);line-height:var(--control-line-height);border:1px solid var(--control-border-color);border-radius:var(--control-border-radius);background-color:var(--surface-primary);color:var(--gray-800);box-sizing:border-box;font-family:inherit;transition:border-color .15s}.admin-content input[type=text]:focus,.admin-content input[type=search]:focus,.admin-content input[type=number]:focus,.admin-content input[type=date]:focus,.admin-content input[type=datetime-local]:focus,.admin-content input[type=email]:focus,.admin-content input[type=url]:focus,.admin-content input[type=tel]:focus,.admin-content input[type=password]:focus,.admin-content select:focus{border-color:var(--color-focus);outline:none;box-shadow:0 0 0 2px #4f46e526}.admin-content .btn-inline,.admin-content .btn-generate,.admin-content .btn-apply,.admin-content .filter-bar button,.admin-content .plan-config>button,.admin-content .generate-controls>button,.admin-content .report-filters button,.admin-content .comparison-filters button,.admin-content .budget-trends-controls button{height:var(--control-height);padding:var(--control-padding-y) 1.25rem;font-size:var(--control-font-size);line-height:var(--control-line-height);border-radius:var(--control-border-radius);box-sizing:border-box;white-space:nowrap;font-family:inherit}.admin-content textarea{font-size:var(--control-font-size);padding:var(--control-padding-y) var(--control-padding-x);border:1px solid var(--control-border-color);border-radius:var(--control-border-radius);box-sizing:border-box;font-family:inherit}.admin-layout{background:#f8fafb;height:100vh;display:flex;overflow:hidden}.admin-main-content{flex-direction:column;flex:1;height:100vh;margin-left:280px;transition:margin-left .3s;display:flex;overflow:hidden}.admin-main-content.sidebar-collapsed{margin-left:80px}.admin-header{border-bottom:1px solid var(--gray-200);box-sizing:border-box;z-index:10;background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;height:73px;padding:0 20px;display:flex;position:relative;overflow:visible}.header-title{flex-direction:column;gap:2px;display:flex}.header-title h1{color:var(--gray-800);margin:0;font-size:20px;font-weight:600;line-height:1.3}.header-title p{color:var(--gray-500);margin:0;font-size:13px}.header-actions{flex-direction:row;align-items:center;gap:12px;display:flex;overflow:visible}.welcome-text{color:var(--gray-800);font-size:14px;font-weight:500}.header-user-menu{position:relative}.header-user-avatar{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:700;transition:box-shadow .15s;display:flex}.header-user-avatar:hover{box-shadow:0 0 0 3px #667eea40}.header-user-dropdown{border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);z-index:100;background:#fff;border-radius:10px;min-width:200px;padding:6px 0;position:absolute;top:calc(100% + 8px);right:0}.header-user-dropdown-info{flex-direction:column;gap:2px;padding:10px 14px;display:flex}.header-user-dropdown-name{color:var(--gray-900);font-size:14px;font-weight:600}.header-user-dropdown-role{color:var(--gray-500);text-transform:capitalize;font-size:12px}.header-user-dropdown-divider{background:var(--gray-200);height:1px;margin:4px 0}.header-user-dropdown-item{text-align:left;cursor:pointer;width:100%;color:var(--gray-700);background:0 0;border:none;padding:8px 14px;font-size:13px;transition:background .1s;display:block}.header-user-dropdown-item:hover{background:var(--gray-100)}.header-user-dropdown-item:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px;background:#eef2ff}.header-user-dropdown-logout{color:var(--color-danger)}.header-user-dropdown-logout:hover{background:var(--color-danger-light)}.header-user-dropdown-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--gray-400);padding:6px 14px 4px;font-size:11px;font-weight:600}.header-user-dropdown-org{align-items:center;gap:8px;display:flex}.header-user-dropdown-org-initial{background:var(--brand-gradient);color:#fff;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.header-user-dropdown-org-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.header-user-dropdown-org-check{width:14px;height:14px;color:var(--brand);flex-shrink:0}.header-user-dropdown-org--active{color:var(--gray-800);cursor:default;font-weight:600}.header-user-dropdown-org--active:hover{background:var(--gray-50)}.admin-content{background:#f8fafb;flex:1;padding:16px 20px;overflow:hidden auto}.error-banner{background:var(--color-danger-light);color:var(--color-danger);border:1px solid #fecaca;border-radius:8px;margin-bottom:20px;padding:15px}.mobile-nav-toggle{cursor:pointer;color:var(--gray-700);border-radius:var(--radius-md);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;padding:8px;display:none}.mobile-nav-toggle svg{width:22px;height:22px}.sidebar-scrim{display:none}@media (width<=768px){.admin-main-content,.admin-main-content.sidebar-collapsed{margin-left:0}.admin-header,.admin-content{padding:12px 16px}.mobile-nav-toggle{display:inline-flex}.sidebar-scrim{z-index:999;background:#00000080;animation:.2s ease-out sidebar-scrim-fade-in;display:block;position:fixed;inset:0}}@keyframes sidebar-scrim-fade-in{0%{opacity:0}to{opacity:1}}th.amount-col,td.amount-col{font-variant-numeric:tabular-nums;text-align:right!important}.money-input{align-items:center;gap:.35rem;display:flex}.money-input input{flex:1;min-width:0}.money-input .currency-adornment{color:var(--gray-500);white-space:nowrap;font-size:.85rem;font-weight:600}.admin-dashboard{flex-direction:column;gap:1rem;padding:.25rem 0;display:flex}.admin-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.admin-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.admin-dash-kpi-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.admin-dash-kpi-card--skeleton{flex-direction:column;justify-content:center;align-items:center;min-height:110px;display:flex}.admin-dash-columns{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.admin-dash-activity-list,.admin-dash-pending-list{margin:0;padding:0;list-style:none}.admin-dash-pending-item{border-bottom:1px solid var(--border-color,#f1f5f9);color:var(--text-primary,#1a202c);padding:.375rem 0;font-size:.8125rem}.admin-dash-pending-item:last-child{border-bottom:none}.admin-dash-team-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.admin-dash-team-card{background:var(--bg-secondary,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:8px;padding:.75rem;transition:box-shadow .15s}.admin-dash-team-card:hover{box-shadow:0 2px 8px #0000000f}.admin-dash-team-card--skeleton{flex-direction:column;gap:.375rem;min-height:80px;display:flex}.admin-dash-team-name{color:var(--text-primary,#1a202c);margin:0 0 .5rem;font-size:.9375rem}.admin-dash-team-stats{color:var(--text-secondary,#64748b);flex-direction:column;gap:.25rem;font-size:.8125rem;display:flex}.admin-dash-team-stats span{align-items:center;gap:.375rem;display:flex}.admin-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.admin-dash-quick-action{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--primary-color,#3b82f6);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8125rem;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.admin-dash-quick-action:hover{background:var(--primary-color,#3b82f6);color:#fff;box-shadow:0 2px 6px #3b82f64d}@media (width<=768px){.admin-dash-kpi-row{grid-template-columns:repeat(2,1fr)}.admin-dash-columns,.admin-dash-team-grid{grid-template-columns:1fr}.admin-dash-quick-actions-row{flex-direction:column}.admin-dash-quick-action{justify-content:center;width:100%}}@media (width<=480px){.admin-dash-kpi-row{grid-template-columns:1fr}}.coach-dashboard{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.coach-dash-loading,.coach-dash-empty-state{text-align:center;color:var(--text-secondary,#64748b);flex-direction:column;justify-content:center;align-items:center;padding:3rem 1rem;display:flex}.coach-dash-empty-state h3{color:var(--text-primary,#1a202c);margin:.75rem 0 .25rem}.coach-dash-empty-state p{margin:0}.coach-dash-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.coach-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.coach-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.coach-dash-team-selector{align-items:center;gap:.5rem;display:flex}.coach-dash-team-selector label{color:var(--text-secondary,#64748b);white-space:nowrap;font-size:.8125rem;font-weight:600}.coach-dash-team-selector select{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);border-radius:8px;padding:.375rem .75rem;font-size:.875rem}.coach-dash-team-header{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);border-radius:12px;padding:1.25rem;box-shadow:0 1px 3px #0000000a}.coach-dash-team-name{color:var(--text-primary,#1a202c);margin:0 0 .5rem;font-size:1.125rem}.coach-dash-team-meta{color:var(--text-secondary,#64748b);flex-wrap:wrap;gap:1.25rem;font-size:.8125rem;display:flex}.coach-dash-team-meta span{align-items:center;gap:.3rem;display:inline-flex}.coach-dash-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.coach-dash-session-list{flex-direction:column;gap:.625rem;margin:0;padding:0;list-style:none;display:flex}.coach-dash-session-item{align-items:flex-start;gap:.625rem;display:flex}.coach-dash-session-badge{text-transform:uppercase;border-radius:6px;flex-shrink:0;padding:.2rem .5rem;font-size:.6875rem;font-weight:600}.coach-dash-session-badge.type-0{color:#2563eb;background:#dbeafe}.coach-dash-session-badge.type-1{color:#16a34a;background:#dcfce7}.coach-dash-session-info strong{color:var(--text-primary,#1a202c);font-size:.875rem;display:block}.coach-dash-session-datetime{color:var(--text-secondary,#64748b);font-size:.75rem}.coach-dash-att-bars{flex-direction:column;gap:.5rem;display:flex}.coach-dash-att-bar-row{align-items:center;gap:.5rem;display:flex}.coach-dash-att-bar-label{color:var(--text-secondary,#64748b);text-align:right;flex:0 0 4rem;font-size:.75rem}.coach-dash-att-bar-track{background:var(--border-color,#e2e8f0);border-radius:4px;flex:1;height:.5rem;overflow:hidden}.coach-dash-att-bar-fill{background:#16a34a;border-radius:4px;height:100%;transition:width .3s}.coach-dash-att-bar-pct{color:var(--text-primary,#1a202c);text-align:right;flex:0 0 2.5rem;font-size:.75rem;font-weight:600}.coach-dash-message-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.coach-dash-message-item{border-bottom:1px solid var(--border-color,#f1f5f9);padding-bottom:.625rem}.coach-dash-message-item:last-child{border-bottom:none;padding-bottom:0}.coach-dash-message-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.coach-dash-message-sender{color:var(--text-primary,#1a202c);font-size:.8125rem;font-weight:600}.coach-dash-message-time{color:var(--text-secondary,#64748b);font-size:.6875rem}.coach-dash-message-preview{color:var(--text-secondary,#64748b);margin:0;font-size:.8125rem;line-height:1.4}.coach-dash-roster-list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.coach-dash-roster-row{align-items:center;gap:.5rem;display:flex}.coach-dash-indicator{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.coach-dash-indicator--green{background:#16a34a}.coach-dash-indicator--yellow{background:#eab308}.coach-dash-indicator--red{background:#dc2626}.coach-dash-roster-name{color:var(--text-primary,#1a202c);font-size:.8125rem}.coach-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.coach-dash-quick-action{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.8125rem;font-weight:500;transition:background .15s,box-shadow .15s;display:inline-flex}.coach-dash-quick-action:hover{background:var(--hover-bg,#f8fafc);box-shadow:0 2px 8px #0000000f}@media (width<=768px){.coach-dash-header{flex-direction:column}.coach-dash-grid{grid-template-columns:1fr}.coach-dash-quick-actions-row{flex-direction:column}.coach-dash-quick-action{justify-content:center;width:100%}}.guardian-home-loading{padding:2rem 0}.guardian-home-error{text-align:center;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:3rem 2rem}.guardian-home-error p{color:#991b1b;margin:.75rem 0 1rem}.guardian-home-retry-btn{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:6px;padding:.5rem 1.5rem;font-size:.875rem}.guardian-home-retry-btn:hover{background:#dc2626}.guardian-home-no-children{text-align:center;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;padding:3rem 2rem}.guardian-home-no-children-icon{margin-bottom:1rem;font-size:3rem;display:block}.guardian-home-no-children h3{color:#374151;margin:0 0 .5rem}.guardian-home-no-children p{color:#6b7280;max-width:480px;margin:0 auto}.guardian-home-header{margin-bottom:1.5rem}.guardian-home-header h2{color:#1a1a2e;margin:0 0 .25rem;font-size:1.5rem;font-weight:600}.guardian-home-subtitle{color:#6b7280;margin:0;font-size:.875rem}.guardian-home-children-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;display:grid}.guardian-home-children-grid--single{grid-template-columns:1fr;max-width:420px}.guardian-home-child-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:1.25rem;transition:box-shadow .2s}.guardian-home-child-card:hover{box-shadow:0 4px 12px #00000014}.guardian-home-child-header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.guardian-home-child-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.8125rem;font-weight:600;display:flex}.guardian-home-child-info{flex:1;min-width:0}.guardian-home-child-name{color:#1a1a2e;margin:0;font-size:1rem;font-weight:600}.guardian-home-child-team{color:#6b7280;font-size:.8125rem;display:block}.guardian-home-child-relationship{color:#9ca3af;font-size:.75rem;display:block}.guardian-home-child-next{border-top:1px solid #f3f4f6;padding-top:.75rem}.guardian-home-next-session{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.guardian-home-session-badge,.guardian-home-cal-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.guardian-home-session-badge.type-0,.guardian-home-cal-badge.type-0{color:#1e40af;background:#dbeafe}.guardian-home-session-badge.type-1,.guardian-home-cal-badge.type-1{color:#92400e;background:#fef3c7}.guardian-home-session-datetime,.guardian-home-cal-datetime{color:#6b7280;font-size:.8125rem}.guardian-home-no-session{color:#9ca3af;font-size:.8125rem;font-style:italic}.guardian-home-grid{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.guardian-home-calendar{grid-column:1/-1}.guardian-home-cal-list{flex-direction:column;gap:.5rem;display:flex}.guardian-home-cal-event{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:flex-start;gap:.75rem;padding:.75rem;display:flex}.guardian-home-cal-info{flex-direction:column;gap:.125rem;display:flex}.guardian-home-cal-info strong{color:#1a1a2e;font-size:.875rem}.guardian-home-cal-child{color:#8b5cf6;font-size:.75rem;font-weight:500}.guardian-home-msg-list{flex-direction:column;gap:.5rem;display:flex}.guardian-home-msg-row{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.75rem}.guardian-home-msg-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.guardian-home-msg-sender{color:#374151;font-size:.8125rem;font-weight:600}.guardian-home-msg-team{color:#7c3aed;background:#f3e8ff;border-radius:999px;padding:.0625rem .375rem;font-size:.6875rem}.guardian-home-msg-time{color:#9ca3af;margin-left:auto;font-size:.75rem}.guardian-home-msg-preview{color:#6b7280;margin:0;font-size:.8125rem;line-height:1.4}.guardian-home-payment-list{flex-direction:column;gap:.5rem;display:flex}.guardian-home-payment-row{background:#fffbeb;border:1px solid #fde68a;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.guardian-home-payment-info{flex-direction:column;display:flex}.guardian-home-payment-desc{color:#92400e;font-size:.875rem;font-weight:500}.guardian-home-payment-child{color:#b45309;font-size:.75rem}.guardian-home-payment-amount{color:#92400e;font-size:1rem;font-weight:700}.guardian-home-actions{flex-wrap:wrap;gap:.75rem;display:flex}.guardian-home-action-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.875rem;transition:all .15s;display:inline-flex}.guardian-home-action-btn:hover{background:#f3f4f6;border-color:#9ca3af}.guardian-home--single .guardian-home-grid{grid-template-columns:1fr}@media (width<=768px){.guardian-home{padding:1rem}.guardian-home-grid,.guardian-home-children-grid{grid-template-columns:1fr}.guardian-home-actions{flex-direction:column}.guardian-home-action-btn{justify-content:center;width:100%}}.staff-dashboard{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.staff-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.staff-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.staff-dash-kpi-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.staff-dash-kpi-card--skeleton{flex-direction:column;align-items:center;padding:1.25rem;display:flex}.staff-dash-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.staff-dash-game-list{margin:0;padding:0;list-style:none}.staff-dash-game-row{border-bottom:1px solid var(--border-color,#f1f5f9);justify-content:space-between;align-items:center;padding:.625rem 0;display:flex}.staff-dash-game-row:last-child{border-bottom:none}.staff-dash-game-info{flex-direction:column;gap:.125rem;display:flex}.staff-dash-game-title{color:var(--text-primary,#1a202c);font-size:.9375rem;font-weight:500}.staff-dash-game-date{color:var(--text-secondary,#64748b);font-size:.8125rem}.staff-dash-game-tickets{color:var(--text-secondary,#64748b);align-items:center;gap:.375rem;font-size:.8125rem;display:flex}.staff-dash-ticketing-stats{flex-direction:column;gap:1rem;display:flex}.staff-dash-ticketing-stat{border-bottom:1px solid var(--border-color,#f1f5f9);justify-content:space-between;align-items:center;padding:.75rem 0;display:flex}.staff-dash-ticketing-stat:last-child{border-bottom:none}.staff-dash-ticketing-stat-label{color:var(--text-secondary,#64748b);font-size:.9375rem}.staff-dash-ticketing-stat-value{color:var(--text-primary,#1a202c);font-size:1.25rem;font-weight:700}.staff-dash-member-list{margin:0;padding:0;list-style:none}.staff-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.staff-dash-quick-action{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,box-shadow .15s;display:inline-flex}.staff-dash-quick-action:hover{background-color:var(--hover-bg,#f8fafc);box-shadow:0 2px 8px #0000000f}@media (width<=1024px){.staff-dash-kpi-row{grid-template-columns:repeat(2,1fr)}.staff-dash-columns{grid-template-columns:1fr}}@media (width<=640px){.staff-dash-kpi-row{grid-template-columns:1fr}.staff-dash-welcome h2{font-size:1.25rem}.staff-dash-quick-actions-row{flex-direction:column}.staff-dash-quick-action{justify-content:center;width:100%}.staff-dash-game-row{flex-direction:column;align-items:flex-start;gap:.375rem}}.fmgr-dashboard{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.fmgr-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.fmgr-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.fmgr-dash-kpi-row{grid-template-columns:repeat(4,1fr);gap:1rem;display:grid}.fmgr-dash-kpi-card--skeleton{flex-direction:column;align-items:center;min-height:6rem;display:flex}.fmgr-dash-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.fmgr-dash-timeline-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.fmgr-dash-timeline-slot{border-bottom:1px solid var(--border-color,#f1f5f9);align-items:flex-start;gap:1rem;padding:.625rem 0;display:flex}.fmgr-dash-timeline-slot:last-child{border-bottom:none}.fmgr-dash-timeline-time{min-width:4.5rem;color:var(--text-primary,#1a202c);flex-direction:column;align-items:center;font-size:.8125rem;font-weight:600;display:flex}.fmgr-dash-timeline-sep{color:var(--text-secondary,#94a3b8);font-size:.75rem}.fmgr-dash-timeline-details{flex-direction:column;flex:1;gap:.125rem;display:flex}.fmgr-dash-timeline-court{color:var(--text-primary,#1a202c);font-size:.875rem;font-weight:600}.fmgr-dash-timeline-team{color:var(--text-secondary,#64748b);font-size:.8125rem}.fmgr-dash-timeline-type{text-transform:uppercase;border-radius:9999px;width:fit-content;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.fmgr-dash-timeline-type--practice{color:#2563eb;background:#dbeafe}.fmgr-dash-timeline-type--game{color:#16a34a;background:#dcfce7}.fmgr-dash-timeline-type--booking{color:#7c3aed;background:#f3e8ff}.fmgr-dash-timeline-type--event{color:#ea580c;background:#ffedd5}.fmgr-dash-util-list{flex-direction:column;gap:.75rem;display:flex}.fmgr-dash-util-row{align-items:center;gap:.75rem;display:flex}.fmgr-dash-util-court{min-width:6rem;color:var(--text-primary,#1a202c);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;font-weight:500;overflow:hidden}.fmgr-dash-util-track{background:var(--border-color,#e2e8f0);border-radius:4px;flex:1;height:.5rem;overflow:hidden}.fmgr-dash-util-fill{background:linear-gradient(90deg,#2563eb,#7c3aed);border-radius:4px;height:100%;transition:width .5s}.fmgr-dash-util-pct{text-align:right;min-width:2.5rem;color:var(--text-primary,#1a202c);font-size:.8125rem;font-weight:600}.fmgr-dash-reservation-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.fmgr-dash-reservation-row{border-bottom:1px solid var(--border-color,#f1f5f9);justify-content:space-between;align-items:center;padding:.625rem 0;display:flex}.fmgr-dash-reservation-row:last-child{border-bottom:none}.fmgr-dash-reservation-info{flex-direction:column;gap:.125rem;display:flex}.fmgr-dash-reservation-court{color:var(--text-primary,#1a202c);font-size:.875rem;font-weight:600}.fmgr-dash-reservation-date{color:var(--text-secondary,#64748b);font-size:.75rem}.fmgr-dash-reservation-meta{text-align:right;align-items:center;gap:.5rem;display:flex}.fmgr-dash-reservation-team{color:var(--text-secondary,#64748b);font-size:.8125rem}.fmgr-dash-reservation-status{text-transform:uppercase;border-radius:9999px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.fmgr-dash-reservation-status--confirmed{color:#16a34a;background:#dcfce7}.fmgr-dash-reservation-status--draft{color:#d97706;background:#fef3c7}.fmgr-dash-reservation-status--cancelled{color:#dc2626;background:#fee2e2}.fmgr-dash-reservation-status--locked{color:#475569;background:#e2e8f0}.fmgr-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.fmgr-dash-quick-action{border:1px solid var(--border-color,#e2e8f0);background:var(--card-bg,#fff);color:var(--text-primary,#1a202c);cursor:pointer;border-radius:8px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.fmgr-dash-quick-action:hover{background:var(--hover-bg,#f8fafc);border-color:var(--primary,#2563eb);color:var(--primary,#2563eb)}@media (width<=640px){.fmgr-dash-kpi-row{grid-template-columns:repeat(2,1fr)}.fmgr-dash-columns{grid-template-columns:1fr}.fmgr-dash-quick-actions-row{flex-direction:column}.fmgr-dash-quick-action{justify-content:center;width:100%}.fmgr-dash-util-court{min-width:4rem}.fmgr-dash-reservation-row{flex-direction:column;align-items:flex-start;gap:.25rem}.fmgr-dash-reservation-meta{text-align:left}}.cmem-dashboard{flex-direction:column;gap:1.5rem;padding:.5rem 0;display:flex}.cmem-dash-welcome h2{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:1.5rem}.cmem-dash-welcome-sub{color:var(--text-secondary,#64748b);margin:0;font-size:.9375rem}.cmem-dash-hero{color:#fff;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);border-radius:16px;padding:2rem;position:relative;overflow:hidden}.cmem-dash-hero-skeleton{flex-direction:column;gap:.5rem;display:flex}.cmem-dash-hero-badge{text-transform:uppercase;letter-spacing:.05em;background:#ffffff26;border-radius:20px;align-items:center;gap:.375rem;margin-bottom:.75rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.cmem-dash-hero-opponent{margin:0 0 .5rem;font-size:1.75rem;font-weight:700;line-height:1.2}.cmem-dash-hero-venue,.cmem-dash-hero-datetime{opacity:.9;align-items:center;gap:.375rem;margin:.25rem 0;font-size:.9375rem;display:flex}.cmem-dash-countdown{gap:1rem;margin:1.25rem 0;display:flex}.cmem-dash-countdown-unit{background:#ffffff1f;border-radius:10px;flex-direction:column;align-items:center;min-width:3.25rem;padding:.5rem .75rem;display:flex}.cmem-dash-countdown-value{font-size:1.5rem;font-weight:700;line-height:1}.cmem-dash-countdown-label{text-transform:uppercase;opacity:.75;margin-top:.125rem;font-size:.6875rem}.cmem-dash-countdown-expired{opacity:.8;font-size:.875rem;font-weight:600}.cmem-dash-hero-cta{color:#1e3a5f;cursor:pointer;background:#fff;border:none;border-radius:10px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;transition:background-color .15s,transform .1s;display:inline-flex}.cmem-dash-hero-cta:hover{background-color:#f0f4ff;transform:translateY(-1px)}.cmem-dash-hero-empty{opacity:.85;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:2rem 0;display:flex}.cmem-dash-hero-empty p{margin:0;font-size:1rem}.cmem-dash-columns{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.cmem-dash-news-list{margin:0;padding:0;list-style:none}.cmem-dash-news-item{border-bottom:1px solid var(--border-color,#f1f5f9);padding:.75rem 0}.cmem-dash-news-item:last-child{border-bottom:none}.cmem-dash-news-meta{margin-bottom:.25rem}.cmem-dash-news-date{color:var(--text-secondary,#94a3b8);font-size:.75rem}.cmem-dash-news-title{color:var(--text-primary,#1a202c);margin:0 0 .25rem;font-size:.9375rem}.cmem-dash-news-summary{color:var(--text-secondary,#64748b);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.8125rem;line-height:1.4;display:-webkit-box;overflow:hidden}.cmem-dash-tickets-list{flex-direction:column;gap:.75rem;display:flex}.cmem-dash-ticket-card{background:var(--card-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.cmem-dash-ticket-info{flex:1;min-width:0}.cmem-dash-ticket-event{color:var(--text-primary,#1a202c);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.9375rem;font-weight:600;overflow:hidden}.cmem-dash-ticket-detail{color:var(--text-secondary,#64748b);margin:.125rem 0 .375rem;font-size:.8125rem}.cmem-dash-ticket-status{text-transform:uppercase;border-radius:8px;padding:.125rem .5rem;font-size:.6875rem;font-weight:600;display:inline-block}.cmem-dash-ticket-status--active,.cmem-dash-ticket-status--valid{color:#16a34a;background:#dcfce7}.cmem-dash-ticket-status--used{color:#64748b;background:#e2e8f0}.cmem-dash-ticket-status--cancelled{color:#dc2626;background:#fee2e2}.cmem-dash-ticket-qr{flex-shrink:0}.cmem-dash-qr-img{object-fit:contain;border:1px solid var(--border-color,#e2e8f0);background:#fff;border-radius:6px;width:56px;height:56px}.cmem-dash-social-list{margin:0;padding:0;list-style:none}.cmem-dash-social-item{border-bottom:1px solid var(--border-color,#f1f5f9);justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.75rem 0;display:flex}.cmem-dash-social-item:last-child{border-bottom:none}.cmem-dash-social-content{flex:1;min-width:0}.cmem-dash-social-text{color:var(--text-primary,#1a202c);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .25rem;font-size:.875rem;display:-webkit-box;overflow:hidden}.cmem-dash-social-time{color:var(--text-secondary,#94a3b8);font-size:.75rem}.cmem-dash-social-platform{text-transform:capitalize;color:#334155;background:#e0e7ef;border-radius:8px;flex-shrink:0;padding:.125rem .5rem;font-size:.6875rem;font-weight:600}.cmem-dash-social-platform--facebook{color:#1d4ed8;background:#dbeafe}.cmem-dash-social-platform--instagram{color:#be185d;background:#fce7f3}.cmem-dash-social-platform--twitter{color:#0284c7;background:#e0f2fe}.cmem-dash-social-platform--youtube{color:#dc2626;background:#fee2e2}.cmem-dash-quick-actions-row{flex-wrap:wrap;gap:.75rem;display:flex}.cmem-dash-quick-action{background:var(--card-bg,#f8fafc);border:1px solid var(--border-color,#e2e8f0);color:var(--text-primary,#334155);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.625rem 1rem;font-size:.875rem;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.cmem-dash-quick-action:hover{background-color:var(--hover-bg,#eef2ff);border-color:#93c5fd}@media (width<=640px){.cmem-dash-columns{grid-template-columns:1fr}.cmem-dash-hero-opponent{font-size:1.375rem}.cmem-dash-countdown{gap:.5rem}.cmem-dash-countdown-unit{min-width:2.75rem;padding:.375rem .5rem}.cmem-dash-countdown-value{font-size:1.125rem}.cmem-dash-quick-actions-row{flex-direction:column}.cmem-dash-quick-action{justify-content:center;width:100%}}.role-dashboard-placeholder,.generic-welcome-card{justify-content:center;align-items:flex-start;min-height:300px;padding:2rem;display:flex}.role-dashboard-card{background:var(--card-bg,#fff);border:1px solid var(--border-color,#e2e8f0);text-align:center;border-radius:12px;width:100%;max-width:560px;padding:2.5rem;box-shadow:0 1px 3px #0000000f}.role-dashboard-card h2{color:var(--text-primary,#1a202c);margin:0 0 .75rem;font-size:1.5rem}.role-dashboard-subtitle{color:var(--text-secondary,#64748b);margin:0 0 1.5rem;font-size:1rem}.role-dashboard-badge{margin-bottom:1.5rem}.role-badge{background:var(--primary-color,#3b82f6);color:#fff;text-transform:capitalize;border-radius:9999px;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;display:inline-block}.role-dashboard-hint{color:var(--text-tertiary,#94a3b8);margin:0;font-size:.875rem;font-style:italic}.profile-summary{margin-top:1rem}.profile-summary p{color:var(--text-secondary,#64748b);margin:.25rem 0}.placeholder-content{text-align:center;background:var(--surface-primary);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;max-width:500px;min-height:400px;margin:0 auto;padding:40px 20px;display:flex;box-shadow:0 1px 3px #0000001a}.placeholder-icon{opacity:.6;margin-bottom:24px;font-size:64px}.placeholder-title{color:var(--gray-800);margin-bottom:16px;font-size:28px;font-weight:600}.placeholder-description{color:var(--gray-500);margin-bottom:24px;font-size:16px;line-height:1.5}.placeholder-note{color:var(--gray-400);background:var(--gray-50);border-left:4px solid var(--gray-200);border-radius:8px;max-width:100%;padding:12px 20px;font-size:14px}.forbidden-page{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.forbidden-content{text-align:center;max-width:480px}.forbidden-icon{color:#e74c3c;opacity:.85;margin-bottom:1.5rem}.forbidden-code{color:#e74c3c;margin:0 0 .25rem;font-size:4rem;font-weight:800;line-height:1}.forbidden-title{color:#2c3e50;margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.forbidden-message{color:#666;margin:0 0 .5rem;font-size:1rem;line-height:1.5}.forbidden-hint{color:#999;margin:0 0 1.5rem;font-size:.875rem}.forbidden-back-btn{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:transform .15s,box-shadow .15s;display:inline-flex}.forbidden-back-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.forbidden-back-btn:active{transform:translateY(0)}.not-found-page{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.not-found-content{text-align:center;max-width:480px}.not-found-icon{color:#64748b;opacity:.85;margin-bottom:1.5rem}.not-found-code{color:#64748b;margin:0 0 .25rem;font-size:4rem;font-weight:800;line-height:1}.not-found-title{color:#2c3e50;margin:0 0 .75rem;font-size:1.5rem;font-weight:600}.not-found-message{color:#666;margin:0 0 .5rem;font-size:1rem;line-height:1.5}.not-found-hint{color:#999;margin:0 0 1.5rem;font-size:.875rem}.not-found-back-btn{background:var(--brand-gradient);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:500;transition:transform .15s,box-shadow .15s;display:inline-flex}.not-found-back-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea59}.not-found-back-btn:active{transform:translateY(0)}.error-boundary{justify-content:center;align-items:center;display:flex}.error-boundary--page{background:var(--surface-primary,#fff);min-height:100vh;padding:var(--space-6)}.error-boundary--section{padding:var(--space-6) var(--space-4)}.error-boundary__card{text-align:center;max-width:440px;padding:var(--space-6);border:1px solid var(--gray-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);background:#fff;flex-direction:column;align-items:center;display:flex}.error-boundary__icon{width:40px;height:40px;color:var(--color-danger);margin-bottom:var(--space-3)}.error-boundary__icon svg{width:100%;height:100%;display:block}.error-boundary__title{margin:0 0 var(--space-2);color:var(--gray-900);font-size:1.125rem;font-weight:600}.error-boundary__message{margin:0 0 var(--space-5);color:var(--gray-600);font-size:.9rem;line-height:1.5}.error-boundary__actions{gap:var(--space-3);flex-wrap:wrap;justify-content:center;display:flex}.error-boundary__btn{height:38px;padding:0 var(--space-4);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500}.error-boundary__btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.error-boundary__btn--primary{background:var(--brand);border:1px solid var(--brand);color:#fff}.error-boundary__btn--primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.error-boundary__btn--secondary{border:1px solid var(--gray-300);color:var(--gray-700);background:#fff}.error-boundary__btn--secondary:hover{background:var(--gray-50)}.dashboard{background:#f8fafb;min-height:100vh}.dashboard-loading{background:var(--surface-primary,#fff);min-height:100vh;color:var(--gray-500,#6b7280);flex-direction:column;justify-content:center;align-items:center;display:flex}.loading-spinner{border:3px solid var(--gray-200,#e5e7eb);border-top:3px solid var(--brand,#667eea);border-radius:50%;width:40px;height:40px;margin-bottom:20px;animation:1s linear infinite spin}.dashboard-header{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);box-shadow:0 2px 10px #0000001a}.header-content{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:20px;display:flex}.dashboard-nav{border-top:1px solid #ffffff1a;gap:0;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.nav-btn{color:#fffc;cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;padding:15px 25px;font-size:14px;font-weight:500;transition:all .3s}.nav-btn:hover{color:#fff;background:#ffffff1a}.nav-btn.active{color:#fff;background:#ffffff26;border-bottom-color:#fff}.header-content h1{margin:0;font-size:2rem;font-weight:600}.user-info{align-items:center;gap:20px;font-size:1rem;display:flex}.logout-btn{color:#fff;cursor:pointer;background:#fff3;border:1px solid #ffffff4d;border-radius:6px;padding:8px 16px;font-size:14px;transition:all .3s}.logout-btn:hover{background:#ffffff4d;border-color:#ffffff80}.dashboard-main{max-width:1200px;margin:0 auto;padding:30px 20px}.error-banner{color:#c33;background:#fee;border:1px solid #fcc;border-radius:8px;margin-bottom:20px;padding:15px}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:20px;display:grid}.dashboard-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:25px;box-shadow:0 4px 6px #0000000d}.dashboard-card h3{color:#333;border-bottom:2px solid #f0f2f5;margin:0 0 20px;padding-bottom:10px;font-size:1.3rem;font-weight:600}.profile-info p,.auth-info p{color:#555;margin:8px 0}.profile-info strong,.auth-info strong{color:#333}.token-claims{background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;margin-top:10px;padding:15px;font-size:12px;overflow-x:auto}details summary{cursor:pointer;color:#667eea;margin-bottom:10px;font-size:14px}details summary:hover{color:#764ba2}.action-buttons{flex-direction:column;gap:12px;display:flex}.action-btn{cursor:pointer;color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:8px;padding:12px 20px;font-size:14px;font-weight:500;transition:all .3s}.action-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea4d}.action-btn.secondary{background:#6c757d}.action-btn.secondary:hover{background:#545b62;box-shadow:0 4px 12px #6c757d4d}.action-btn.primary{color:#fff;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%)}.action-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.admin-stats{border-left:4px solid #667eea}.admin-actions{flex-direction:column;gap:15px;display:flex}.admin-note{color:#666;margin:0;font-size:14px;font-style:italic}.access-denied{text-align:center;background:#fff;border:1px solid #e1e5e9;border-radius:12px;padding:40px;box-shadow:0 4px 6px #0000000d}.access-denied h3{color:#dc2626;margin:0 0 15px;font-size:24px}.access-denied p{color:#666;margin:0;font-size:16px}@media (width<=768px){.header-content{text-align:center;flex-direction:column;gap:15px}.user-info{flex-direction:column;gap:10px}.dashboard-nav{padding:0 20px;overflow-x:auto}.dashboard-grid{grid-template-columns:1fr}.dashboard-main{padding:20px}}.super-admin-setup{box-sizing:border-box;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:100vh;max-height:100vh;padding:16px;display:flex;overflow:auto}.setup-container{background:#fff;border-radius:12px;flex-direction:column;width:100%;max-width:720px;max-height:calc(100vh - 32px);padding:28px 32px;display:flex;overflow-y:auto;box-shadow:0 20px 40px #00000026}.setup-header{text-align:center;flex-shrink:0;margin-bottom:20px}.setup-header h1{color:#333;margin:0 0 6px;font-size:1.75rem;font-weight:600}.setup-header p{color:#666;margin:0;font-size:.95rem}.setup-content{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.setup-form{flex-direction:column;gap:0;display:flex}.form-group{margin-bottom:14px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-row .form-group{margin-bottom:14px}.form-group label{color:#333;margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.setup-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:6px;width:100%;margin-top:4px;padding:12px;font-size:15px;font-weight:600;transition:all .2s}.setup-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 16px #667eea4d}.setup-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:6px;margin-bottom:14px;padding:10px 12px;font-size:.875rem}.loading{text-align:center;color:#666;padding:40px;font-size:18px}.setup-info{background:linear-gradient(135deg,#fff9e6 0%,#fff3cd 100%);border:1px solid #ffc107;border-radius:8px;align-self:start;padding:18px;box-shadow:0 2px 8px #ffc10726}.setup-info h3{color:#856404;align-items:center;gap:6px;margin:0 0 12px;font-size:.95rem;display:flex}.setup-info ul{margin:0;padding-left:18px}.setup-info li{color:#664d03;margin-bottom:6px;font-size:.85rem;line-height:1.4}.setup-info li:last-child{margin-bottom:0}@media (width<=768px){.super-admin-setup{align-items:flex-start;padding:12px}.setup-container{max-height:none;padding:20px}.setup-content{grid-template-columns:1fr;gap:20px}.setup-header h1{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.setup-info{order:-1}}@media (width<=480px){.setup-container{padding:16px}.setup-header h1{font-size:1.35rem}.form-group input{padding:8px 10px}.setup-button{padding:10px}}.super-admin-login{background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-container{background:#fff;border-radius:12px;width:100%;max-width:400px;padding:40px;box-shadow:0 20px 40px #0003}.login-header{text-align:center;margin-bottom:30px}.login-header h1{color:#2c3e50;margin:0 0 10px;font-size:2.5rem;font-weight:600}.login-header p{color:#666;margin:0;font-size:1.1rem}.login-form,.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:5px;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:2px solid #e1e5e9;border-radius:6px;width:100%;padding:12px 15px;font-size:16px;transition:all .3s}.form-group input:focus{border-color:#2c3e50;outline:none;box-shadow:0 0 0 3px #2c3e501a}.form-group input:disabled{cursor:not-allowed;background-color:#f5f5f5}.login-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#2c3e50 0%,#34495e 100%);border:none;border-radius:6px;width:100%;padding:15px;font-size:16px;font-weight:600;transition:all .3s}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #2c3e504d}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.error-message{color:#c33;background-color:#fee;border:1px solid #fcc;border-radius:6px;margin-bottom:20px;padding:12px 15px}.login-footer{text-align:center}.login-footer p{color:#999;margin:0;font-size:.9rem}@media (width<=768px){.login-container{margin:20px;padding:20px}.login-header h1{font-size:2rem}}.tenant-modules-panel{background:#fff;border:1px solid #e1e4e8;border-radius:8px;margin-top:0;padding:18px 20px}.tmp-table-wrap{border:1px solid #eaecef;border-radius:6px;width:100%;overflow-x:auto}.tenant-modules-panel h4{margin:0 0 .25rem;font-size:1.05rem}.tmp-description{color:#586069;margin:0;font-size:.85rem}.tmp-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.tmp-actions{gap:.5rem;display:flex}.tmp-error{color:#842029;background:#ffeef0;border:1px solid #f5c2c7;border-radius:4px;margin:.5rem 0 .75rem;padding:.5rem .75rem;font-size:.875rem}.tmp-table{border-collapse:collapse;background:#fff;border-radius:4px;width:100%;overflow:hidden}.tmp-table th,.tmp-table td{text-align:left;vertical-align:top;border-bottom:1px solid #eaecef;padding:.6rem .75rem;font-size:.875rem}.tmp-table thead th{color:#24292e;background:#f6f8fa;font-weight:600}.tmp-row-dirty{background:#fffbea}.tmp-cell-module{min-width:180px}.tmp-module-name{font-weight:600}.tmp-module-key{color:#6a737d;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.tmp-module-desc{color:#586069;margin-top:.25rem;font-size:.8rem}.tmp-core-badge{color:#24292e;text-transform:uppercase;letter-spacing:.04em;background:#e1e4e8;border-radius:999px;margin-top:.35rem;padding:.1rem .4rem;font-size:.7rem;font-weight:600;display:inline-block}.tmp-toggle{cursor:pointer;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:.5rem;padding:.3rem .5rem;display:inline-flex}.tmp-toggle:focus-visible{outline-offset:2px;outline:2px solid #0366d6}.tmp-toggle:disabled{cursor:not-allowed;opacity:.6}.tmp-toggle-track{background:#d1d5da;border-radius:999px;width:36px;height:20px;transition:background .12s;display:inline-block;position:relative}.tmp-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.tmp-toggle-on .tmp-toggle-track{background:#2da44e}.tmp-toggle-on .tmp-toggle-thumb{left:18px}.tmp-toggle-label{font-size:.85rem}.tmp-notes{width:100%;min-width:140px;font:inherit;resize:vertical;border:1px solid #d1d5da;border-radius:4px;padding:.4rem .5rem}.tmp-notes:disabled{background:#f6f8fa}.tmp-cell-last-modified{color:#586069;min-width:140px;font-size:.8rem}.tmp-last-actor{color:#24292e;font-weight:500}.tmp-never-modified{color:#6a737d;font-style:italic}.tmp-col-actions{width:110px}.tmp-cell-actions{text-align:right}.tmp-save-row-button,.tmp-save-all-button{color:#fff;cursor:pointer;font:inherit;background:#0366d6;border:1px solid #0366d6;border-radius:4px;padding:.4rem .85rem;font-size:.85rem}.tmp-save-row-button:hover:not(:disabled),.tmp-save-all-button:hover:not(:disabled){background:#0256b3;border-color:#0256b3}.tmp-save-row-button:disabled,.tmp-save-all-button:disabled{cursor:not-allowed;background:#94d3a2;border-color:#94d3a2}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.recintos-section{flex-direction:column;gap:1rem;display:flex}.recintos-subnav{border-bottom:1px solid #e2e8f0;gap:.5rem;display:flex}.recintos-subnav-item{color:#64748b;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:.6rem 1rem;font-size:.95rem;font-weight:600}.recintos-subnav-item:hover{color:#334155}.recintos-subnav-item.active{color:#1e293b;border-bottom-color:#2563eb}.recintos-subnav-item:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.recintos-visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.recintos-section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.recintos-section-subtitle{color:#475569;margin:0}.recintos-muted{color:#94a3b8}.recintos-error,.recintos-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;align-items:center;gap:.4rem;padding:.6rem .8rem;display:flex}.recintos-error{color:#991b1b;background:#fee2e2;border-color:#fca5a5}.recintos-chip-icon{margin-right:.25rem}.recintos-status-pill,.recintos-age-chip{align-items:center;gap:.15rem;display:inline-flex}.recintos-club-tag{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;margin:0 .2rem;padding:.1rem .4rem;font-family:ui-monospace,monospace;font-size:.8rem;display:inline-block}.recintos-claim-list{flex-direction:column;gap:.8rem;margin:0;padding:0;list-style:none;display:flex}.recintos-claim-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.recintos-claim-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.recintos-claim-title h4{margin:0}.recintos-claim-locality{color:#64748b;font-size:.9rem}.recintos-claim-chips{flex-wrap:wrap;gap:.4rem;display:flex}.recintos-claim-body{flex-direction:column;gap:.4rem;margin-top:.6rem;display:flex}.recintos-claim-field{flex-direction:column;gap:.2rem;display:flex}.recintos-claim-label{color:#475569;font-size:.85rem}.recintos-competing{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.recintos-evidence{background:#f8fafc;border-radius:4px;padding:.3rem .5rem;font-size:.8rem}.recintos-resolve-panel{margin-top:.8rem}.recintos-fieldset{border:1px solid #e2e8f0;border-radius:6px;padding:.8rem}.recintos-fieldset legend{padding:0 .4rem;font-weight:600}.recintos-radio{align-items:center;gap:.4rem;margin:.3rem 0;display:flex}.recintos-field{flex-direction:column;gap:.25rem;margin:.4rem 0;display:flex}.recintos-field input,.recintos-field select,.recintos-field textarea{font:inherit;border:1px solid #cbd5e1;border-radius:6px;padding:.4rem .6rem}.recintos-field-error{color:#b91c1c;margin:.3rem 0;font-size:.85rem}.recintos-audit-notice{color:#475569;background:#f1f5f9;border-radius:6px;align-items:center;gap:.3rem;margin:.6rem 0;padding:.4rem .6rem;font-size:.85rem;display:flex}.recintos-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.recintos-tabs{gap:.4rem;margin:.6rem 0;display:flex}.recintos-tab{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .9rem;font-weight:600}.recintos-tab--active{color:#fff;background:#2563eb;border-color:#2563eb}.recintos-tab:focus-visible{outline-offset:2px;outline:2px solid #1e40af}.recintos-ms-layout{grid-template-columns:minmax(260px,1fr) 2fr;align-items:start;gap:1rem;display:grid}@media (width<=900px){.recintos-ms-layout{grid-template-columns:1fr}}.recintos-worklist,.recintos-ms-panel{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem}.recintos-worklist-search{flex-direction:column;gap:.4rem;margin:.6rem 0;display:flex}.recintos-worklist-list{flex-direction:column;gap:.4rem;max-height:420px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.recintos-worklist-row{border:1px solid #f1f5f9;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem;display:flex}.recintos-worklist-meta{flex-direction:column;gap:.1rem;display:flex}.recintos-worklist-name{font-weight:600}.recintos-worklist-locality{color:#64748b;font-size:.85rem}.recintos-worklist-actions{flex-direction:column;gap:.2rem;display:flex}.recintos-pick-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}@media (width<=700px){.recintos-pick-grid{grid-template-columns:1fr}}.recintos-selected{border:1px dashed #cbd5e1;border-radius:6px;flex-direction:column;gap:.2rem;padding:.6rem;display:flex}.recintos-selected-label{color:#475569;font-size:.8rem;font-weight:600}.recintos-selected-value{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.recintos-clear-btn{color:#2563eb;cursor:pointer;background:0 0;border:none;font-size:.85rem;text-decoration:underline}.recintos-clear-btn:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.recintos-preview{border-top:1px solid #e2e8f0;margin-top:.8rem;padding-top:.8rem}.recintos-nowrite{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;align-items:center;gap:.3rem;padding:.4rem .6rem;font-size:.85rem;display:flex}.recintos-diff{border-collapse:collapse;width:100%;margin:.5rem 0}.recintos-diff th,.recintos-diff td{text-align:left;vertical-align:top;border:1px solid #e2e8f0;padding:.4rem .6rem;font-size:.9rem}.recintos-diff thead th{background:#f8fafc}.recintos-diff-preserved td{background:#fffbeb}.recintos-preserved-flag{color:#92400e;align-items:center;gap:.3rem;margin-top:.3rem;font-size:.8rem;display:flex}.recintos-preserved-text{font-style:italic}.recintos-repoint-counts{flex-wrap:wrap;gap:.4rem;margin:.4rem 0;padding:0;list-style:none;display:flex}.recintos-confirm{align-items:center;gap:.5rem;margin:.6rem 0;font-weight:600;display:flex}.recintos-success{color:#065f46;background:#ecfdf5;border:1px solid #6ee7b7;border-radius:6px;flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.6rem;padding:.6rem .8rem;display:flex}.recintos-new-venue-id{background:#fff;border:1px solid #6ee7b7;border-radius:4px;padding:.1rem .4rem;font-family:ui-monospace,monospace}.recintos-backfill-tenant{margin-top:1rem}.recintos-backfill-tenant-title{color:#334155;margin:.4rem 0 .2rem;font-size:.95rem}.recintos-backfill-new{color:#065f46;align-items:center;gap:.2rem;font-size:.85rem;display:inline-flex}.recintos-backfill-confirm{border-top:1px solid #e2e8f0;margin-top:1rem;padding-top:.8rem}.recintos-backfill-confirm input{letter-spacing:.05em;font-family:ui-monospace,monospace}.recintos-migracao{flex-direction:column;gap:1.25rem;display:flex}.recintos-migracao-divider{border:0;border-top:1px dashed #cbd5e1;margin:.5rem 0}.recintos-reconcile{flex-direction:column;gap:.4rem;display:flex}.recintos-reconcile input{letter-spacing:.04em;font-family:ui-monospace,monospace}.recintos-reconcile-kpi{color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.6rem 0;padding:.6rem .9rem;display:flex}.recintos-reconcile-kpi-label{font-size:.9rem;font-weight:600}.recintos-reconcile-kpi-value{font-family:ui-monospace,monospace;font-size:1.3rem;font-weight:700}.recintos-diff-purge td{background:#fef2f2}.recintos-purge-flag{color:#991b1b;align-items:center;gap:.3rem;font-size:.8rem;display:flex}.recintos-purge-text{font-weight:600}.recintos-reconcile-reason{color:#64748b;margin-top:.2rem;font-size:.78rem;font-style:italic;display:block}.sa-shell{z-index:100;background:#f4f6f9;flex-direction:row;display:flex;position:fixed;inset:0;overflow:hidden}.sa-shell *,.sa-shell :before,.sa-shell :after{box-sizing:border-box}.sa-sidebar{color:#fff;background:linear-gradient(#2c3e50 0%,#1a252f 100%);flex-direction:column;flex:0 0 260px;width:260px;height:100%;display:flex;overflow-y:auto}.sa-sidebar-brand{border-bottom:1px solid #ffffff14;padding:22px 22px 18px}.sa-sidebar-logo{letter-spacing:2px;text-transform:uppercase;font-size:1.5rem;font-weight:800;line-height:1;display:block}.sa-sidebar-subtitle{text-transform:uppercase;letter-spacing:1.2px;opacity:.65;margin-top:6px;font-size:.7rem;display:block}.sa-sidebar-nav{flex-direction:column;flex:1;gap:4px;padding:14px 10px;display:flex}.sa-nav-item{color:#ffffffc7;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:11px 14px;font-size:.95rem;font-weight:500;transition:background .15s,color .15s;display:flex}.sa-nav-item:hover{color:#fff;background:#ffffff0f;border-color:#0000}.sa-nav-item.active{color:#fff;background:#ffffff24;box-shadow:inset 3px 0 #4ea1ff}.sa-nav-icon{text-align:center;width:20px;font-size:1.05rem}.sa-sidebar-footer{border-top:1px solid #ffffff14;flex-direction:column;gap:12px;padding:14px 16px 18px;display:flex}.sa-user{align-items:center;gap:10px;min-width:0;display:flex}.sa-user-avatar{background:#ffffff2e;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.sa-user-info{flex-direction:column;min-width:0;display:flex}.sa-user-name,.sa-user-username{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sa-user-name{font-size:.9rem;font-weight:600}.sa-user-username{opacity:.65;font-size:.75rem}.sa-logout-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #fff3;border-radius:4px;padding:8px 12px;font-size:.85rem;transition:background .15s}.sa-logout-btn:hover{background:#fff3;border-color:#ffffff4d}.sa-main{flex-direction:column;flex:1 1 0;min-width:0;height:100%;display:flex;overflow:hidden}.sa-page-header{background:#fff;border-bottom:1px solid #e1e5e9;flex:none;justify-content:space-between;align-items:center;gap:24px;width:100%;margin:0;padding:22px 32px;display:flex;box-shadow:0 1px 2px #0000000a}.sa-page-header-text{flex-direction:column;min-width:0;display:flex}.sa-page-title{color:#2c3e50;margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.sa-page-subtitle{color:#6c7a89;margin:4px 0 0;font-size:.9rem}.sa-page-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.sa-welcome{color:#6c7a89;white-space:nowrap;font-size:.85rem}.sa-loading{color:#666;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.sa-spinner{border:4px solid #e3e3e3;border-top-color:#2c3e50;border-radius:50%;width:40px;height:40px;margin-bottom:16px;animation:1s linear infinite sa-spin}@keyframes sa-spin{to{transform:rotate(360deg)}}.sa-error{color:#c33;background:#fee;border-bottom:1px solid #fcc;flex:none;justify-content:space-between;align-items:center;padding:12px 32px;display:flex}.sa-error-close{color:#c33;cursor:pointer;background:0 0;border:0;width:24px;height:24px;font-size:20px}.sa-content{flex:1 1 0;width:100%;padding:28px 32px;overflow-y:auto}.sa-stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:28px;display:grid}.sa-stat-card{text-align:center;background:#fff;border-radius:8px;padding:26px;box-shadow:0 1px 3px #0000000f}.sa-stat-number{color:#2c3e50;margin-bottom:8px;font-size:2.2rem;font-weight:700}.sa-stat-label{color:#6c7a89;text-transform:uppercase;letter-spacing:1px;font-size:.78rem}.sa-recent-tenants{background:#fff;border-radius:8px;padding:24px;box-shadow:0 1px 3px #0000000f}.sa-recent-tenants h3{color:#2c3e50;margin:0 0 16px;font-size:1.05rem}.sa-tenant-list{flex-direction:column;gap:12px;display:flex}.sa-tenant-card{background:#fff;border:1px solid #e1e5e9;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;transition:border-color .15s,box-shadow .15s;display:flex}.sa-tenant-card.clickable{cursor:pointer}.sa-tenant-card.clickable:hover{border-color:#4ea1ff;box-shadow:0 2px 8px #4ea1ff26}.sa-tenant-info h4{color:#2c3e50;margin:0 0 4px;font-size:.95rem}.sa-tenant-info p{color:#6c7a89;margin:0 0 8px;font-size:.85rem}.sa-tenant-meta{color:#9aa5b1;flex-wrap:wrap;gap:16px;font-size:.75rem;display:flex}.sa-tenant-status{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;flex-shrink:0;padding:4px 12px;font-size:.7rem;font-weight:600}.sa-tenant-status.active{color:#155724;background:#d4edda}.sa-tenant-status.inactive{color:#721c24;background:#f8d7da}.sa-section-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.sa-section-header h3{color:#2c3e50;margin:0;font-size:1.05rem}.sa-refresh-btn{color:#fff;cursor:pointer;background:#2c3e50;border:0;border-radius:4px;padding:8px 16px;font-size:.85rem;transition:background .15s}.sa-refresh-btn:hover{background:#34495e;border-color:#0000}.sa-tenants-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:18px;display:grid}.sa-tenants-grid .sa-tenant-card{flex-direction:column;align-items:stretch;padding:20px}.sa-tenant-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.sa-tenant-header h4{color:#2c3e50;margin:0;font-size:1rem}.sa-tenant-details p{color:#555;margin:6px 0;font-size:.85rem}.sa-tenant-details strong{color:#2c3e50}.sa-empty-state{text-align:center;color:#6c7a89;background:#fff;border:1px dashed #d6dde4;border-radius:8px;padding:40px}.sa-modal-overlay{z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.sa-modal{background:#fff;border-radius:10px;flex-direction:column;width:100%;max-width:980px;max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000040}.sa-modal-header{background:#fff;border-bottom:1px solid #e1e5e9;flex:none;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.sa-modal-header h3{color:#2c3e50;margin:0;font-size:1.1rem}.sa-modal-close{cursor:pointer;color:#999;background:0 0;border:0;padding:0 4px;font-size:24px;line-height:1}.sa-modal-close:hover{color:#333;border-color:#0000}.sa-modal-body{background:#f8fafc;flex:auto;padding:24px;overflow-y:auto}.sa-modal-section+.sa-modal-section{margin-top:20px}.sa-modal-section-title{color:#2c3e50;text-transform:uppercase;letter-spacing:1px;margin:0 0 12px;font-size:.85rem}.sa-detail-grid{background:#fff;border:1px solid #e1e5e9;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;padding:18px 20px;display:grid}.sa-detail-cell{flex-direction:column;gap:4px;min-width:0;display:flex}.sa-detail-cell-wide{grid-column:1/-1}.sa-detail-cell label{color:#6c7a89;text-transform:uppercase;letter-spacing:.6px;font-size:.7rem;font-weight:600}.sa-detail-cell span{color:#1f2d3d;word-break:break-word;overflow-wrap:anywhere;font-size:.92rem}.sa-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem!important}.sa-status-active{color:#155724;font-weight:600}.sa-status-inactive{color:#721c24;font-weight:600}@media (width<=640px){.sa-detail-grid{grid-template-columns:1fr}}@media (width<=768px){.sa-shell{flex-direction:column;overflow-y:auto}.sa-sidebar{flex:none;width:100%;height:auto;overflow:visible}.sa-sidebar-nav{flex-direction:row;padding:8px;overflow-x:auto}.sa-nav-item{flex-shrink:0}.sa-sidebar-footer{flex-direction:row;justify-content:space-between;align-items:center}.sa-main{height:auto;overflow:visible}.sa-page-header{flex-direction:column;align-items:flex-start;gap:8px;padding:16px 20px}.sa-content{padding:20px}.sa-stats-grid,.sa-tenants-grid{grid-template-columns:1fr}}.toast-stack{top:var(--space-4);right:var(--space-4);z-index:3000;gap:var(--space-2);width:360px;max-width:calc(100vw - 2 * var(--space-4));pointer-events:none;flex-direction:column;display:flex;position:fixed}body:has(.admin-header) .toast-stack{top:84px}.toast{align-items:flex-start;gap:var(--space-2);padding:var(--space-3) var(--space-3);border:1px solid var(--gray-200);border-left:3px solid var(--gray-400);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--gray-800);pointer-events:auto;background:#fff;font-size:.875rem;line-height:1.4;animation:.25s ease-out toast-in;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.toast{animation:none}}.toast--success{border-left-color:var(--color-success);background:var(--color-success-light)}.toast--success .toast__icon{color:var(--color-success)}.toast--error{border-left-color:var(--color-danger);background:var(--color-danger-light)}.toast--error .toast__icon{color:var(--color-danger)}.toast--info{border-left-color:var(--color-info);background:var(--color-info-light)}.toast--info .toast__icon{color:var(--color-info)}.toast__icon{flex-shrink:0;width:18px;height:18px;margin-top:1px}.toast__icon svg{width:100%;height:100%;display:block}.toast__message{white-space:pre-line;overflow-wrap:anywhere;flex:1}.toast__close{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--gray-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -2px 0 0;padding:0;display:flex}.toast__close:hover{color:var(--gray-800);background:#0000000f}.toast__close:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.toast__close svg{width:14px;height:14px}
