@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@500;700&family=Inter:wght@400;500;600;700&display=swap";:root{--surface-app:#f0f4f8;--surface-sidebar:#1e3a5f;--surface-sidebar-h:#264a73;--surface-sidebar-a:#163350;--surface-card:#fff;--surface-card-sub:#f7fafc;--surface-topbar:#fff;--surface-input:#f0f4f8;--surface-input-foc:#fff;--accent-primary:#1e3a5f;--accent-hover:#2b4d78;--accent-light:#e8eff6;--accent-border:#1e3a5f26;--secondary:#3b82c4;--secondary-hover:#2d6da8;--secondary-light:#dbeafe;--text-primary:#0f1d2f;--text-secondary:#475569;--text-muted:#94a3b8;--text-on-dark:#f0f4f8;--text-on-dark-sec:#a3bfdb;--border-default:#e2e8f0;--border-subtle:#f1f5f9;--border-strong:#cbd5e1;--border-accent:#1e3a5f33;--color-success:#0d7c4a;--color-success-warm:#65a30d;--color-success-bg:#ecfdf5;--color-error:#b91c1c;--color-error-bg:#fef2f2;--color-warning:#b45309;--color-warning-bg:#fffbeb;color:var(--text-primary);background-color:var(--surface-app);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,sans-serif}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100vh}body{background:var(--surface-app);margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}:where(a,button,input,[tabindex]:not([tabindex="-1"])):focus-visible{outline-offset:2px;outline:2px solid #1e3a5f66}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:80;background:var(--accent-primary);color:#fff;border-radius:.5rem;padding:.5rem .75rem;font-size:.75rem;font-weight:600;transition:top .15s;position:fixed;top:-3rem;left:1rem}.system-setting-card .setting-meta{grid-area:meta}.skip-link:focus{top:1rem}.app-shell{background:var(--surface-app);min-height:100vh;display:flex}.app-panel{flex-direction:column;flex:1;min-width:0;display:flex}.app-content{flex:1;padding:2rem;overflow-y:auto}.app-content-inner{max-width:1360px;margin:0 auto}.settings-toolbar,.settings-actions{flex-wrap:wrap;align-items:end;gap:.75rem;margin:1.25rem 0;display:flex}.settings-toolbar label,.settings-card label{flex-direction:column;gap:.35rem;display:flex}.settings-toolbar input,.settings-toolbar select,.settings-card input,.settings-card select{min-height:2.25rem;padding:.35rem .5rem}.settings-list{gap:.75rem;display:grid}.settings-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.settings-card h2{margin:0;font-size:1rem}.settings-card p{margin:.25rem 0}.system-setting-title-row{justify-content:space-between;align-items:end;gap:1rem;display:flex}.system-search-card{padding:1.25rem}.system-search-form{flex-wrap:wrap;align-items:stretch;gap:.75rem;display:flex}.system-search-field,.system-category-filter,.system-status-filter{border:1px solid var(--border-default);background:var(--surface-card);color:var(--text-secondary);border-radius:.5rem;margin:0;padding:.45rem .65rem .55rem;font-size:.75rem;font-weight:600}.system-search-field{flex:24rem;gap:.25rem;min-width:16rem;display:grid}.system-search-field legend,.system-category-filter legend,.system-status-filter legend{background:var(--surface-card);color:var(--text-secondary);padding:0 .2rem;font-size:.7rem;font-weight:600}.system-search-field .club-search-input-wrap{border:0;min-height:2.75rem;padding:0}.system-category-filter{flex:0 16rem;gap:.25rem;min-width:12rem;display:grid}.system-category-filter select{min-height:2.75rem}.system-status-filter{flex-wrap:wrap;flex:0 auto;align-items:center;gap:.55rem .75rem;display:flex}.system-search-actions{flex:0 0 100%;justify-content:flex-end;align-items:center;margin-top:.25rem}.system-setting-group{gap:.75rem;display:grid}.system-setting-group>.section-label{margin:.75rem 0 0}.system-setting-group .system-setting-card{margin:0}.system-setting-form{padding:1.25rem}.system-setting-form .section-title{margin:0 0 1rem}.system-setting-form>form{gap:1rem;display:grid}.setting-toggle label{flex-direction:row;align-items:center}.setting-actions{justify-content:end;gap:.5rem;display:flex}.system-settings-list{gap:.75rem;display:grid}.system-setting-card{grid-template-columns:minmax(14rem,1.2fr) minmax(18rem,2fr) auto;grid-template-areas:"heading value actions""description value actions""meta value actions";gap:.6rem;padding:1rem 1.15rem;display:grid}.system-setting-card.is-modified{border-color:var(--secondary)}.system-setting-card .setting-description{color:var(--text-secondary);grid-area:description;font-size:.85rem}.system-setting-heading{grid-area:heading;justify-content:space-between;align-items:start;gap:1rem;display:flex}.system-setting-heading h2,.system-setting-card p{margin:0}.system-setting-heading h2{font-size:1rem}.setting-key,.setting-meta{color:var(--text-muted);font-family:DM Mono,monospace;font-size:.75rem}.setting-category{color:var(--text-secondary);font-size:.75rem;font-weight:600}.system-setting-value{grid-area:value;align-self:center;max-width:42rem}.system-setting-value input,.system-setting-value select{width:100%;min-height:2.25rem;padding:.35rem .5rem}.setting-hint{color:var(--text-muted);margin-top:.35rem;font-size:.75rem}.setting-toggle{border:0;gap:1rem;margin:0;padding:0;display:flex}.system-setting-card .setting-actions{grid-area:actions;align-self:center;padding-top:.35rem}.setting-toggle legend{margin-bottom:.35rem}.system-setting-form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.system-setting-description,.system-setting-value-field{grid-column:1/-1}.system-setting-description textarea{resize:vertical;border:1px solid var(--border-default);background:var(--surface-input);padding:.5rem}.system-setting-limits{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:1rem;display:grid}@media (width<=900px){.system-category-filter{flex:12rem}}@media (width<=600px){.system-setting-title-row,.system-setting-heading{flex-direction:column;align-items:start}.system-setting-card{grid-template-columns:1fr;grid-template-areas:"heading""description""value""meta""actions"}.system-search-form,.system-setting-form-grid{grid-template-columns:1fr}.system-setting-description,.system-setting-value-field,.system-setting-limits{grid-column:auto}.system-setting-limits{grid-template-columns:1fr}}.button-like{cursor:pointer}.app-footer{border-top:1px solid var(--border-subtle);color:var(--text-muted);padding:1.5rem 2rem;font-size:.75rem}.app-footer p{max-width:1360px;margin:0 auto}.route-loader{min-height:100vh;color:var(--text-secondary);place-items:center;font-size:.875rem;display:grid}.sidebar{background:var(--surface-sidebar);color:var(--text-on-dark);flex-direction:column;transition:width .3s ease-out,transform .3s ease-out;display:flex}.sidebar-desktop{width:15rem;height:100vh;position:sticky;top:0}.sidebar-desktop.is-collapsed{width:4rem}.sidebar-mobile{z-index:60;width:15rem;height:100vh;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar-mobile.is-open{transform:translate(0)}.sidebar-header{justify-content:space-between;align-items:flex-start;gap:.5rem;padding:1.25rem 1.25rem 1rem;display:flex}.sidebar-brand{flex-direction:column;gap:.25rem;display:flex}.sidebar-brand-title{letter-spacing:-.01em;align-items:baseline;gap:.3rem;margin:0;font-size:1rem;display:inline-flex}.sidebar-brand-light{font-weight:400}.sidebar-brand-line{background:#fff3;width:2rem;height:2px}.sidebar-control{color:var(--text-on-dark-sec);cursor:pointer;background:0 0;border:0;border-radius:.5rem;padding:.35rem}.sidebar-control:hover{color:var(--text-on-dark);background:#ffffff14}.sidebar-nav{flex-direction:column;gap:.75rem;padding-bottom:1rem;display:flex}.sidebar-group{flex-direction:column;gap:.2rem;display:flex}.sidebar-section-label{letter-spacing:.15em;text-transform:uppercase;color:#a3bfdba6;margin:0;padding:0 1.25rem .4rem;font-size:.625rem;font-weight:600}.sidebar-item{appearance:none;color:var(--text-on-dark-sec);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-left:2px solid #0000;border-radius:.4rem;align-items:center;gap:.7rem;min-height:42px;margin:0 .75rem;padding:.65rem .75rem;transition:background-color .15s,color .15s,border-color .15s;display:flex}.sidebar-item:hover{color:var(--text-on-dark);background:#ffffff14}.sidebar-item.is-active{color:#fff;background:#ffffff1a;border-left-color:#fff;font-weight:500}.sidebar-item.is-disabled{opacity:.45;pointer-events:none}.sidebar-item.is-collapsed{justify-content:center;margin:0 .4rem;padding:.65rem 0}.sidebar-item-label{flex:1;font-size:.875rem}.sidebar-footer{margin-top:auto;padding:.75rem}.sidebar-footer-panel{color:var(--text-on-dark-sec);background:#ffffff14;border:1px solid #ffffff1f;border-radius:.5rem;padding:.75rem}.sidebar-footer-panel p{margin:0;font-size:.75rem;line-height:1.4}.sidebar-version{color:#ffffff52;margin-top:.6rem;font-size:.625rem}.sidebar-footer-collapsed{text-align:center;color:#ffffff52;font-size:.625rem}.topbar{background:var(--surface-topbar);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;height:3.5rem;padding:0 1.5rem;display:flex;box-shadow:0 1px 3px #0000000a}.topbar-left,.topbar-right{align-items:center;gap:1rem;display:flex}.topbar-left{flex:1;min-width:0}.icon-button{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:.5rem;justify-content:center;align-items:center;min-width:2rem;min-height:2rem;padding:.35rem;display:inline-flex}.icon-button:hover{color:var(--text-primary);background:var(--accent-light)}.breadcrumb{-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;font-size:.8125rem;overflow-x:auto}.breadcrumb ol{align-items:center;min-width:max-content;margin:0;padding:0;list-style:none;display:flex}.breadcrumb-item{color:var(--text-muted);align-items:center;display:inline-flex}.breadcrumb-link:hover{color:var(--text-secondary)}.breadcrumb-current{color:var(--text-primary);font-weight:500}.notification-wrap{position:relative}.notification-dot{background:var(--color-error);border-radius:999px;width:.4rem;height:.4rem;position:absolute;top:.35rem;right:.3rem}.user-dropdown{position:relative}.user-trigger{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;border-radius:.5rem;align-items:center;gap:.55rem;padding:.2rem .45rem;display:inline-flex}.user-trigger:hover{background:var(--accent-light);color:var(--text-primary)}.user-avatar{background:var(--accent-primary);color:#fff;border-radius:.35rem;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.75rem;font-weight:600;display:inline-flex}.user-name{font-size:.875rem}.user-menu{border:1px solid var(--border-default);z-index:20;transform-origin:100% 0;background:#fff;border-radius:.5rem;min-width:220px;padding:.25rem 0;animation:.15s ease-out forwards menu-in;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 20px #00000014}@keyframes menu-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.user-menu-header{border-bottom:1px solid var(--border-default);padding:.75rem 1rem}.user-menu-title{color:var(--text-primary);margin:0;font-size:.875rem;font-weight:500}.user-menu-subtitle{color:var(--text-muted);margin:.2rem 0 0;font-size:.75rem}.user-menu-item{text-align:left;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:.55rem 1rem;font-size:.875rem}.user-menu-item:hover{background:var(--surface-card-sub);color:var(--text-primary)}.user-menu-divider{border-top:1px solid var(--border-default);margin:.25rem 0}.user-menu-item.logout{color:var(--color-error)}.user-menu-item.logout:hover{background:var(--color-error-bg)}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.75rem;margin:0 0 .9rem;font-size:.75rem;font-weight:600;display:flex}.section-label-line{background:var(--border-default);flex:1;height:1px}.badge{letter-spacing:.08em;text-transform:uppercase;border-radius:.3rem;align-items:center;padding:.1rem .42rem;font-size:.625rem;font-weight:600;line-height:1;display:inline-flex}.badge.subtle{color:var(--text-on-dark-sec);background:#ffffff26}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge.success{background:var(--color-success-bg);color:var(--color-success)}.badge.error{background:var(--color-error-bg);color:var(--color-error)}.import-panel{flex-direction:column;gap:1rem;display:flex}.import-file-controls{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.import-file-controls label{font-weight:600}.import-file-name{color:var(--text-muted);font-size:.875rem}.import-upload-progress{min-width:15rem;color:var(--text-secondary);flex:16rem;align-items:center;gap:.6rem;font-size:.75rem;display:flex}.import-upload-progress progress{width:min(18rem,100%);accent-color:var(--accent-primary)}.import-upload-status{color:var(--color-success);flex-basis:100%;margin:0;font-size:.875rem}.import-upload-status--error{color:var(--color-error)}.import-panel-grid{grid-template-columns:minmax(16rem,.8fr) minmax(20rem,2fr) minmax(15rem,1fr);align-items:start;gap:1rem;display:grid}.import-source-selector,.import-season-list,.import-resource-list,.import-report-panel,.import-preview-workspace{flex-direction:column;gap:.75rem;display:flex}.import-source-selector h2,.import-season-list h2,.import-resource-list h2,.import-report-panel h2,.import-preview-workspace h2{margin:0;font-size:1rem}.import-source-card,.import-season-item,.import-resource-item{justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem;display:flex}.import-resource-items{flex-direction:column;gap:.75rem;display:flex}.import-resource-item{align-items:stretch;padding:0;display:flex}.import-resource-actions{border-left:1px solid var(--border-subtle);order:2;justify-content:flex-end;align-items:center;gap:.5rem;padding:.85rem;display:flex}.import-resource-content{flex:1;order:1;padding:.85rem}.import-resource-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.import-resource-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:.75rem 0 0;display:grid}.import-resource-details div{flex-direction:column;gap:.2rem;display:flex}.import-resource-details dt{color:var(--text-muted);font-size:.75rem}.import-resource-details dd{margin:0;font-size:.875rem}.import-resource-emphasis dt,.import-resource-emphasis dd{font-size:1rem;font-weight:700}.import-source-card{min-height:5.5rem;padding:0}.import-source-card.selected{border-color:var(--accent-primary);box-shadow:0 0 0 1px var(--accent-primary)}.import-source-select{text-align:left;width:100%;min-height:5.5rem;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;gap:.25rem;padding:.85rem 2.75rem .85rem .85rem;display:flex;position:relative}.import-source-select:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.import-source-select span,.import-season-item small{color:var(--text-muted);font-size:.75rem}.import-source-status{color:var(--text-muted);display:inline-flex;position:absolute;top:50%;right:.85rem;transform:translateY(-50%)}.import-source-status--available{color:var(--color-success-warm)}.import-source-select .import-source-status{font-size:initial}.import-source-select .import-source-status--available{color:var(--color-success-warm)}.import-source-status--loading{animation:1.5s ease-in-out infinite import-status-pulse}@keyframes import-status-pulse{50%{opacity:.4}}.import-season-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.import-start-button{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success)}.import-start-button:hover:not(:disabled){border-color:var(--color-success);background:var(--color-success);color:var(--text-on-dark)}.import-report-panel{min-height:10rem;padding:1rem}.import-preview-content,.import-preview-list,.import-preview-actions{flex-direction:column;gap:.75rem;display:flex}.import-preview-heading,.import-preview-actions{flex-direction:row;justify-content:space-between;align-items:center}.import-preview-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.import-preview-summary div{border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:.5rem}.import-preview-summary dt,.import-preview-list small{color:var(--text-muted);font-size:.75rem}.import-preview-summary dd{margin:.25rem 0 0;font-weight:700}.import-preview-list{padding-left:1.1rem}.import-preview-list li small{display:block}.import-preview-error{color:var(--color-error)}.import-preview-success{color:var(--color-success)}.progress-bar{flex-direction:column;gap:.35rem;display:flex}.progress-bar-track{border-radius:var(--radius-md);background:var(--border-subtle);height:.6rem;position:relative;overflow:hidden}.progress-bar-fill{border-radius:var(--radius-md);background:var(--color-success);height:100%;transition:width .3s}.progress-bar-track--indeterminate:before{content:"";background:var(--color-success);border-radius:var(--radius-md);width:40%;animation:1.2s ease-in-out infinite progress-bar-indeterminate;position:absolute;inset:0}@keyframes progress-bar-indeterminate{0%{transform:translate(-100%)}to{transform:translate(350%)}}.progress-bar-value-text{color:var(--text-muted);font-size:.75rem}@media (width<=1279px){.import-panel-grid{grid-template-columns:minmax(16rem,1fr) minmax(18rem,2fr)}.import-report-panel{grid-column:1/-1}}@media (width<=767px){.import-panel-grid{grid-template-columns:1fr}.import-report-panel{grid-column:auto}.import-season-item{flex-direction:column;align-items:flex-start}.import-resource-details,.import-preview-summary{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.import-source-status--loading,.progress-bar-track--indeterminate:before{animation:none}}.card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:.5rem}.ui-button{cursor:pointer;border:1px solid #0000;border-radius:.5rem;min-height:2.5rem;padding:.55rem .9rem;font-size:.875rem;font-weight:600;transition:background-color .15s,border-color .15s,color .15s}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button-primary{background:var(--accent-primary);color:var(--text-on-dark)}.ui-button-primary:hover:not(:disabled){background:var(--accent-hover)}.ui-button-secondary{border-color:var(--border-strong);background:var(--surface-card);color:var(--accent-primary)}.ui-button-secondary:hover:not(:disabled){border-color:var(--accent-primary);background:var(--accent-light)}.ui-input{border:1px solid var(--border-default);background:var(--surface-input);min-height:2.5rem;color:var(--text-primary);border-radius:.5rem;padding:.55rem .7rem}.ui-input:focus{border-color:var(--accent-primary);background:var(--surface-input-foc)}.ui-state{margin:0;padding:1rem 1.15rem}.overview-page{flex-direction:column;gap:2.5rem;display:flex}.hero-banner{padding:2rem;position:relative;overflow:hidden}.hero-banner-content{z-index:1;max-width:640px;position:relative}.hero-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.75rem;font-weight:600}.hero-title{color:var(--text-primary);margin:.2rem 0 0;font-size:2rem;line-height:1.1}.hero-description{color:var(--text-secondary);margin:0;font-size:.875rem;line-height:1.7}.hero-note{background:var(--surface-card-sub);color:var(--text-secondary);border-left:2px solid #1e3a5f4d;border-radius:0 .5rem .5rem 0;margin-top:1rem;padding:.85rem 1rem;font-size:.875rem}.hero-circle-big,.hero-circle-small{border-radius:999px;position:absolute}.hero-circle-big{background:#1e3a5f08;width:16rem;height:16rem;top:-5rem;right:-5rem}.hero-circle-small{background:#1e3a5f0d;width:8rem;height:8rem;bottom:1rem;right:3rem}.accent-bar{background:var(--accent-primary);border-radius:999px;width:3rem;height:.25rem;margin:.75rem 0 1.25rem}.global-search-form{align-items:flex-start;gap:.75rem;display:flex}.global-search-field{flex:1;position:relative}.global-search-icon{color:var(--text-muted);position:absolute;top:.95rem;left:.85rem}.global-search-input{border:1px solid var(--border-default);background:var(--surface-card);width:100%;height:3rem;color:var(--text-primary);border-radius:.5rem;padding:0 1rem 0 2.45rem;font-size:.875rem;transition:border-color .15s,background-color .15s}.global-search-input::placeholder{color:var(--text-muted)}.global-search-input:focus{background:var(--surface-input-foc);border-color:var(--accent-primary)}.global-search-meta{color:var(--text-muted);margin:.5rem 0 0;font-size:.75rem}.primary-button{border:1px solid var(--accent-primary);background:var(--accent-primary);color:#fff;cursor:pointer;border-radius:.5rem;height:3rem;padding:0 1.75rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.primary-button:hover:not(:disabled){background:var(--accent-hover)}.primary-button:disabled{opacity:.6;cursor:not-allowed}.danger-button{color:#fff;cursor:pointer;background:#e57373;border:1px solid #e57373;border-radius:.5rem;height:3rem;padding:0 1.75rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.danger-button:hover:not(:disabled){background:#d85f5f}.danger-button:disabled{opacity:.6;cursor:not-allowed}.quick-access-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;display:grid}.quick-access-card{flex-direction:column;gap:1rem;min-height:220px;padding:1.5rem;transition:border-color .2s,box-shadow .2s;display:flex}.quick-access-card:hover{border-color:#1e3a5f4d;box-shadow:0 1px 3px #00000014}.quick-access-icon{background:var(--surface-app);width:2.5rem;height:2.5rem;color:var(--accent-primary);border-radius:.5rem;justify-content:center;align-items:center;display:inline-flex}.quick-access-title{color:var(--text-primary);margin:0;font-size:.9375rem}.quick-access-description{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.5}.quick-access-footer{border-top:1px solid var(--border-default);color:var(--accent-primary);align-items:center;gap:.2rem;margin-top:auto;padding-top:.85rem;font-size:.75rem;font-weight:600;display:inline-flex}.quick-access-arrow{transition:transform .2s}.quick-access-card:hover .quick-access-arrow{transform:translate(.16rem)}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;display:grid}.stats-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #b91c1c40;border-radius:.5rem;margin:0 0 .75rem;padding:.75rem 1rem;font-size:.8125rem}.stat-card{border-top:2px solid var(--border-accent);padding:1.35rem}.stat-label{letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.625rem;font-weight:600}.stat-value{color:var(--text-primary);letter-spacing:-.02em;margin:.55rem 0 0;font-family:DM Mono,JetBrains Mono,monospace;font-size:1.9rem;line-height:1.1}.stat-meta{color:var(--color-success);align-items:center;gap:.35rem;margin-top:.85rem;font-family:DM Mono,JetBrains Mono,monospace;font-size:.75rem;display:inline-flex}.stat-meta-text{color:var(--text-muted);font-size:.625rem}.season-status{color:var(--color-success);align-items:center;gap:.45rem;margin-top:.85rem;font-size:.75rem;font-weight:500;display:inline-flex}.season-status-dot{background:var(--color-success);border-radius:999px;width:.4rem;height:.4rem}.skeleton{background:#cbd5e159;border-radius:.35rem;width:70%;height:1.2rem;animation:1.1s ease-in-out infinite skeleton-loading;display:inline-flex}@keyframes skeleton-loading{0%{opacity:.55}to{opacity:1}}.analytics-banner{background:var(--accent-primary);color:#fff;border-radius:.5rem;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem;display:flex}.analytics-title{letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.875rem}.analytics-description{color:var(--text-on-dark-sec);margin:.5rem 0 0;font-size:.875rem}.analytics-button{white-space:nowrap;color:var(--accent-primary);background:#fff;border:1px solid #fff;border-radius:.45rem;justify-content:center;align-items:center;min-height:2.5rem;padding:0 1rem;font-size:.875rem;font-weight:600;display:inline-flex}.analytics-button:hover{background:#ffffffe6}.page-block{flex-direction:column;gap:1.25rem;display:flex}.match-filter-card{padding:1.25rem}.match-filter-card h2{margin:0 0 1rem;font-size:1.25rem}.match-filter-grid{grid-template-columns:minmax(8rem,1fr) minmax(8rem,1fr) minmax(10rem,1.2fr) minmax(17rem,2fr);align-items:end;gap:1rem;display:grid}.match-filter-field{min-width:0;color:var(--text-primary);flex-direction:column;gap:.4rem;font-size:.8rem;font-weight:600;display:flex}.match-filter-field select,.match-filter-field input{border:1px solid var(--border-strong);background:var(--surface-card);width:100%;min-height:2.5rem;color:var(--text-primary);border-radius:.35rem;padding:.45rem .6rem}.match-date-fields{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.4rem;display:grid}.match-player-location{border:1px solid var(--border-default);border-radius:.35rem;flex-wrap:wrap;grid-column:1/-1;gap:1.5rem;margin:0;padding:.75rem;display:flex}.match-player-location legend{width:100%;color:var(--text-primary);margin-bottom:.45rem;font-size:.8rem;font-weight:600}.match-player-location label{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.85rem;display:inline-flex}.match-player-name{grid-column:1/-1;max-width:34rem}.match-filter-card>button{margin-top:1rem}.users-admin-actions{justify-content:flex-end}.users-search-card{padding:1.25rem}.users-search-form{flex-wrap:wrap;align-items:stretch}.users-search-field{border:1px solid var(--border-default);background:var(--surface-card);min-width:16rem;color:var(--text-secondary);border-radius:.5rem;flex:24rem;gap:.25rem;margin:0;padding:.45rem .65rem .55rem;font-size:.75rem;font-weight:600;display:grid}.users-search-field legend{background:var(--surface-card);color:var(--text-secondary);padding:0 .2rem;font-size:.7rem;font-weight:600}.users-search-field .club-search-input-wrap{border:0;min-height:2.75rem;padding:0}.users-active-filter{border:1px solid var(--border-default);border-radius:.5rem;flex-wrap:wrap;flex:0 auto;align-items:center;gap:.55rem .75rem;min-width:0;margin:0;padding:.45rem .65rem;display:flex}.users-active-filter legend{color:var(--text-secondary);margin-right:.1rem;font-size:.7rem;font-weight:600}.radio-option,.checkbox-option{color:var(--text-secondary);align-items:center;gap:.45rem;font-size:.8rem;font-weight:500;display:inline-flex}.radio-option input,.checkbox-option input{accent-color:var(--accent-primary)}.users-search-actions{flex:0 0 100%;justify-content:flex-end;align-items:center;margin-top:.25rem}.users-list{gap:.75rem;display:grid}.users-count{color:var(--text-muted);margin:0;font-size:.8rem}.users-items{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.user-row{grid-template-columns:minmax(11rem,1.2fr) minmax(8rem,.8fr) minmax(12rem,1.3fr) auto auto;align-items:center;gap:1rem;padding:1rem 1.15rem;display:grid}.user-row--inactive{opacity:.7}.user-row-identity,.user-row-roles,.user-row-permissions{min-width:0}.user-row-identity,.user-row-roles,.user-row-permissions,.user-row-status{gap:.35rem;display:grid}.user-row-username{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.user-row-email{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.role-badge,.permission-badge,.status-badge{border-radius:.3rem;align-items:center;width:fit-content;padding:.25rem .45rem;font-size:.65rem;font-weight:600;display:inline-flex}.role-badge{color:var(--accent-primary);background:var(--accent-light)}.permission-badge{color:var(--text-secondary);background:var(--surface-subtle)}.user-row-roles,.user-row-permissions{flex-wrap:wrap;gap:.35rem;display:flex}.status-badge--active{color:var(--color-success);background:var(--color-success-bg)}.status-badge--inactive{color:var(--color-warning);background:var(--color-warning-bg)}.user-row-actions,.user-form-actions,.confirm-dialog-actions{flex-wrap:wrap;gap:.6rem;display:flex}.user-row-actions .secondary-button{min-height:2.35rem;padding:.45rem .7rem;font-size:.75rem}.user-form,.confirm-dialog{padding:1.25rem}.user-form>form{gap:1rem;display:grid}.user-form .section-title{margin:0 0 1rem}.user-form-roles{border:1px solid var(--border-default);border-radius:.4rem;gap:.6rem;margin:0;padding:.85rem;display:grid}.user-form-roles legend{color:var(--text-secondary);padding:0 .25rem;font-size:.8rem;font-weight:600}.role-permissions-hint{color:var(--text-muted);font-size:.7rem;font-weight:400}.confirm-dialog{gap:1rem;display:grid}.confirm-dialog p{color:var(--text-secondary);margin:0;font-size:.9rem}@media (width<=800px){.match-filter-grid,.user-row{grid-template-columns:repeat(2,minmax(0,1fr))}.user-row-actions,.user-row-status{grid-column:span 1}.match-player-name{max-width:none}}@media (width<=520px){.match-filter-grid{grid-template-columns:1fr}.match-date-range,.match-player-location,.match-player-name{grid-column:auto}.match-player-location{flex-direction:column;gap:.6rem}.users-search-card{padding:1rem}.users-active-filter{flex-direction:column;align-items:flex-start}.user-row{grid-template-columns:1fr}.user-row-actions,.user-row-status{grid-column:auto}}.page-title{color:var(--text-primary);margin:0;font-size:1.7rem;line-height:1.2}.page-description{color:var(--text-secondary);max-width:760px;margin:0;font-size:.9rem;line-height:1.7}.placeholder-panel{padding:1.25rem}.placeholder-panel h2{margin:0;font-size:1rem}.placeholder-panel p{color:var(--text-secondary);margin:.6rem 0 0;font-size:.85rem;line-height:1.65}.search-summary{color:var(--text-muted);margin:0;font-size:.875rem}.search-term{color:var(--text-primary)}.club-search-form{align-items:flex-start;gap:.75rem;display:flex}.club-search-input-wrap{min-height:3rem;color:var(--text-muted);background:var(--surface-card);border:1px solid var(--border-default);border-radius:.5rem;flex:1;align-items:center;gap:.7rem;padding:0 1rem;display:flex}.club-search-input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;font-size:.875rem}.club-search-input::placeholder{color:var(--text-muted)}.club-state{color:var(--text-secondary);gap:.85rem;padding:1.25rem;font-size:.875rem;line-height:1.6;display:grid}.club-state p{margin:0}.club-result-list,.club-team-list,.club-competition-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.club-result-link{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.club-result-link:hover{background:var(--surface-card-sub)}.club-result-link strong,.club-result-link span,.club-team-card,.club-competition-card span{display:block}.club-source{color:var(--text-muted);margin-top:.35rem;font-size:.75rem;display:block}.club-detail-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.club-action-row,.club-form-actions{flex-wrap:wrap;gap:.75rem;display:flex}.club-controls{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:flex-end;gap:1rem;display:flex}.club-tabs{gap:.25rem;display:flex}.club-tab{min-height:2.75rem;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:.45rem;padding:.55rem .75rem;font-size:.8125rem;font-weight:600;display:inline-flex}.club-tab:hover,.club-tab.is-active{color:var(--accent-primary)}.club-tab.is-active{border-bottom-color:var(--accent-primary)}.club-tab:focus-visible{outline:2px solid var(--accent-primary);outline-offset:-2px}.player-detail-controls{gap:.75rem;margin-top:1rem;display:grid}.player-tabs{border-bottom:1px solid var(--border-default);flex-wrap:wrap}.club-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.75rem;padding-bottom:.5rem;display:grid}.season-slider{grid-area:1/1/auto/-1;justify-self:stretch;width:auto}.player-competition-filter{grid-area:2/2;justify-self:stretch;width:100%}.source-options{grid-area:2/1}.club-filter{color:var(--text-secondary);gap:.35rem;font-size:.7rem;font-weight:600;display:grid}.club-filter select{border:1px solid var(--border-strong);min-width:11rem;color:var(--text-primary);background:var(--surface-card);border-radius:.4rem;padding:.55rem .65rem}.source-options{border:0;flex-wrap:wrap;align-items:center;gap:.65rem;margin:0;padding:0;display:flex}.source-options legend,.season-slider legend{width:100%;padding:0}.source-options label,.filter-all-button{font-size:.75rem;font-weight:500}.season-slider{min-width:0}.season-slider input[type=range]{accent-color:var(--accent-primary);width:100%;min-width:0}.season-marks{width:100%;color:var(--text-muted);justify-content:space-between;font-size:.65rem;display:flex}.season-marks span{text-align:center;padding-top:.45rem;position:relative}.season-marks span:before{background:var(--text-muted);content:"";width:1px;height:.35rem;position:absolute;top:0;left:50%}.filter-all-button{color:var(--accent-primary);cursor:pointer;background:0 0;border:0;text-decoration:underline}.history-chart{align-items:end;gap:1rem;min-height:13rem;padding:1.25rem 1.25rem 2.25rem 3.25rem;display:flex;position:relative;overflow-x:auto}.chart-axis{color:var(--text-secondary);font-size:.7rem;position:absolute}.chart-axis-y{writing-mode:vertical-rl;top:.45rem;left:1rem;transform:rotate(180deg)}.chart-axis-x{bottom:.45rem;right:.75rem}.chart-connected-scatter .history-bar{border-radius:50%}.chart-connected-scatter .history-bars{align-items:center}.history-connected-chart{min-height:0;display:block;overflow-x:auto}.history-connected-chart svg{aspect-ratio:640/220;width:100%;min-width:0;height:14rem;max-height:14rem;display:block}.chart-reference-grid{pointer-events:none;position:absolute;inset:1.25rem 1.25rem 2.25rem 3.25rem}.chart-reference-row{border-top:1px solid var(--border-subtle);position:absolute;left:0;right:0}.chart-reference-row span{color:var(--text-secondary);font-size:.65rem;position:absolute;top:-.55rem;left:-2rem}.chart-grid-line{stroke:var(--border-subtle);stroke-width:1px}.chart-line{fill:none;stroke-width:1.5px}.matches-line{stroke:var(--secondary)}.wins-line{stroke:var(--color-success)}.matches-point{stroke:var(--secondary);fill:var(--secondary)}.wins-point{stroke:var(--color-success);fill:var(--color-success)}.chart-season-label,.chart-axis-label,.chart-axis-tick{fill:var(--text-secondary);font-family:inherit;font-size:10px}.history-bar-group{text-align:center;flex-direction:column;flex:1 1 0;justify-content:end;align-items:center;gap:.35rem;min-width:0;min-height:10rem;font-size:.7rem;display:flex}.history-bar{background:var(--secondary);border-radius:.25rem .25rem 0 0;width:min(3rem,70%);min-height:.5rem}.history-bars{justify-content:center;align-items:end;gap:.2rem;width:100%;height:8rem;display:flex}.history-bars .history-bar{width:.8rem}.history-bar.matches,.legend-matches:before{background:var(--secondary)}.history-bar.wins,.legend-wins:before{background:var(--color-success)}.history-legend{color:var(--text-secondary);flex-wrap:wrap;gap:1rem;margin:0;font-size:.75rem;display:flex}.history-legend span:before{content:"";width:.65rem;height:.65rem;margin-right:.35rem;display:inline-block}.history-table{border-collapse:collapse;width:100%;font-size:.8rem}.history-table caption{text-align:left;color:var(--text-secondary);margin-bottom:.5rem}.history-table th,.history-table td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:.65rem}.table-wrap{overflow-x:auto}.opponent-tabs{flex-wrap:wrap}.opponent-category{gap:.75rem;display:grid}.opponent-category+.opponent-category{margin-top:1rem}.opponent-category h3{margin:0;font-size:.95rem}.opponent-more{justify-items:end;margin-top:.75rem;display:grid}.opponent-more button{cursor:pointer;color:var(--text-secondary);background:0 0;border:0;padding:0;font-size:.75rem;text-decoration:underline}.opponent-more button:hover{color:var(--text-primary)}.pagination{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;font-size:.8rem;display:flex}.pagination button{border:1px solid var(--border-strong);font-size:inherit;color:var(--text-primary);background:var(--surface-card);cursor:pointer;border-radius:.4rem;padding:.45rem .7rem}.pagination button:disabled{cursor:not-allowed;opacity:.5}.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}.opponent-search{max-width:26rem;color:var(--text-secondary);gap:.35rem;font-size:.8rem;font-weight:600;display:grid}.opponent-search-input{border:2px solid var(--border-strong);width:100%;color:var(--text-primary);background:var(--surface-card);border-radius:.4rem;padding:.55rem .65rem}.opponent-search-input:focus-visible{outline:2px solid var(--accent-primary);outline-offset:1px}.opponent-match-list{gap:.65rem;display:grid}.opponent-match-list h3{margin:0;font-size:.95rem}.opponent-match{padding:.8rem 1rem}.opponent-match summary{cursor:pointer;font-weight:600}.opponent-match-content{gap:.55rem;padding-top:.75rem;display:grid}.opponent-match-content p,.opponent-game p{margin:0}.opponent-game{border-left:3px solid var(--accent-primary);background:var(--surface-subtle);gap:.25rem;padding:.65rem;display:grid}.secondary-button{border:1px solid var(--border-strong);background:var(--surface-card);min-height:2.75rem;color:var(--accent-primary);cursor:pointer;border-radius:.5rem;justify-content:center;align-items:center;gap:.45rem;padding:.55rem .9rem;font-size:.8125rem;font-weight:600;display:inline-flex}.secondary-button:hover{background:var(--accent-light)}.club-detail-section{gap:.85rem;display:grid}.club-detail-section h2{margin:0;font-size:1.05rem}.club-team-card,.club-competition-card,.club-player-card,.club-match-card{padding:1rem 1.15rem}.club-team-card span,.club-competition-card>span,.club-competition-card div span{color:var(--text-muted);margin-top:.35rem;font-size:.75rem}.club-competition-card{justify-content:space-between;gap:1rem;transition:border-color .15s,background-color .15s;display:flex}.club-competition-card:hover{border-color:var(--accent-primary);background:var(--surface-card-sub)}.club-competition-heading,.club-competition-summary,.club-player-card,.club-match-card,.club-match-card div{flex-direction:column;gap:.35rem;display:flex}.club-competition-heading span,.club-player-card span,.club-match-card span{color:var(--text-muted);font-size:.75rem}.club-competition-summary{color:var(--text-secondary);text-align:right;align-items:flex-end;font-size:.75rem}.club-player-list,.club-match-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.club-match-card{flex-direction:row;justify-content:space-between;gap:1rem}.club-match-result{text-align:right;align-items:flex-end}.club-match-result.is-win{color:var(--color-success)}.club-match-result.is-loss{color:var(--color-error)}.club-match-result.is-draw{color:var(--color-warning)}.back-link{width:fit-content;color:var(--accent-primary);align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;display:inline-flex}.back-link:hover{color:var(--accent-hover)}.club-empty,.selected-club-filter{color:var(--text-secondary);margin:0;font-size:.85rem}.selected-club-filter{border-left:2px solid var(--secondary);background:var(--secondary-light);padding:.75rem 1rem}.club-edit-form{gap:1rem;max-width:42rem;padding:1.25rem;display:grid}.club-form-actions{justify-content:flex-end}.mobile-backdrop{z-index:50;background:#0006;border:0;position:fixed;inset:0}.auth-shell{background:var(--surface-app);place-items:center;min-height:100vh;padding:2rem 1rem;display:grid}.auth-card{border:1px solid var(--border-default);background:var(--surface-card);border-radius:.75rem;width:min(100%,28rem);padding:2rem;box-shadow:0 12px 32px #0f1d2f14}.auth-brand{color:var(--accent-primary);gap:.3rem;margin-bottom:2rem;font-size:1.1rem;display:inline-flex}.auth-brand strong{font-weight:700}.auth-form{gap:1rem;display:grid}.auth-field{color:var(--text-secondary);gap:.4rem;font-size:.8rem;font-weight:600;display:grid}.auth-field input{border:1px solid var(--border-strong);width:100%;color:var(--text-primary);background:var(--surface-input);border-radius:.4rem;padding:.7rem .75rem}.auth-field input:focus{border-color:var(--secondary);background:var(--surface-input-foc)}.auth-submit{width:100%;margin-top:.5rem}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-top:1.5rem;font-size:.8rem;display:flex}.auth-links a{color:var(--secondary-hover)}.form-error,.form-success{border-radius:.4rem;margin:0;padding:.75rem;font-size:.8rem}.form-error{color:var(--color-error);background:var(--color-error-bg)}.form-success{color:var(--color-success);background:var(--color-success-bg)}.forbidden-card{text-align:center}.forbidden-card .primary-button{margin-top:1rem;display:inline-flex}@media (width<=1279px){.app-content{padding:1.5rem}.sidebar-desktop{width:4rem}.topbar{padding:0 1rem}.topbar-left,.topbar-right{gap:.75rem}.quick-access-grid,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.user-name{display:none}}@media (width<=767px){.sidebar-desktop{display:none}.club-filters{grid-template-columns:minmax(0,1fr)}.season-slider,.source-options,.player-competition-filter{grid-area:auto/1}.app-content,.app-footer{padding:1rem}.hero-banner{padding:1.25rem}.hero-title{font-size:1.5rem}.hero-circle-big{width:11rem;height:11rem;top:-4rem;right:-4rem}.hero-circle-small{width:6rem;height:6rem;bottom:1rem;right:1rem}.global-search-form,.club-search-form{flex-direction:column;gap:.6rem}.primary-button{width:100%}.quick-access-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat-card{padding:1rem}.stat-value{font-size:1.4rem}.analytics-banner{flex-direction:column;align-items:flex-start}.analytics-button{width:100%}.club-detail-header,.club-competition-card,.club-match-card{flex-direction:column}.club-controls{border-bottom:0;flex-direction:column;align-items:stretch}.club-tabs,.player-tabs{border-bottom:1px solid var(--border-default)}.club-filters{padding-bottom:0}.source-options,.season-slider,.player-competition-filter{grid-area:auto/1;justify-self:stretch}.club-filter{flex:1}.club-filter select{width:100%;min-width:0}.club-competition-summary,.club-match-result{text-align:left;align-items:flex-start}.breadcrumb{font-size:.75rem}}
