*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand:#247642;--brand-light:color-mix(in srgb, var(--brand) 80%, #fff);--brand-faint:color-mix(in srgb, var(--brand) 6%, transparent);--brand-subtle:color-mix(in srgb, var(--brand) 10%, transparent);--brand-border:color-mix(in srgb, var(--brand) 25%, transparent);--brand-dim:color-mix(in srgb, var(--brand) 30%, transparent);--brand-glow:color-mix(in srgb, var(--brand) 35%, transparent);--brand-focus:color-mix(in srgb, var(--brand) 40%, transparent);--brand-half:color-mix(in srgb, var(--brand) 50%, transparent);--accent:var(--brand);--accent2:var(--brand-light);--active-fg:var(--brand);--active-bg:var(--brand-subtle);--active-border:var(--brand-dim);--bg:#070e1c;--surface:#0c1829;--surface2:#122035;--surface3:#1a2e4a;--border:#ffffff14;--text:#e8f2ff;--muted:#6b84b0;--danger:#f43f5e;--danger-subtle:color-mix(in srgb, var(--danger) 8%, transparent);--danger-border:color-mix(in srgb, var(--danger) 30%, transparent);--success:#22c55e;--success-subtle:color-mix(in srgb, var(--success) 12%, transparent);--success-border:color-mix(in srgb, var(--success) 30%, transparent);--warning:#fbbf24;--warning-subtle:color-mix(in srgb, var(--warning) 12%, transparent);--warning-border:color-mix(in srgb, var(--warning) 30%, transparent);--font-display:"Space Grotesk", sans-serif;--font-body:"DM Sans", sans-serif;--nav-h:48px;--radius:12px}[data-brand=palakol]{--brand:#cc2828}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font-body)}body,#root{flex-direction:column;min-height:100vh;display:flex}.nav-tab,.nav-dropdown-item,.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{text-decoration:none}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger,.btn-icon{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn-primary,.btn-secondary,.btn-ghost,.btn-danger{font-family:var(--font-body);cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:inline-flex}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--surface3);border-radius:3px}.nav{z-index:100;height:var(--nav-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#090c16e6;justify-content:space-between;align-items:center;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-display);letter-spacing:.03em;color:var(--text);cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;font-size:22px;font-weight:800;text-decoration:none;display:flex}.nav-logo span{color:var(--accent)}.nav-logo-img{width:auto;height:28px;display:block}.app-wordmark{color:var(--text);letter-spacing:-.4px;flex:1;font-size:17px;font-weight:700}.app-wordmark em{color:var(--accent);font-style:normal}.nav-ball{background:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.nav-ball:after{content:"";border:2px solid #00000040;border-radius:50%;width:14px;height:14px}.nav-tabs{gap:4px;display:flex}.nav-right{align-items:center;gap:4px;display:flex}.nav-hamburger-wrap{display:none;position:relative}.nav.nav-compact .nav-tabs-desktop{display:none}.nav.nav-compact .nav-hamburger-wrap{display:block}.nav-hamburger{cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;gap:5px;padding:8px;transition:background .15s;display:flex}.nav-hamburger:hover{background:var(--surface2)}.ham-bar{background:var(--text);border-radius:2px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block}.ham-bar.open:first-child{transform:translateY(7px)rotate(45deg)}.ham-bar.open:nth-child(2){opacity:0}.ham-bar.open:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-dropdown{z-index:300;background:var(--surface);border:1px solid var(--border);border-radius:12px;min-width:160px;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 8px 32px #0006}.nav-dropdown-item{text-align:left;width:100%;font-family:var(--font-body);color:var(--text);cursor:pointer;border:none;border-bottom:1px solid var(--border);background:0 0;padding:10px 18px;font-size:15px;font-weight:500;transition:background .1s;display:block}.nav-dropdown-item:last-child{border-bottom:none}.nav-dropdown-item:hover{background:var(--surface2)}.nav-dropdown-item.active{color:var(--accent)}.nav-tab{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 18px;font-size:14px;font-weight:500;transition:color .15s,background .15s}.nav-tab:hover{color:var(--text);background:var(--surface2)}.nav-tab.active{color:var(--active-fg);background:var(--active-bg)}.nav-theme-toggle{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-left:4px;padding:8px;transition:color .15s,background .15s;display:flex}.nav-theme-toggle:hover{color:var(--text);background:var(--surface2)}.nav-theme-toggle svg{width:18px;height:18px;display:block}.nav-theme-toggle .theme-icon-sun{display:none}[data-theme=light] .nav-theme-toggle .theme-icon-sun{display:block}[data-theme=light] .nav-theme-toggle .theme-icon-moon{display:none}.page{padding-top:var(--nav-h);flex-direction:column;flex:1;display:flex}.hero{min-height:calc(100vh - var(--nav-h));text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:48px 24px 40px;display:flex;position:relative;overflow:hidden}.hero-bg{pointer-events:none;background:radial-gradient(ellipse 60% 50% at 50% 0%, var(--brand-subtle) 0%, transparent 70%), radial-gradient(ellipse 40% 30% at 80% 80%, #4f8ef70f 0%, transparent 60%);position:absolute;inset:0}.hero-eyebrow{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);align-items:center;gap:8px;margin-bottom:20px;font-size:13px;font-weight:700;display:flex}.hero-eyebrow:before,.hero-eyebrow:after{content:"";background:var(--accent);opacity:.4;flex:0 0 32px;height:1px}.hero-headline{font-family:var(--font-display);letter-spacing:-.01em;color:var(--text);margin-bottom:18px;font-size:clamp(40px,7vw,80px);font-weight:800;line-height:.92;position:relative}.hero-headline em{color:var(--accent);font-style:italic}.hero-sub{color:var(--muted);max-width:520px;margin-bottom:28px;font-size:18px;line-height:1.6}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent);padding:10px 20px;font-size:15px;font-weight:700}.btn-primary:hover{background:color-mix(in srgb, var(--brand) 82%, #000);border-color:color-mix(in srgb, var(--brand) 82%, #000)}.btn-primary:disabled{opacity:.35;cursor:not-allowed}.btn-secondary{background:var(--surface2);color:var(--text);border-color:var(--border);padding:10px 20px;font-size:15px;font-weight:500}.btn-secondary:hover{background:var(--surface3)}.btn-ghost{background:var(--surface);color:var(--muted);border-color:var(--border);padding:10px 20px;font-size:15px;font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--surface2);color:var(--text)}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}.btn-danger{color:var(--danger);border-color:var(--danger-border);background:0 0;padding:10px 20px;font-size:15px;font-weight:500}.btn-danger:hover{background:var(--danger-subtle);border-color:color-mix(in srgb, var(--danger) 50%, transparent)}.btn-danger-filled{background:var(--danger)!important;color:#fff!important;border-color:var(--danger)!important}.btn-danger-filled:hover{background:color-mix(in srgb, var(--danger) 82%, #000)!important;border-color:color-mix(in srgb, var(--danger) 82%, #000)!important}.btn-sm{padding:7px 14px!important;font-size:13px!important}.btn-icon-leading,.btn-icon-trailing{justify-content:center;align-items:center;display:inline-flex}.btn-icon-leading{margin-right:8px}.btn-icon-trailing{margin-left:8px}.btn-sm .btn-icon-leading{margin-right:6px}.btn-sm .btn-icon-trailing{margin-left:6px}.btn-spinner{vertical-align:-2px;border:2px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;margin-right:8px;animation:.7s linear infinite btnSpin;display:inline-block}@keyframes btnSpin{to{transform:rotate(360deg)}}.features-section{width:100%;max-width:1100px;margin:0 auto;padding:48px 24px}.section-label{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:16px;font-size:12px;font-weight:700}.section-title{font-family:var(--font-display);color:var(--text);margin-bottom:28px;font-size:clamp(26px,4vw,40px);font-weight:800;line-height:1.05}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.feature-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:22px;transition:border-color .2s,transform .2s}.feature-card:hover{border-color:#ffffff1f;transform:translateY(-2px)}.feature-icon{background:var(--surface2);border-radius:8px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:14px;font-size:20px;display:flex}.feature-title{font-family:var(--font-display);color:var(--text);margin-bottom:10px;font-size:22px;font-weight:700}.feature-desc{color:var(--muted);font-size:14px;line-height:1.65}.how-section{border-top:1px solid var(--border);width:100%;max-width:1100px;margin:0 auto;padding:48px 24px}.steps-row{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.step{padding:0 22px}.step-num{font-family:var(--font-display);color:var(--brand-half);margin-bottom:8px;font-size:48px;font-weight:800;line-height:1}.step-title{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:22px;font-weight:700}.step-desc{color:var(--muted);font-size:14px;line-height:1.6}.cta-section{background:linear-gradient(135deg, var(--brand-faint) 0%, transparent 100%);border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:center;padding:56px 24px}.cta-title{font-family:var(--font-display);color:var(--text);margin-bottom:16px;font-size:clamp(28px,4vw,46px);font-weight:800}.cta-title em{color:var(--accent);font-style:italic}.cta-sub{color:var(--muted);margin-bottom:36px;font-size:16px}.landing-footer{text-align:center;color:var(--muted);border-top:1px solid var(--border);padding:12px 24px;font-size:13px}.landing-footer a{color:var(--accent);text-decoration:none}.events-page{flex:1;width:100%;max-width:1100px;margin:0 auto;padding:36px 24px 56px}.events-header{margin-bottom:24px}.events-title{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:clamp(28px,5vw,48px);font-weight:800}.events-sub{color:var(--muted);font-size:15px}.search-input-wrap{align-items:center;display:flex;position:relative}.search-input-icon{color:var(--muted);pointer-events:none;width:14px;height:14px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;font:inherit;color:var(--text);outline:none;padding:7px 32px;font-size:14px;transition:border-color .15s}@media (max-width:640px){.search-input{font-size:16px}}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--muted)}.search-input-clear{background:var(--surface2);width:18px;height:18px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;transition:background .15s,color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.search-input-clear:hover{background:var(--border);color:var(--text)}.events-search{max-width:400px;margin-bottom:24px}.events-empty{color:var(--muted);padding:12px 0;font-size:14px}.events-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;display:grid}.event-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;transition:transform .15s,border-color .15s;display:flex;overflow:hidden}.event-card:hover{border-color:#ffffff1f;transform:translateY(-2px)}.event-card-top{justify-content:space-between;align-items:flex-start;padding:16px 18px 0;display:flex}.event-date-badge{background:var(--surface2);border:1px solid var(--border);text-align:center;border-radius:8px;flex-shrink:0;padding:6px 12px}.event-date-month{font-family:var(--font-display);letter-spacing:.1em;color:var(--muted);text-transform:uppercase;font-size:11px;font-weight:700}.event-date-day{font-family:var(--font-display);color:var(--text);font-size:28px;font-weight:800;line-height:1}.event-format-badge{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:var(--surface2);color:var(--muted);border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.event-card-body{flex-direction:column;flex:1;padding:12px 18px 18px;display:flex}.event-name{font-family:var(--font-display);color:var(--text);margin-bottom:6px;font-size:20px;font-weight:700;line-height:1.2}.event-location{color:var(--muted);align-items:center;gap:5px;margin-bottom:16px;font-size:13px;display:flex}.event-details{gap:16px;margin-bottom:20px;display:flex}.event-detail{color:var(--muted);font-size:12px}.event-detail strong{color:var(--text);font-size:13px;font-weight:600;display:block}.event-register{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;background:var(--surface2);color:var(--text);border:1px solid var(--border);cursor:pointer;text-align:center;border-radius:8px;width:100%;margin-top:auto;padding:10px;font-size:15px;font-weight:700;text-decoration:none;transition:background .15s,border-color .15s;display:block}.event-register:hover{background:var(--brand-faint);border-color:var(--brand-glow);color:var(--accent)}.app-page{max-width:1000px;margin:0 auto;padding:24px 24px 60px}.app-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.app-title{font-family:var(--font-display);color:var(--text);font-size:40px;font-weight:800}.tournament-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;padding:10px;transition:border-color .15s,transform .15s}.tournament-card:hover{border-color:var(--brand-glow);transform:translateY(-2px)}.tournament-card-name{font-family:var(--font-display);color:var(--text);font-size:22px;font-weight:700}.tournament-card-meta{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.tc-dot{background:var(--muted);border-radius:50%;width:6px;height:6px;margin-right:6px;display:inline-block}.empty-state{text-align:center;color:var(--muted);padding:80px 24px}.empty-state-icon{opacity:.4;margin-bottom:16px;font-size:48px}.empty-state-title{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:24px;font-weight:700}.empty-state-sub{font-size:14px}.detail-back{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;margin-bottom:24px;padding:0;font-size:14px;font-weight:500;transition:color .15s;display:flex}.detail-back:hover{color:var(--text)}.detail-title-row{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.detail-title{font-family:var(--font-display);color:var(--text);font-size:32px;font-weight:800}.sub-tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;padding-bottom:0;display:flex}.sub-tab{font-family:var(--font-body);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:9px 16px;font-size:14px;font-weight:700;transition:color .15s,border-color .15s}.sub-tab:hover{color:var(--text)}.sub-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.setup-page{flex-direction:column;gap:14px;display:flex}.setup-generate-row{flex-direction:column;align-items:flex-end;gap:10px;padding-bottom:16px;display:flex}.setup-save-row{justify-content:flex-end;gap:10px;padding-bottom:8px;display:flex}.setup-generate-actions{align-items:center;gap:10px;display:flex}.setup-generate-hint{color:var(--muted);text-align:right;font-size:13px}.wizard-step-content{flex-direction:column;gap:14px;display:flex}.wizard-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:20px}.wizard-card-title{font-family:var(--font-display);color:var(--text);letter-spacing:.06em;text-transform:uppercase;margin-bottom:4px;font-size:15px;font-weight:700}.wizard-card-sub{color:var(--muted);margin-bottom:16px;font-size:12px}.wizard-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.wizard-field-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.wizard-field-row>.wizard-field{margin-bottom:0}.wizard-info-row{grid-template-columns:2fr 1fr 1fr}.wizard-hint{color:var(--muted);margin-top:2px;font-size:11px}.wizard-required{color:var(--danger);margin-left:2px}.wizard-optional{color:var(--muted);margin-left:4px;font-size:11px;font-weight:400}.wizard-format-grid{grid-template-columns:1.6fr repeat(6,minmax(140px,1fr));gap:0 16px;margin-bottom:4px;display:grid}.wizard-format-grid>.wizard-field{min-width:0;margin-bottom:16px}.wizard-format-grid .form-label{white-space:nowrap}@media (max-width:1300px){.wizard-format-grid{grid-template-columns:repeat(4,minmax(140px,1fr));gap:0 24px}}.wizard-hint-inline{color:var(--accent);font-style:italic}.settings-locked-title{align-items:center;gap:8px;display:flex}.settings-locked-badge{letter-spacing:.08em;color:var(--muted);background:var(--surface2);border:1px solid var(--border);text-transform:uppercase;border-radius:4px;align-items:center;gap:4px;padding:2px 7px;font-size:10px;font-weight:600;display:inline-flex}.settings-cats-readonly{flex-direction:column;gap:12px;margin-top:4px;display:flex}.settings-cat-row{border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:8px;padding:12px 16px;display:flex}.settings-cat-header{align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.settings-cat-rr{color:var(--muted);font-size:11px;font-weight:400}.settings-cat-count{color:var(--muted);margin-left:auto;font-size:11px;font-weight:400}.settings-cat-teams{flex-wrap:wrap;gap:6px;display:flex}.settings-team-chip{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:20px;padding:2px 9px;font-size:11px}.settings-danger-zone{border-color:var(--danger-border)}.settings-danger-title{color:var(--danger)}.setup-grid{gap:14px;display:grid}.setup-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.setup-section-title{font-family:var(--font-display);color:var(--text);letter-spacing:.03em;text-transform:uppercase;margin-bottom:14px;font-size:15px;font-weight:700}.form-row{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.form-label{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:600}.form-input{font-family:var(--font-body);background:var(--surface2);border:1px solid var(--border);color:var(--text);box-sizing:border-box;appearance:none;border-radius:8px;outline:none;width:100%;padding:5px 10px;font-size:16px;transition:border-color .15s}.form-input:focus{border-color:var(--brand-focus)}.form-input::placeholder{color:var(--muted)}input[type=date].form-input,input[type=time].form-input,input[type=datetime-local].form-input{appearance:none;text-align:left;-webkit-text-align:left;width:100%;min-width:0;line-height:normal}.form-date-wrap{display:block;position:relative}.form-date-wrap:after{content:attr(data-ph);color:var(--muted);font-size:16px;font-family:var(--font-body);pointer-events:none;white-space:nowrap;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.form-date-wrap:focus-within:after,.form-date-wrap[data-filled]:after{display:none}.form-date-wrap:not(:focus-within):not([data-filled]) input{color:#0000}.form-textarea{font-family:var(--font-body);resize:vertical;min-height:100px;font-size:16px}.categories-list{flex-direction:column;gap:8px;display:flex}.category-item{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;padding:10px 12px;display:flex;position:relative}.category-order-grip{color:var(--muted);flex-direction:column;flex-shrink:0;gap:1px;display:flex}.category-order-grip .btn-icon{padding:2px}.category-order-grip .btn-icon:hover{color:var(--accent);background:var(--accent-subtle,#6366f11a)}.category-order-grip .btn-icon:disabled{opacity:.2;cursor:default;color:var(--muted);background:0 0}.cat-row-name{flex-direction:column;gap:4px;display:flex}.cat-row-name-label{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:700}.cat-row-name input{width:200px;padding:7px 12px;font-size:14px;font-weight:600}.cat-row-players{flex:280px;align-items:center;gap:12px;min-width:0;display:flex}.cat-row-empty{color:var(--muted);padding:6px 0;font-size:13px;font-style:italic}.cat-row-summary{min-width:0;line-height:1.25}.cat-row-summary-names{color:var(--text);white-space:nowrap;text-overflow:ellipsis;max-width:280px;font-size:13px;font-weight:600;overflow:hidden}.cat-row-summary-caption{color:var(--muted);margin-top:1px;font-size:11px}.cat-row-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.cat-row-actions .btn-secondary{white-space:nowrap}.category-delete-btn{color:var(--danger)}.category-order-btns{flex-direction:column;gap:1px;display:flex}.category-order-btns .btn-icon{padding:2px}.category-order-btns .btn-icon:hover{color:var(--accent);background:var(--accent-subtle,#6366f11a)}.category-order-btns .btn-icon:disabled{opacity:.2;cursor:default;color:var(--muted);background:0 0}.category-team-count{align-self:flex-end;margin-top:8px}.category-name-input-full{font-family:var(--font-body);width:100%;font-size:16px;font-weight:500}.cat-summary-bar{background:var(--surface2);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:16px;margin-top:14px;padding:10px 14px;display:flex}.cat-summary-label{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.cat-summary-text{color:var(--text);font-size:14px}.cat-summary-warn{color:var(--warning,#f59e0b);margin-left:auto;font-size:12px;font-style:italic}.cm-modal-paste-textarea{font-family:var(--font-body);resize:vertical;min-height:200px;font-size:14px}@media (max-width:680px){.category-item{gap:10px}.cat-row-name{flex:auto}.cat-row-name input{width:100%}.cat-row-players{flex:100%;order:2}.cat-row-actions{flex:100%;order:3}.cat-row-actions .btn-secondary{flex:1;justify-content:center}.cat-summary-bar{flex-wrap:wrap}.cat-summary-warn{flex-basis:100%;margin-left:0}}.sched-actions-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sched-util-btns{gap:8px;display:flex}.btn-icon{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:6px;padding:4px;font-size:16px;line-height:1;transition:color .15s,background .15s}.btn-icon:hover{color:var(--danger);background:var(--danger-subtle)}.team-count-badge{color:var(--muted);background:var(--surface3);white-space:nowrap;border-radius:20px;padding:2px 10px;font-size:12px;font-weight:600}.btn-add-desc{font-family:var(--font-body);color:var(--muted);cursor:pointer;background:0 0;border:none;margin-top:4px;padding:2px 0;font-size:13px;font-weight:500;transition:color .15s}.btn-add-desc:hover{color:var(--accent)}.btn-add-cat{font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;border:1px dashed var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;align-self:center;width:auto;padding:8px 16px;font-size:13px;font-weight:700;transition:all .15s}.btn-add-cat:hover{background:var(--brand-faint);border-color:var(--brand-dim);color:var(--accent)}.sched-settings{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.sched-settings-row{grid-template-columns:repeat(4,1fr);align-items:end;gap:16px;display:grid}.schedule-table-wrap{overflow-x:auto}.schedule-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;overflow:hidden}.schedule-table th{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);background:var(--surface2);text-align:left;border-bottom:1px solid var(--border);padding:12px 16px;font-size:12px;font-weight:700}.schedule-table td{border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle;padding:12px 16px;font-size:14px}.schedule-table tr:last-child td{border-bottom:none}.schedule-table tr:hover td{background:#ffffff05}.cat-pill{white-space:nowrap;border-radius:20px;padding:3px 10px;font-size:11px;font-weight:600}.score-input{font-family:var(--font-body);text-align:center;background:var(--surface2);border:1px solid var(--border);width:52px;color:var(--text);border-radius:6px;outline:none;padding:6px 4px;font-size:16px;font-weight:600;transition:border-color .15s}.score-sep{color:var(--muted);padding:0 4px;font-size:16px}.vs-label{color:var(--muted);padding:0 8px;font-size:12px}.cols-dropdown{position:relative}.cols-btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);color:var(--text);cursor:pointer;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.cols-btn:hover{background:var(--surface3,var(--border))}.cols-menu{z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:160px;padding:6px 0;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 4px 16px #0000002e}.cols-menu-row{cursor:pointer;color:var(--text);align-items:center;gap:10px;padding:7px 16px;font-size:13px;display:flex}.cols-menu-row:hover{background:var(--surface2)}.cols-menu-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer}.rankings-section{max-width:1060px;margin-bottom:20px;margin-left:auto;margin-right:auto}.rankings-cat-title{font-family:var(--font-display);color:var(--text);align-items:center;gap:10px;margin-bottom:12px;font-size:22px;font-weight:700;display:flex}.rankings-table-wrap{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.rankings-table{border-collapse:collapse;table-layout:auto;background:var(--surface);width:100%}.rankings-table th{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface2);text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 16px;font-size:11px;font-weight:700}.rankings-table td{border-bottom:1px solid var(--border);color:var(--text);text-align:left;white-space:nowrap;padding:6px 16px;font-size:13px}.rankings-table th:not(.left),.rankings-table td:not(.left){text-align:right;white-space:nowrap}.rankings-table td.team-name-cell{white-space:normal;width:100%}.rankings-table tr:last-child td{border-bottom:none}.rank-num{font-family:var(--font-display);color:var(--muted);font-size:14px;font-weight:800}.rank-1{color:var(--accent)}.rank-2{color:#aac0ff}.rank-3{color:#f1a060}.team-name-cell{font-weight:600}.stat-pos{color:var(--success)}.stat-neg{color:var(--danger)}.rr-toggle{flex-direction:column;margin-top:10px;display:flex}.rr-select{cursor:pointer;padding:5px 10px;font-size:16px}@media (min-width:681px){.rr-select{font-size:16px}.category-item{gap:12px}}.sched-header{max-width:1060px;margin:0 auto 20px}.sched-stats-bar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.sched-stats-items{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.sched-stat-item{flex-direction:column;gap:1px;display:flex}.sched-stat-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:9px;font-weight:700}.sched-stat-value{font-family:var(--font-display);color:var(--text);font-size:15px;font-weight:700;line-height:1.2}.sched-stats-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}@media (max-width:680px){.sched-stats-bar{flex-wrap:wrap;gap:8px;padding:8px 0}.sched-stats-items{flex:100%;gap:16px}.sched-stats-actions{flex:100%}.sched-stats-actions .search-input-wrap{flex:1;width:auto}}.sched-grid-wrap{width:100%;margin:0 auto;overflow-x:auto}.sched-grid-table{border-collapse:collapse;background:var(--surface);border-radius:var(--radius);width:100%;overflow:hidden}.sched-grid-table th{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text);background:var(--surface3);text-align:left;border-bottom:1px solid var(--border);padding:11px 14px;font-size:11px;font-weight:700}.sched-grid-table th.court-th{text-align:left}.sched-grid-table td{border-bottom:1px solid var(--border);vertical-align:top;padding:0}.sched-grid-table tr:last-child td{border-bottom:none}.sched-time-td{background:var(--surface2);border-right:1px solid var(--border);min-width:140px;position:relative}.sched-time-label{color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:6px 16px;font-size:11px;font-weight:600;display:flex;position:absolute;inset:0;overflow:hidden}.sched-time-part,.sched-time-sep{white-space:nowrap}@media (min-width:769px){.sched-time-label{flex-direction:row;gap:0}.sched-time-sep{padding:0 3px}}@media (max-width:640px){.sched-time-label{font-size:11px}.game-card-team-name{font-size:12px}.game-card-team-row{grid-template-columns:1fr 56px}.score-input-sm{width:56px;font-size:15px}}.sched-court-td{border-right:1px solid var(--border);min-width:260px;padding:8px 10px;position:relative}.sched-court-td:last-child{border-right:none}.sched-empty-cell{color:var(--surface3);justify-content:center;align-items:center;font-size:18px;display:flex;position:absolute;inset:0}.game-card-inner{border-radius:6px;min-height:88px;padding:8px 10px}.game-card-inline-badge{flex-shrink:0;margin-left:4px;font-size:12px}.game-card-tag{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:6px;font-size:10px;font-weight:700;display:flex}.game-card-tag span:last-child{text-align:center;flex-shrink:0;width:64px}.game-card-team-row{grid-template-columns:minmax(80px,1fr) 64px;align-items:start;gap:6px;margin-bottom:4px;display:grid}.game-card-team-row:last-of-type{margin-bottom:0}.game-card-team-name{white-space:normal;word-break:break-word;font-size:13px;font-weight:500}.game-card-team-name.winner{color:var(--success);font-weight:700}.game-card-tie{color:var(--muted);letter-spacing:.04em;margin-top:4px;font-size:11px;font-weight:600}.score-input{font-family:var(--font-body);text-align:center;background:var(--surface);border:1px solid var(--border);width:64px;color:var(--text);appearance:textfield;border-radius:6px;outline:none;padding:4px 6px;font-size:16px;font-weight:700;transition:border-color .15s}.score-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.score-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input:focus{border-color:var(--brand-focus)}.score-input.winner{color:var(--success);border-color:var(--success-border)}.sched-stats-actions .search-input-wrap{width:200px}.sched-view-toggle{background:var(--surface2);border:1px solid var(--border);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.sched-view-opt{letter-spacing:.02em;color:var(--muted);cursor:pointer;font-size:11.5px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.sched-view-opt.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #0000001f, 0 0 0 1px var(--border)}.sched-expand-btn{color:var(--accent);cursor:pointer;white-space:nowrap;letter-spacing:.02em;font-size:11.5px;font-weight:600;font-family:var(--font-body);background:0 0;border:none;padding:4px 0}.sched-expand-btn:hover{opacity:.8}.sched-list-search{max-width:1060px;margin:0 auto 16px}.sched-list-view{flex-direction:column;max-width:1060px;margin:0 auto;display:flex}.sched-list-time-group{flex-direction:column;gap:12px;margin-top:20px;display:flex}.sched-list-time-group:first-child{margin-top:0}.sched-list-time-label{flex-direction:column;align-items:center;gap:2px;padding:10px 0 4px;display:flex}.sched-list-time-label-time{color:var(--text);letter-spacing:-.02em;font-size:22px;font-weight:800;line-height:1.1}.sched-list-time-label-desc{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:600}.sched-list-court-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.sched-list-court-header{background:var(--surface2);border-bottom:1px solid var(--border);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:7px 12px;display:grid}.sched-list-court-num{color:var(--text);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:700}.sched-list-cat-pill{letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;justify-self:end;padding:2px 10px;font-size:11px;font-weight:700}.sched-list-teams{flex-direction:column;display:flex}.sched-list-team-row{grid-template-columns:minmax(80px,1fr) 64px;align-items:center;gap:6px;padding:8px 10px;transition:background .15s;display:grid}.sched-list-team-row+.sched-list-team-row{border-top:1px solid var(--border)}.sched-list-team-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;font-weight:500;line-height:1.3;display:flex}.sched-list-team-row.winner .sched-list-team-name{color:var(--success);font-weight:700}.sched-list-amp{color:var(--muted);font-size:12px;font-weight:400}.sched-list-trophy{flex-shrink:0;margin-left:4px;font-size:12px}.sched-list-team-row.winner .score-display-sm{color:var(--success)}.sched-list-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);padding:32px 20px}.sched-list-empty-title{color:var(--text);margin-bottom:4px;font-size:14px;font-weight:600}.sched-list-footer{text-align:center;color:var(--muted);letter-spacing:.04em;padding:16px 0 4px;font-size:11px}[data-theme=light]{--bg:#eef5fb;--surface:#fff;--surface2:#f8fafc;--surface3:#d8e6f2;--border:#00000014;--text:#081628;--muted:#5a7090;--danger:#e11d48;--success:#16a34a;--warning:#d97706}[data-theme=light] .nav{background:#f8fbfee6;border-bottom-color:#0000000f}[data-theme=light] .hero-bg{background:radial-gradient(ellipse 60% 50% at 50% 0%, color-mix(in srgb, var(--brand) 18%, transparent) 0%, transparent 70%), radial-gradient(ellipse 40% 30% at 80% 80%, #4f8ef71a 0%, transparent 60%)}[data-theme=light] .feature-icon{background:var(--surface2)}[data-theme=light] .feature-card{box-shadow:0 1px 2px #1028500a}[data-theme=light] .feature-card:hover{box-shadow:0 6px 24px #10285014}[data-theme=light] .nav-dropdown{box-shadow:0 8px 32px #1028501f}[data-theme=light] .tournament-dropdown{box-shadow:0 12px 40px #10285026}[data-theme=light] .schedule-table tr:hover td{background:#10285008}[data-theme=light] .btn-add-cat{color:var(--brand)}[data-theme=light] .btn-add-cat:hover{color:var(--accent);border-color:var(--brand-dim)}[data-theme=light] .rank-2{color:#4f7dd1}[data-theme=light] .rank-3{color:#c87930}[data-theme=light] .stat-pos{color:var(--success)}[data-theme=light] .tc-status-ready{background:var(--warning-subtle);color:var(--warning);border-color:var(--warning-border)}[data-theme=light] .tc-status-live{background:var(--success-subtle);color:var(--success);border-color:var(--success-border)}[data-theme=light] .score-input-sm,[data-theme=light] .sched-time-td{background:var(--surface2)}[data-theme=light] .sched-empty-cell{color:var(--surface3)}[data-theme=light] .step-num{color:var(--brand-half)}.welcome-banner{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px 18px}.welcome-banner-title{font-family:var(--font-display);color:var(--text);margin-bottom:12px;font-size:16px;font-weight:700}.welcome-steps{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.welcome-step{color:var(--text);align-items:flex-start;gap:10px;font-size:14px;line-height:1.5;display:flex}.welcome-step-num{background:var(--brand-subtle);width:22px;height:22px;color:var(--accent);border:1px solid var(--brand-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;font-size:12px;font-weight:700;display:flex}.mobile-tab-bar{z-index:200;background:var(--surface);border-top:1px solid var(--border);padding:4px 0 max(4px, env(safe-area-inset-bottom));grid-template-columns:repeat(3,1fr);display:none;position:fixed;bottom:0;left:0;right:0}.mobile-tab-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:5px 4px;transition:color .15s;display:flex}.mobile-tab-btn.active{color:var(--accent)}.mobile-tab-btn svg{width:18px;height:18px}.mobile-tab-label{letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:600}@media (max-width:680px){.nav{padding:0 16px}.nav-tabs-desktop{display:none}.nav-hamburger-wrap{display:block}.mobile-tab-bar{display:grid}.sched-settings-row{grid-template-columns:1fr 1fr}.steps-row{grid-template-columns:1fr;gap:32px}.sched-actions-row{flex-direction:column;align-items:flex-start}.hero-headline{font-size:48px}.events-grid,.features-grid{grid-template-columns:1fr}.wizard-card{padding:20px 16px}.wizard-field-row{grid-template-columns:1fr;gap:14px;margin-bottom:14px}.wizard-info-row{grid-template-columns:1fr}.wizard-info-row .wizard-field-name{grid-column:unset}.wizard-format-grid{grid-template-columns:1fr;gap:0;margin-bottom:4px}.wizard-format-grid>.wizard-field{margin-bottom:14px}.setup-generate-row{align-items:stretch}.setup-generate-hint{text-align:left}}.nav-admin-badge{color:#fff;letter-spacing:.1em;background:#dc2626;border-radius:4px;align-items:center;margin-right:8px;padding:3px 8px;font-size:10px;font-weight:800;line-height:1;display:inline-flex}.nav-avatar-btn{align-items:center;display:inline-flex}.admin-tenant-tag{letter-spacing:.06em;text-transform:uppercase;color:#dc2626;background:#dc26261f;border:1px solid #dc262659;border-radius:4px;margin-left:8px;padding:2px 6px;font-size:10px;font-weight:700;display:inline-block}.admin-owner-tag{color:var(--muted,#64748b);margin-top:4px;font-size:11px;font-style:italic}.app-shell{min-height:calc(100vh - var(--nav-h));flex-direction:column;width:100%;display:flex}.app-shell.has-tournament{height:calc(100vh - var(--nav-h));min-height:0;overflow:hidden}body:has(.app-shell.has-tournament){overflow:hidden}.app-dashboard{width:100%;max-width:1100px;margin:0 auto;padding:16px 16px 32px}.app-dashboard-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.app-dashboard-eyebrow{font-family:var(--font-display);letter-spacing:.15em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;font-size:11px;font-weight:700}.app-dashboard-title{font-family:var(--font-display);color:var(--text);letter-spacing:-.01em;margin-bottom:6px;font-size:clamp(24px,4vw,36px);font-weight:800;line-height:1}.app-dashboard-sub{color:var(--muted);max-width:540px;font-size:14px;line-height:1.5}.tournament-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.tournament-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;text-align:left;font:inherit;color:inherit;flex-direction:column;gap:10px;padding:10px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;position:relative}.tournament-card:hover{border-color:var(--brand-glow);transform:translateY(-2px);box-shadow:0 8px 28px #0000002e}.tournament-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tournament-card-name{font-family:var(--font-display);color:var(--text);word-break:break-word;padding-right:28px;font-size:18px;font-weight:700;line-height:1.2}.tournament-card-status{gap:6px;display:flex}.tc-status-pill{letter-spacing:.06em;text-transform:uppercase;border-radius:20px;padding:4px 10px;font-size:11px;font-weight:700}.tc-status-live{background:var(--success-subtle);color:var(--success);border:1px solid var(--success-border)}.tc-status-ready{background:var(--warning-subtle);color:var(--warning);border:1px solid var(--warning-border)}.tc-status-draft{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.tournament-card-meta{border-top:1px solid var(--border);border-bottom:1px solid var(--border);flex-direction:column;gap:4px;padding:8px 0;display:flex}.tc-meta-row{justify-content:space-between;align-items:baseline;font-size:13px;display:flex}.tc-meta-label{color:var(--muted)}.tc-meta-value{color:var(--text);font-weight:600}.tournament-card-cta{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.tournament-card-cta span{transition:transform .15s;display:inline-block}.tournament-card:hover .tournament-card-cta span{transform:translate(3px)}.tournament-card-archive{cursor:pointer;width:30px;height:30px;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:flex;position:absolute;top:12px;right:46px}.tournament-card-archive svg{width:16px;height:16px}.tournament-card:hover .tournament-card-archive,.tournament-card-archive:focus-visible{opacity:1}.tournament-card-archive:hover{color:var(--accent);background:#6366f11a}.tournament-card.is-archived{opacity:.65}.tournament-card.is-archived:hover{opacity:1}.tc-status-archived{background:var(--surface2);color:var(--muted);border:1px solid var(--border)}.tournament-card-delete{cursor:pointer;width:30px;height:30px;color:var(--muted);opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:opacity .15s,color .15s,background .15s;display:flex;position:absolute;top:12px;right:12px}.tournament-card-delete svg{width:16px;height:16px}.tournament-card:hover .tournament-card-delete,.tournament-card-delete:focus-visible{opacity:1}.tournament-card-delete:hover{color:var(--danger);background:var(--danger-subtle)}.tournament-card-add{text-align:center;border-style:dashed;border-color:var(--border);background:var(--surface);justify-content:center;align-items:center;gap:8px;min-height:160px}.tournament-card-add:hover{background:var(--surface2);border-color:#ffffff26}.tournament-card-add-plus{font-family:var(--font-display);color:var(--accent);font-size:40px;font-weight:300;line-height:1}.tournament-card-add-label{font-family:var(--font-body);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:14px;font-weight:700}.dashboard-limit-cta{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1.5px solid var(--accent);border-radius:var(--radius);color:var(--fg);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding:14px 18px;font-size:14px;font-weight:500;display:flex}.dashboard-limit-cta a{color:var(--accent);font-weight:700}.dashboard-limit-signup-btn{background:var(--accent);cursor:pointer;color:#fff;letter-spacing:.01em;white-space:nowrap;border:none;border-radius:999px;align-items:center;padding:5px 14px;font-size:13px;font-weight:700;transition:opacity .15s;display:inline-flex}.dashboard-limit-signup-btn:hover{opacity:.88}.dashboard-empty{text-align:center;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius);padding:48px 24px}.dashboard-empty-icon{opacity:.4;margin-bottom:12px;font-size:40px}.dashboard-empty-title{font-family:var(--font-display);color:var(--text);margin-bottom:8px;font-size:20px;font-weight:700}.dashboard-empty-sub{color:var(--muted);max-width:420px;margin:0 auto;font-size:13px;line-height:1.6}.dashboard-filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;display:flex}.dashboard-search-wrap{flex:1;min-width:200px}.dashboard-filter-pills{gap:4px;display:flex}.dashboard-filter-pill{letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--border);color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;padding:6px 14px;font-size:12px;font-weight:700;transition:border-color .15s,color .15s,background .15s}.dashboard-filter-pill:hover{border-color:var(--accent);color:var(--text)}.dashboard-filter-pill.active{background:var(--active-bg);color:var(--active-fg);border-color:var(--active-border)}.dashboard-date-filter{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font:inherit;color:var(--text);cursor:pointer;outline:none;padding:6px 10px;font-size:16px;transition:border-color .15s}.dashboard-date-filter:focus{border-color:var(--accent)}.dashboard-date-filter::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.app-topbar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:8px 24px;display:grid}.app-back{justify-self:start}.app-back svg{width:16px;height:16px}.app-current-name-wrap{justify-content:center;min-width:0;display:flex}.app-current-name-text{font-family:var(--font-display);color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:20px;font-weight:700;overflow:hidden}.app-current-name-unnamed{font-family:var(--font-display);color:var(--warning);background:var(--warning-subtle);border:1px solid var(--warning-border);white-space:nowrap;border-radius:6px;padding:4px 10px;font-size:15px;font-weight:600}.app-topbar-actions{justify-self:end;align-items:center;gap:8px;display:inline-flex}.app-dot-menu-wrap{display:none;position:relative}.app-dot-menu-btn{padding:8px 10px}.app-dot-menu{background:var(--surface);border:1px solid var(--border);z-index:100;border-radius:10px;flex-direction:column;min-width:160px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 4px 16px #0000002e}.app-dot-menu-item{color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;transition:background .12s;display:flex}.app-dot-menu-item:hover{background:var(--surface2)}.app-dot-menu-item--danger{color:var(--danger)}.app-dot-menu-item--danger:hover{background:var(--danger-subtle)}.app-account-menu-wrap{position:relative}.app-account-menu-btn{align-items:center;gap:8px;display:inline-flex}.app-account-avatar{background:var(--accent);color:#fff;letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;font-weight:700;display:inline-flex}.app-account-email{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:13px;overflow:hidden}.app-account-menu{min-width:200px}.app-account-menu-email{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--border);padding:12px 16px 8px;font-size:12px;overflow:hidden}.app-delete-btn{align-items:center;gap:6px;display:inline-flex}.app-delete-icon,.app-backup-btn svg{width:14px;height:14px}.app-archive-btn{align-items:center;gap:6px;display:inline-flex}.app-archive-btn svg{width:14px;height:14px}.app-print-btn{align-items:center;gap:6px;display:inline-flex}.app-print-btn svg{width:14px;height:14px}.app-tabs-bar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 24px;display:flex}.app-main-tab{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-size:13px;font-weight:700;transition:color .15s,border-color .15s}.app-main-tab:hover:not(:disabled){color:var(--text)}.app-main-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.app-main-tab:disabled,.mobile-tab-btn:disabled{opacity:.35;cursor:not-allowed}.app-content-area{width:100%;max-width:1060px;margin:0 auto;padding:20px 24px}.app-shell.has-tournament .app-content-area{flex:auto;max-width:none;min-height:0;padding:0;overflow-y:auto}.app-shell.has-tournament .app-content-area>*{width:90%;margin:0 auto;padding:20px 24px}@media (max-width:1500px) and (min-width:681px){.app-delete-btn,.app-backup-btn,.app-archive-btn,.app-print-btn,.app-share-btn{display:none}.app-dot-menu-wrap{display:block}}@media (max-width:680px){.app-account-email{display:none}.app-dashboard{padding:24px 16px 32px}.app-dashboard-header{margin-bottom:24px}.app-shell.has-tournament{height:calc(100dvh - var(--nav-h))}.app-topbar{z-index:50;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;padding:10px 14px;position:sticky;top:0}.app-back{padding:8px 10px}.app-back-label{display:none}.app-current-name-text{font-size:17px}.app-share-btn,.app-delete-btn,.app-backup-btn,.app-archive-btn,.app-print-btn{display:none}.app-dot-menu-wrap{display:block}.app-tabs-bar{display:none}.app-content-area{padding:16px 16px 76px}.app-shell.has-tournament .app-content-area>*{width:100%;padding:16px 16px 76px}.wizard-field{margin-bottom:14px}.wizard-field-row>.wizard-field{margin-bottom:0}body:has(.app-shell.has-tournament) .app-shell.has-tournament{height:100dvh}body:has(.app-shell.has-tournament){width:100%;height:100%;position:fixed}body:has(.app-shell.has-tournament) .app-topbar{padding-top:calc(10px + env(safe-area-inset-top));flex-shrink:0;position:relative}}@media print{@page{size:landscape;margin:10mm}*{-webkit-print-color-adjust:economy!important;print-color-adjust:economy!important;filter:grayscale()!important}.nav,.app-topbar,.app-tabs-bar,.mobile-tab-bar{display:none!important}body{color:#111!important;background:#fff!important}.app-shell.has-tournament{height:auto!important;overflow:visible!important}.app-content-area{padding:0!important;overflow:visible!important}.app-shell.has-tournament .app-content-area{min-height:0!important}.app-shell.has-tournament .app-content-area>*{max-width:100%!important;padding:0!important}.sched-list-search,.sched-stats-actions,.sched-view-toggle,.cols-dropdown,.app-print-btn{display:none!important}.sched-header{max-width:100%!important;margin:0 0 8px!important}.sched-stats-bar{border-bottom:1px solid #ccc!important;padding:6px 0!important}.sched-stats-items{gap:16px!important}.sched-stat-label{color:#555!important;font-size:9px!important}.sched-stat-value{color:#111!important;font-size:13px!important}.sched-list-view{max-width:100%!important}.sched-list-time-group{break-inside:avoid;page-break-inside:avoid;gap:6px!important;margin-top:10px!important}.sched-list-time-group:first-child{margin-top:0!important}.sched-list-time-label{border-bottom:1px solid #aaa!important;padding:2px 0!important}.sched-list-time-label-time{color:#111!important;font-size:12px!important;font-weight:700!important}.sched-list-time-label-desc{color:#555!important;font-size:10px!important}.sched-list-court-card{break-inside:avoid;page-break-inside:avoid;box-shadow:none!important;background:#fff!important;border:1px solid #888!important;border-radius:4px!important;margin:0!important;padding:4px 8px!important}.sched-list-court-header{border-bottom:1px solid #ddd!important;margin-bottom:3px!important;padding:2px 0!important}.sched-list-court-num{color:#111!important;font-size:10px!important;font-weight:700!important}.sched-list-cat-pill{color:#111!important;background:#fff!important;border:1px solid #888!important;padding:1px 6px!important;font-size:9px!important}.sched-list-team-row{color:#111!important;padding:3px 0!important;font-size:11px!important}.sched-list-team-row+.sched-list-team-row{border-top:1px solid #ddd!important}.sched-list-team-name{color:#111!important;font-size:11px!important}.sched-list-team-row.winner .sched-list-team-name{color:#111!important;font-weight:700!important}.sched-list-amp{color:#555!important}.sched-list-footer{display:none!important}.score-display-sm{color:#111!important;background:#fff!important;border:1px solid #888!important;width:22px!important;height:16px!important;font-size:9px!important}.sched-list-team-row.winner .score-display-sm{color:#111!important;font-weight:700!important}.score-input-sm,.score-input{color:#0000!important;background:#fff!important;border:1px solid #888!important;border-radius:0!important;width:22px!important;height:16px!important;padding:0!important;font-size:9px!important;font-weight:400!important}.score-input-sm::placeholder,.score-input::placeholder{color:#0000!important}.rankings-section{break-inside:avoid;page-break-inside:avoid;max-width:100%!important;margin-bottom:14px!important}.rankings-cat-title{color:#111!important;border-bottom:1px solid #aaa!important;margin-bottom:6px!important;padding-bottom:4px!important;font-size:13px!important}.rankings-table-wrap{overflow:visible!important}.rankings-table{color:#111!important;width:100%!important;font-size:10px!important}.rankings-table th{color:#111!important;background:#f3f3f3!important;border-bottom:1px solid #888!important;padding:4px 6px!important;font-size:9px!important}.rankings-table td{color:#111!important;border-bottom:1px solid #ddd!important;padding:3px 6px!important}.rankings-table tr{break-inside:avoid;page-break-inside:avoid}.rank-num{color:#111!important}.rank-num.rank-1,.rank-num.rank-2,.rank-num.rank-3{color:#111!important;font-weight:700!important}.stat-pos,.stat-neg{color:#111!important}.sched-grid-wrap{width:100%!important;max-width:100%!important;margin:0!important;overflow:visible!important}.sched-grid-table{table-layout:fixed!important;border-collapse:collapse!important;background:#fff!important;border:1px solid #888!important;border-radius:0!important;width:100%!important}.sched-grid-table thead{display:table-header-group!important}.sched-grid-table tr{break-inside:avoid;page-break-inside:avoid}.sched-grid-table th{color:#111!important;letter-spacing:.06em!important;background:#f3f3f3!important;border-bottom:1px solid #888!important;border-right:1px solid #ccc!important;padding:4px 6px!important;font-size:9px!important}.sched-grid-table th:last-child{border-right:none!important}.sched-grid-table td{word-break:normal!important;overflow-wrap:break-word!important;background:#fff!important;border-bottom:1px solid #ccc!important;border-right:1px solid #ccc!important;padding:0!important}.sched-grid-table td:last-child{border-right:none!important}.sched-time-td{background:#f7f7f7!important;width:70px!important;min-width:0!important}.sched-time-label{color:#111!important;text-align:center!important;flex-direction:column!important;gap:0!important;padding:4px!important;font-size:9px!important;font-weight:700!important;position:static!important}.sched-time-sep{padding:0!important}.sched-court-td{background:#fff!important;min-width:0!important;max-width:none!important;padding:3px!important}.sched-empty-cell{color:#aaa!important;padding:8px 0!important;font-size:11px!important;position:static!important}.game-card-inner{background:#fff!important;border-radius:0!important;min-height:0!important;padding:3px 5px!important}.game-card-tag{color:#555!important;letter-spacing:.04em!important;white-space:nowrap!important;text-overflow:ellipsis!important;gap:4px!important;margin-bottom:2px!important;font-size:8px!important;display:flex!important;overflow:hidden!important}.game-card-tag span:first-child{text-overflow:ellipsis!important;min-width:0!important;overflow:hidden!important}.game-card-tag span:last-child{flex-shrink:0!important;width:auto!important}.game-card-team-row{grid-template-columns:1fr 24px!important;gap:3px!important;padding:1px 0!important}.game-card-team-name{color:#111!important;font-size:9px!important;line-height:1.2!important}.game-card-team-name.winner{color:#111!important;font-weight:700!important}.game-card-inline-badge{font-size:8px!important}.game-card-tie{color:#555!important;font-size:9px!important}.empty-state{display:none!important}}.cm-modal-overlay{z-index:500;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0308129e;justify-content:center;align-items:center;padding:20px;animation:.15s ease-out cmFadeIn;display:flex;position:fixed;inset:0}.cm-modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:440px;padding:16px 18px 14px;animation:.16s ease-out cmPopIn;box-shadow:0 20px 60px #00000073}.cm-modal-title{font-family:var(--font-display);color:var(--text);letter-spacing:.02em;margin-bottom:6px;font-size:18px;font-weight:700}.cm-modal-message{color:var(--muted);margin-bottom:12px;font-size:14px;line-height:1.5}.cm-modal-input{margin-bottom:12px}.cm-modal-actions{justify-content:flex-end;gap:8px;display:flex}@keyframes cmFadeIn{0%{opacity:0}to{opacity:1}}@keyframes cmPopIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}.cm-modal-wide{max-width:min(760px,96vw);max-height:88vh;overflow:auto}.player-stats-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.player-stats-close{background:var(--surface2);color:var(--muted);border:1px solid var(--border);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:flex}.player-stats-close:hover{background:var(--surface3);color:var(--text)}.player-stats-empty,.player-stats-empty-row{color:var(--muted);padding:8px 0;font-size:13px}.player-stats-pills{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.player-stats-pill{background:var(--surface2);color:var(--text);border:1px solid var(--border);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s}.player-stats-pill:hover{background:var(--surface3)}.player-stats-pill.is-active{background:var(--success-subtle);border-color:var(--success-border);color:var(--success)}.player-stats-cards{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.player-stats-card{background:var(--surface2);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.player-stats-card-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:4px;font-size:11px;font-weight:600}.player-stats-card-value{color:var(--text);font-size:26px;font-weight:700;line-height:1.1}.player-stats-cols{grid-template-columns:1fr 1fr;gap:18px;display:grid}.player-stats-col-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px;font-weight:600}.player-stats-row{border-bottom:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:6px 0;display:grid}.player-stats-row:last-child{border-bottom:none}.player-stats-name{color:var(--text);font-size:13px;font-weight:600}.player-stats-rounds{color:var(--muted);font-size:11px}.player-stats-badge{text-align:center;border:1px solid #0000;border-radius:999px;min-width:32px;padding:3px 9px;font-size:11px;font-weight:700}.player-stats-badge.partner{background:var(--success-subtle);color:var(--success);border-color:var(--success-border)}.player-stats-badge.opponent{background:var(--danger-subtle);color:var(--danger);border-color:var(--danger-border)}@media (max-width:640px){.player-stats-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.player-stats-card{min-width:0;padding:8px 10px}.player-stats-card-label{letter-spacing:.04em;font-size:9px}.player-stats-card-value{font-size:clamp(16px,5vw,22px)}.player-stats-cols{grid-template-columns:1fr;gap:14px}}@media (max-width:680px){.cm-modal{padding:14px 16px 12px}.cm-modal-actions{flex-direction:column-reverse}.cm-modal-actions .btn-primary,.cm-modal-actions .btn-secondary{width:100%;padding:11px 16px}}.app-share-btn{align-items:center;gap:6px;display:inline-flex}.app-share-btn svg{width:14px;height:14px}@media (max-width:680px){.app-share-btn{display:none}}.score-display-sm{width:64px;height:28px;color:var(--text);background:var(--surface3);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.shared-page{max-width:1060px;padding:calc(var(--nav-h) + 24px) 24px 48px;width:100%;margin:0 auto}.shared-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.shared-title{font-family:var(--font-display);color:var(--text);letter-spacing:.02em;font-size:24px;font-weight:700;line-height:1.2}.shared-subtitle{color:var(--muted);margin-top:4px;font-size:13px}.shared-live-badge{background:var(--success-subtle);border:1px solid var(--success-border);color:var(--success);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:7px;padding:5px 12px;font-size:12px;font-weight:700;display:inline-flex}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.live-dot{background:var(--success);border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:2s ease-in-out infinite livePulse}.live-updated{opacity:.8;text-transform:none;letter-spacing:0;font-weight:400}.shared-tabs-bar{border-bottom:1px solid var(--border);align-items:center;gap:4px;margin-bottom:0;display:flex}.shared-tab{font-family:var(--font-body);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;color:var(--muted);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-size:13px;font-weight:700;transition:color .15s,border-color .15s}.shared-tab:hover{color:var(--text)}.shared-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.shared-content{padding:20px 0}.visitor-modal{position:relative}.visitor-modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:22px;line-height:1;position:absolute;top:10px;right:12px}.visitor-modal-close:hover{color:var(--text)}.visitor-modal-err{color:var(--danger);margin:-8px 0 12px;font-size:12px}.shared-footer{border-top:1px solid var(--border);color:var(--muted);text-align:center;margin-top:32px;padding-top:16px;font-size:12px}.shared-loading{text-align:center;color:var(--muted);padding:80px 24px;font-size:15px}.cm-loader{justify-content:center;align-items:center;width:100%;min-height:280px;padding:48px 24px;animation:.32s ease-out both cm-loader-fade-in;display:flex;position:relative}@keyframes cm-loader-fade-in{0%{opacity:0}to{opacity:1}}.cm-loader.cm-loader-overlay{inset:var(--nav-h) 0 0 0;z-index:400;background:var(--bg);min-height:calc(100vh - var(--nav-h));position:fixed}:is(body:has(.cm-loader-overlay) .app-topbar,body:has(.cm-loader-overlay) .app-tabs-bar,body:has(.cm-loader-overlay) .mobile-tab-bar){display:none!important}.cm-loader.cm-loader-fullpage{min-height:calc(100vh - var(--nav-h))}.cm-loader-stage{flex-direction:column;align-items:center;gap:22px;display:flex}.cm-loader-chip{font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);background:var(--brand-subtle);border:1px solid var(--brand-border);border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:11px;font-weight:500;display:inline-flex}.cm-loader-chip .cm-pulse{background:var(--accent);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite cm-chip-pulse}@keyframes cm-chip-pulse{0%,to{opacity:.4}50%{opacity:1}}.cm-loader-status{text-align:center;width:280px;height:20px;color:var(--muted);font-size:13px;font-weight:400;position:relative;overflow:hidden}.cm-loader-status>span{opacity:0;animation:6s ease-in-out infinite cm-status-cycle;position:absolute;inset:0}.cm-loader-status>span:first-child{animation-delay:0s}.cm-loader-status>span:nth-child(2){animation-delay:2s}.cm-loader-status>span:nth-child(3){animation-delay:4s}@keyframes cm-status-cycle{0%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:translateY(0)}28%{opacity:1;transform:translateY(0)}34%{opacity:0;transform:translateY(-6px)}to{opacity:0;transform:translateY(-6px)}}.cm-loader-dots:after{content:"…";color:var(--accent);animation:1.4s steps(4,end) infinite cm-dot-pulse}@keyframes cm-dot-pulse{0%,to{opacity:.3}50%{opacity:1}}.cm-ball-matte{background:radial-gradient(circle at 32% 30%, #d4dccf 0%, color-mix(in srgb, var(--accent) 50%, #d4dccf) 45%, color-mix(in srgb, var(--accent) 80%, #000) 100%);border-radius:50%;position:relative;box-shadow:inset -2px -3px 5px #00000047,inset 2px 2px 4px #ffffff2e}.cm-ball-matte:before{content:"";border-radius:inherit;background:radial-gradient(circle at 28% 35%,#070e1c73 1.2px,#0000 2px),radial-gradient(circle at 65% 25%,#070e1c59 1px,#0000 1.8px),radial-gradient(circle at 75% 62%,#070e1c73 1.2px,#0000 2px),radial-gradient(circle at 38% 72%,#070e1c59 1px,#0000 1.8px);position:absolute;inset:0}.cm-travel{width:240px;height:60px;position:relative}.cm-travel .cm-baseline{background-image:linear-gradient(to right, var(--brand-dim) 50%, transparent 50%);opacity:.7;background-repeat:repeat-x;background-size:8px 1px;height:1px;position:absolute;top:50%;left:0;right:0}.cm-travel .cm-lt,.cm-travel .cm-rt{background:var(--accent);opacity:.7;width:4px;height:18px;position:absolute;top:calc(50% - 9px)}.cm-travel .cm-lt{left:4px}.cm-travel .cm-rt{right:4px}.cm-travel .cm-tb{width:16px;height:16px;margin-top:-8px;animation:2.2s ease-in-out infinite cm-travel-slide;position:absolute;top:50%;left:4px}@keyframes cm-travel-slide{0%,to{left:4px}50%{left:calc(100% - 20px)}}.cm-bracket{width:240px;height:160px;position:relative}.cm-bracket svg{width:100%;height:100%;overflow:visible}.cm-bracket .cm-br-line{stroke:var(--accent);stroke-width:1.4px;fill:none;stroke-linecap:round;stroke-dasharray:60;stroke-dashoffset:60px;opacity:.85;animation:2.8s ease-in-out infinite cm-br-draw}.cm-bracket .cm-br-l1{animation-delay:0s}.cm-bracket .cm-br-l2{animation-delay:.18s}.cm-bracket .cm-br-l3{animation-delay:.36s}.cm-bracket .cm-br-l4{animation-delay:.54s}.cm-bracket .cm-br-l5{stroke-dasharray:90;stroke-dashoffset:90px;animation-delay:.8s}.cm-bracket .cm-br-l6{stroke-dasharray:90;stroke-dashoffset:90px;animation-delay:.98s}.cm-bracket .cm-br-l7{stroke-dasharray:140;stroke-dashoffset:140px;animation-delay:1.25s}@keyframes cm-br-draw{0%{stroke-dashoffset:60px;opacity:.2}35%{stroke-dashoffset:0;opacity:.9}78%{stroke-dashoffset:0;opacity:.9}to{stroke-dashoffset:60px;opacity:.2}}.cm-bracket .cm-br-node{fill:var(--bg);stroke:var(--accent);stroke-width:1.2px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:2.8s ease-in-out infinite cm-br-node}.cm-bracket .cm-br-node.n1{animation-delay:.3s}.cm-bracket .cm-br-node.n2{animation-delay:.48s}.cm-bracket .cm-br-node.n3{animation-delay:.66s}.cm-bracket .cm-br-node.n4{animation-delay:.84s}.cm-bracket .cm-br-node.n5{animation-delay:1.1s}.cm-bracket .cm-br-node.n6{animation-delay:1.28s}.cm-bracket .cm-br-node.cm-champ{fill:var(--accent);stroke:var(--accent);stroke-width:1px;animation-delay:1.7s}@keyframes cm-br-node{0%,30%{opacity:0;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}50%,78%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.cm-loader *,.cm-loader :before,.cm-loader :after{animation-duration:4s!important;animation-timing-function:ease-in-out!important}}.shared-not-found{text-align:center;padding:80px 24px}.shared-nf-icon{margin-bottom:12px;font-size:40px}.shared-nf-title{color:var(--text);margin-bottom:8px;font-size:18px;font-weight:700}.shared-nf-sub{color:var(--muted);font-size:14px}@media (max-width:680px){.shared-page{padding:calc(var(--nav-h) + 16px) 16px 48px}.shared-title{font-size:20px}.shared-content{padding:16px 0}}.auth-gate{min-height:calc(100vh - var(--nav-h));justify-content:center;align-items:center;padding:40px 16px;display:flex}.auth-gate-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;min-height:100vh;position:fixed;inset:0}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;width:100%;max-width:400px;padding:36px 32px;position:relative}.auth-dismiss{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:16px;line-height:1;position:absolute;top:14px;right:14px}.auth-dismiss:hover{color:var(--text);background:var(--border)}.auth-brand{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:20px;font-size:12px;font-weight:700}.auth-title{color:var(--text);margin:0 0 6px;font-size:22px;font-weight:700}.auth-sub{color:var(--muted);margin:0 0 20px;font-size:14px;line-height:1.5}.auth-form{margin-top:4px}.auth-error{color:#f87171;background:#cc33331f;border:1px solid #cc33334d;border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.auth-notice{background:var(--brand-subtle);border:1px solid var(--brand-border);color:var(--accent2);border-radius:8px;margin-bottom:14px;padding:10px 14px;font-size:13px}.auth-toggle{color:var(--muted);text-align:center;margin-top:18px;font-size:13px}.auth-toggle-btn{cursor:pointer;color:var(--accent);background:0 0;border:none;padding:0;font-size:13px;font-weight:600;text-decoration:underline}.auth-google-btn{background:var(--surface2);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;font-size:15px;font-weight:600;font-family:var(--font-body);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:10px 16px;transition:background .15s,border-color .15s;display:flex}.auth-google-btn:hover{background:var(--surface3);border-color:#ffffff26}.auth-google-btn:disabled{opacity:.5;cursor:not-allowed}.auth-divider{color:var(--muted);align-items:center;gap:10px;margin:16px 0;font-size:12px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.avatar{background:var(--accent);color:#fff;font-family:var(--font-display);letter-spacing:.04em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.avatar.muted{background:var(--surface3);color:var(--text)}.sub-tab-count{opacity:.5;margin-left:6px;font-weight:500}.app-dashboard-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.nav-avatar-btn{cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:4px;transition:background .15s;display:inline-flex}.nav-avatar-btn:hover{background:var(--surface2)}.nav-dropdown-user{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 18px;display:flex}.nav-dropdown-email{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;overflow:hidden}.nav-dropdown-divider{background:var(--border);height:1px}.nav-dropdown-item--danger{color:var(--danger)}.nav-dropdown-item--danger:hover{background:var(--danger-subtle)}
