@media(min-width:900px){#league-dashboard-grid{display:flex!important;gap:2rem;width:100%;max-width:100%;box-sizing:border-box;align-items:flex-start}#league-rankings-block{flex:1;min-width:0}.dashboard-league-column-right{flex:1;min-width:0;display:flex;flex-direction:column;gap:1.5rem}#league-results-block,#league-upcoming-block{width:100%}.dashboard-league-block{margin:0!important;width:100%;max-width:100%}}@media(max-width:1200px){.dashboard-league-block{width:100%!important;max-width:100%!important;margin:0 0 1.2rem!important;display:block!important}}@media(max-width:600px){.dashboard-league-block{width:100%!important;max-width:100%!important;margin:0 0 1rem!important;display:block!important}.dashboard-grid{display:flex!important;flex-direction:column!important;gap:.7rem!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}}@media(max-width:600px){.dashboard-league-columns,.dashboard-grid,.card-collection,.league-ranking-group__categories,.league-enrolled-list,.list{display:flex!important;flex-direction:column!important;gap:1rem!important;width:100%!important;max-width:100%!important}.dashboard-league-col,.dashboard-league-col--rankings,.dashboard-league-col--matches,.dashboard-league-col--my-matches,.card,.collection-card,.league-ranking-group,.league-enrolled-card{min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important;margin:0!important}}@media(max-width:600px){.dashboard-league-columns,.dashboard-grid,.card-collection,.league-ranking-group__categories,.league-enrolled-list,.list{display:flex!important;flex-direction:column!important;gap:1rem!important}.dashboard-league-col,.dashboard-league-col--rankings,.dashboard-league-col--matches,.dashboard-league-col--my-matches{min-width:0;width:100%;max-width:100%}}@media(max-width:600px){.app-section{width:100%;max-width:100%;margin:0;padding-left:0!important;padding-right:0!important;border-radius:0!important;box-sizing:border-box}.card{border-radius:0!important;margin:0!important;width:100%;max-width:100%;box-sizing:border-box}.card-header,.card .card-header{padding-left:1rem!important;padding-right:1rem!important}}@media(max-width:600px){#section-league-dashboard .card{padding:.5rem .2rem;border-radius:0;box-shadow:none}.dashboard-metrics{grid-template-columns:1fr;gap:.7rem}.dashboard-highlight{flex-direction:column;gap:.7rem;padding:.7rem .3rem}.dashboard-league-columns{grid-template-columns:1fr;gap:1rem}.dashboard-league-col{min-width:0!important;gap:1rem}.dashboard-league-col--rankings,.dashboard-league-col--matches,.dashboard-league-col--my-matches{min-width:0!important}.metric-card{padding:.7rem .5rem}.card-header h3{font-size:1.1rem}.bracket-round,.dashboard-league-col,.card,.collection-card{min-width:0!important}}.tournament-poster-popup-bg{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeInBg .2s}.tournament-poster-popup-img{max-width:95vw;max-height:90vh;border-radius:16px;box-shadow:0 4px 32px #00000040;background:#fff;animation:fadeInImg .2s}@keyframes fadeInBg{0%{opacity:0}to{opacity:1}}@keyframes fadeInImg{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.material-symbols-outlined,.padel-icon,.mobile-only{display:none}.desktop-only{display:inline}@media(max-width:768px){.mobile-only{display:inline}.desktop-only{display:none}.ranking-avatar-container{display:none!important}}.field-error{color:#f44336;font-size:12px;line-height:1.2;display:block;min-height:16px;margin-top:4px}.blog-latest-item{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--card-border)}.blog-latest-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.blog-latest-cover{width:250px;height:150px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;background:#eee;box-shadow:0 1px 4px #0000001a}.blog-latest-content{flex:1;min-width:0}.blog-latest-content a{font-weight:600;color:var(--text-primary);text-decoration:none;display:block;margin-bottom:.25rem}.blog-latest-content a:hover{color:var(--accent)}.blog-reactions button.selected{background:var(--accent-soft);color:var(--accent-strong);border:1.5px solid var(--accent-strong)}.blog-reactions button.disabled{opacity:.5;pointer-events:none}:root{color-scheme:light;font-family:Jost,Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;--bg-primary: #f5f6fa;--bg-secondary: #edf1f7;--card-bg: #ffffff;--card-border: rgba(148, 163, 184, .25);--card-shadow: none;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--accent: #1d4ed8;--accent-soft: #e0e7ff;--accent-strong: #1e3a8a;--success: #16a34a;--warning: #f59e0b;--danger: #ef4444;--info: #0ea5e9;--radius-lg: 20px;--radius-md: 16px;--radius-sm: 10px;--focus-ring: 2px solid rgba(29, 78, 216, .35)}#auth-club-logo,#header-club-logo,#mobile-club-logo{width:112px!important;height:112px!important;background-size:contain!important;background-repeat:no-repeat;background-position:center;border-radius:0!important;box-shadow:none!important}*{box-sizing:border-box}*,*:before,*:after{box-shadow:none!important}:focus-visible{outline:var(--focus-ring);outline-offset:2px}html{overflow-x:hidden;max-width:100%}body{margin:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);line-height:1.1;overflow-x:hidden;max-width:100%;position:relative}.global-loader{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:99999;transition:opacity .4s ease,visibility .4s ease}.global-loader.hidden{opacity:0;visibility:hidden;pointer-events:none}.global-loader__spinner{position:relative;width:80px;height:80px;margin-bottom:1.5rem}.spinner-ring{position:absolute;width:100%;height:100%;border:4px solid transparent;border-top-color:var(--accent);border-radius:50%;animation:spinLoader 1.5s cubic-bezier(.68,-.55,.265,1.55) infinite}.spinner-ring:nth-child(2){border-top-color:#1d4ed880;animation-delay:.15s;animation-duration:1.8s}.spinner-ring:nth-child(3){border-top-color:#1d4ed840;animation-delay:.3s;animation-duration:2.1s}.global-loader__text{margin:0;font-size:1.1rem;font-weight:600;color:var(--text-secondary);letter-spacing:.5px;animation:pulse 1.5s ease-in-out infinite}@keyframes spinLoader{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}body.loading{overflow:hidden}body.loading:before{content:"";position:fixed;inset:0;background:var(--bg-primary);z-index:9999;display:flex;align-items:center;justify-content:center}body.loading:after{content:"";position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:48px;height:48px;border:4px solid var(--card-border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;z-index:10000}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}[hidden]{display:none!important}a{color:inherit}img{max-width:100%;display:block}.layout{display:grid;grid-template-columns:1fr;min-height:100vh;position:relative;overflow:hidden}.auth-view{display:flex;align-items:center;justify-content:center;padding:2.5rem 1.5rem 3rem;position:relative;z-index:1;background:var(--bg-primary)}.auth-view[hidden],.auth-view.is-hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.auth-card{width:min(460px,100%);background:var(--card-bg);border-radius:var(--radius-lg);padding:2.5rem 2.25rem;border:1px solid var(--card-border)}.auth-header h1{margin:0 0 .35rem;font-size:clamp(2.1rem,4vw,2.6rem)}.auth-header p{margin:0 0 1.75rem;color:var(--text-secondary);line-height:1.6}.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:1.75rem}.tab-button{padding:.8rem 1.25rem;border-radius:999px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary);font-weight:600;cursor:pointer;transition:color .2s ease,background-color .2s ease,border-color .2s ease}.tab-button:hover{border-color:var(--accent);color:var(--accent-strong)}.tab-button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-pane{animation:fade .3s ease}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.form{display:grid;gap:1rem}.inline-form{gap:.75rem}.inline-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}label{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.95rem}.color-select{margin:0;padding:.75rem .9rem .9rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.45);background:#fff;display:grid;gap:.75rem}.color-select legend{margin:0;padding:0 .2rem;font-size:.95rem;font-weight:600;color:var(--text-secondary)}.color-select-options{display:flex;flex-wrap:wrap;gap:.75rem}.color-select-option{position:relative;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-secondary);font-weight:500}.color-select-option input{position:absolute;inset:0;opacity:0;pointer-events:none}.color-select-option .color-swatch{width:2rem;height:2rem;border-radius:999px;border:2px solid var(--card-bg);outline:1px solid var(--card-border);outline-offset:-2px;background-color:var(--option-color);transition:transform .2s ease,outline-color .2s ease,border-color .2s ease}.color-select-option .color-select-label{font-size:.85rem;color:var(--text-muted)}.color-select-option input:checked+.color-swatch{border-color:var(--accent);outline-color:var(--accent);transform:scale(1.05)}.color-select-option input:focus-visible+.color-swatch{outline:var(--focus-ring);outline-offset:2px}input,select,textarea{font:inherit;padding:.75rem .9rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);transition:border-color .2s ease,background-color .2s ease}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:var(--focus-ring);outline-offset:2px}textarea{resize:vertical;min-height:120px}.category-colored{--category-color: #2563eb;transition:background-color .2s ease,border-color .2s ease;position:relative}.category-color-indicator{display:inline-block;width:.65rem;height:.65rem;border-radius:999px;background-color:var(--category-color, #2563eb);border:2px solid var(--card-bg);outline:1px solid var(--card-border);outline-offset:-1px;flex-shrink:0}.with-category-color{display:inline-flex;align-items:center;gap:.45rem}.list li strong.with-category-color,.calendar-event strong.with-category-color{display:flex}.calendar-event .category-color-indicator{width:.55rem;height:.55rem;border-width:2px}.form-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.form-grid--columns-1{grid-template-columns:repeat(1,minmax(0,1fr))}.form-hint{margin:-.2rem 0 0;font-size:.85rem;color:var(--text-muted)}.form-hint.error{color:var(--danger)}.form-hint.match-format-hint{margin:0 0 1.5rem;display:block;padding:.75rem 1rem;background:#f0f4ff;border-left:3px solid var(--accent);border-radius:4px;font-size:.9rem;color:var(--text-primary)}.court-reservation-participants{margin-top:.25rem}.match-results-section{margin:1.5rem 0;border:2px solid var(--accent);border-radius:var(--radius-md);overflow:hidden;background:#f9fafb}.match-results-header{display:grid;grid-template-columns:minmax(150px,2.5fr) repeat(var(--set-count, 3),minmax(60px,1fr));gap:.75rem;padding:1rem;background:var(--accent);font-weight:700;font-size:.85rem;color:#fff;border-bottom:none;text-align:center}.match-results-row{display:grid;grid-template-columns:minmax(150px,2.5fr) repeat(var(--set-count, 3),minmax(60px,1fr));gap:.75rem;padding:1rem;align-items:center;border-bottom:1px solid rgba(148,163,184,.2);background:#fff}.match-results-row:last-child{border-bottom:none}.player-info{display:flex;align-items:center}.player-name-input{border:none!important;background:transparent!important;padding:0!important;font-weight:600;color:var(--text-primary);font-size:1rem;overflow-x:auto;white-space:nowrap;min-width:0}.set-input{width:100%;text-align:center;font-size:1.1rem;font-weight:700;padding:.6rem .5rem;border:2px solid #d1d5db;border-radius:8px;background:#fff;transition:all .2s ease}.set-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:#fafbff}.set-input.winner-set{background:#dbeafe;border-color:var(--accent);color:var(--accent)}.calculated-winner{padding:.75rem 1rem;background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--accent-strong);text-align:center}.calculated-winner .winner-name{font-weight:700}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem;cursor:pointer}.checkbox-label input[type=checkbox]{margin-top:.25rem;cursor:pointer}.checkbox-label span{flex:1}.walkover-winner-section{padding:1rem;background:var(--accent-soft);border-radius:var(--radius-sm);border:1px solid var(--accent)}.court-reservation-participants label.inline-field{min-width:0}.form-section{display:grid;gap:.75rem;margin-top:1.5rem}.form-section:first-of-type{margin-top:0}.form-section__header{display:grid;gap:.15rem}.form-section__header h3{margin:0;font-size:1.05rem;color:var(--text-primary)}.club-editor,.club-editor__list{display:grid;gap:.75rem}.club-editor__item{display:grid;gap:.75rem;padding:.9rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.35);background:#fff;box-shadow:0 10px 24px #0f172a14}.club-editor__item textarea{min-height:72px}.club-editor__empty{margin:0;padding:.75rem;border-radius:var(--radius-sm);border:1px dashed rgba(148,163,184,.55);color:var(--text-muted);font-size:.9rem;text-align:center}.club-editor__footer{display:flex;justify-content:flex-start}.club-editor__footer>*+*{margin-left:.5rem}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}.form-actions--inline{justify-content:flex-start}.category-creation{margin-top:.5rem;padding:1rem;border-radius:var(--radius-sm);border:1px dashed rgba(59,130,246,.35);background:#3b82f60f;display:grid;gap:.75rem}.category-creation__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.category-creation__header h4{margin:0;font-size:1.05rem;color:var(--text-primary)}.category-creation__list{display:grid;gap:.75rem}.category-creation__item{background:var(--card-bg);border-radius:var(--radius-sm);border:1px solid var(--card-border);padding:.85rem;display:grid;gap:.75rem}button{font:inherit;border:none;cursor:pointer}button:disabled{opacity:.65;cursor:not-allowed}.primary{padding:.75rem 1.4rem;border-radius:999px;background:var(--accent);color:#fff;font-weight:600;transition:background-color .2s ease,color .2s ease}.primary:hover{background:var(--accent-strong)}.secondary{padding:.7rem 1.2rem;border-radius:999px;background:transparent;border:1px solid var(--card-border);color:var(--text-secondary);font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.secondary:hover,.secondary:focus-visible{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong)}.ghost{padding:.7rem 1.1rem;border-radius:999px;background:transparent;color:var(--text-secondary);border:1px solid var(--card-border);transition:background-color .2s ease,color .2s ease,border-color .2s ease}.ghost:hover,.ghost:focus-visible{background:var(--bg-secondary);border-color:transparent;color:var(--accent-strong)}.danger{padding:.7rem 1.2rem;border-radius:999px;background:var(--danger);border:none;color:#fff;font-weight:600;transition:background-color .2s ease}.danger:hover,.danger:focus-visible{background:#dc2626}.success{padding:.7rem 1.2rem;border-radius:999px;background:var(--success);border:none;color:#fff;font-weight:600;transition:background-color .2s ease}.success:hover,.success:focus-visible{background:#15803d}.link-button{padding:0;background:none;border:none;color:var(--accent-strong);font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none}.link-button:hover,.link-button:focus-visible{text-decoration:underline;color:var(--accent-strong)}.link-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.danger{padding:.5rem .9rem;border-radius:999px;background:transparent;border:1px solid rgba(239,68,68,.2);color:var(--danger);font-weight:600;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.danger:hover,.danger:focus-visible{background:#ef444414;border-color:#ef444466}.status-message{margin:.75rem 0 0;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;display:none}.status-message.show,.status-message.success,.status-message.error,.status-message.info{display:block}.status-message.success{background:#16a34a1f;color:var(--success)}.status-message.error{background:#ef44441f;color:var(--danger)}.status-message.info{background:#0ea5e91f;color:var(--info)}.banner{margin:1rem 0 1.5rem;padding:.9rem 1.2rem;border-radius:var(--radius-sm);background:#2563eb14;color:var(--accent-strong);display:none}.banner.show{display:block}.banner.error{background:#ef44441f;color:var(--danger)}.install-prompt{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:120;background:#fff;border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #0f172a59}.install-prompt__content{display:flex;flex-direction:column;gap:1rem;padding:1.1rem 1.2rem}.install-prompt__text{display:grid;gap:.35rem}.install-prompt__title{margin:0;font-size:1.1rem}.install-prompt__text p{margin:0;color:var(--text-secondary)}.install-prompt__instructions{font-size:.95rem}.install-prompt__instructions strong{color:var(--text-primary)}.install-prompt__actions{display:flex;flex-wrap:wrap;gap:.5rem}@media(min-width:768px){.install-prompt{left:auto;width:min(420px,calc(100% - 2rem));right:2rem;bottom:2rem}.install-prompt__content{flex-direction:row;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem}.install-prompt__text{flex:1}.install-prompt__actions{justify-content:flex-end}}.app-view{background:var(--bg-primary);min-height:100vh;position:relative;z-index:2;overflow-x:hidden;max-width:100%}.app-view[hidden],.app-view.is-hidden{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}.app-shell{display:flex;flex-direction:column;min-height:100%;overflow-x:hidden;max-width:100%}.mobile-topbar{display:none;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--card-bg);border-bottom:1px solid var(--card-border);position:static;top:auto;z-index:30}.mobile-topbar__brand{display:flex;align-items:center;gap:.65rem;min-width:0}.mobile-topbar__title{font-size:1.05rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-toggle{display:none;align-items:center;gap:.55rem;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);font-weight:600;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.mobile-menu-toggle__label{font-size:.95rem}.mobile-menu-toggle__icon{position:relative;width:20px;height:2px;background:currentColor;border-radius:999px;transition:background .2s ease}.mobile-menu-toggle__icon:before,.mobile-menu-toggle__icon:after{content:"";position:absolute;left:0;width:100%;height:2px;background:currentColor;border-radius:999px;transition:transform .2s ease}.mobile-menu-toggle__icon:before{transform:translateY(-6px)}.mobile-menu-toggle__icon:after{transform:translateY(6px)}.mobile-menu-toggle:hover{border-color:transparent;background:var(--accent-soft);color:var(--accent-strong)}.mobile-menu-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}.mobile-menu-backdrop{position:fixed;inset:0;background:#0f172a1a;opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:25}.mobile-menu-backdrop.is-active{opacity:1;pointer-events:auto}.mobile-menu-close{display:none;align-self:flex-end;border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-secondary);border-radius:999px;padding:.35rem;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;margin-bottom:.25rem}.mobile-menu-close:focus-visible{outline:var(--focus-ring);outline-offset:2px}.mobile-menu-close:hover{border-color:transparent;background:var(--accent-soft);color:var(--accent-strong)}.mobile-menu-close__icon{position:relative;display:block;width:18px;height:18px}.mobile-menu-close__icon:before,.mobile-menu-close__icon:after{content:"";position:absolute;top:50%;left:50%;width:100%;height:2px;background:currentColor;border-radius:999px}.mobile-menu-close__icon:before{transform:translate(-50%,-50%) rotate(45deg)}.mobile-menu-close__icon:after{transform:translate(-50%,-50%) rotate(-45deg)}body.mobile-menu-open{overflow:hidden}body.mobile-menu-open .mobile-menu-toggle__icon{background:transparent}body.mobile-menu-open .mobile-menu-toggle__icon:before{transform:translateY(0) rotate(45deg)}body.mobile-menu-open .mobile-menu-toggle__icon:after{transform:translateY(0) rotate(-45deg)}.app-header{position:static;top:auto;z-index:40;background:var(--card-bg);border-bottom:1px solid var(--card-border);transition:transform .3s ease}.app-header__inner{display:flex;align-items:center;gap:1.75rem;padding:.75rem clamp(1.5rem,3vw,3rem)}.app-header__brand{display:flex;align-items:center;gap:1rem;min-width:0}.app-switcher{--switcher-padding: .25rem;--active-index: 0;position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:var(--switcher-padding);background:var(--bg-secondary);border-radius:999px;border:1px solid var(--card-border);isolation:isolate}.app-switcher:before{content:"";position:absolute;top:var(--switcher-padding);bottom:var(--switcher-padding);left:var(--switcher-padding);width:calc((100% - var(--switcher-padding) * 2) / 2);border-radius:999px;background:var(--card-bg);border:1px solid var(--card-border);transform:translate(calc(var(--active-index) * 100%));transition:transform .25s ease;z-index:0}.app-switcher__button{position:relative;z-index:1;padding:.55rem .85rem;border-radius:999px;border:none;background:transparent;color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer;transition:color .2s ease-in-out;display:inline-flex;align-items:center;gap:.35rem}.app-switcher__button.icon-left{padding-left:1.15rem}.app-switcher__button.icon-right{padding-right:2.1rem}.app-switcher{overflow:hidden}.app-switcher__icon{width:20px;height:20px;display:inline-block;object-fit:contain;vertical-align:middle;filter:brightness(0) saturate(100%) invert(23%) sepia(88%) saturate(1742%) hue-rotate(206deg) brightness(92%) contrast(95%)}.app-switcher__button--active .app-switcher__icon{filter:none}.app-switcher__button:hover{color:var(--accent-strong)}.app-switcher__button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.app-switcher__button--active{color:var(--accent-strong);font-weight:700}.main-menu{flex:1 1 auto;width:100%;min-width:0}.main-menu[hidden]{display:none!important}.main-menu__list{display:flex;align-items:center;gap:.35rem;list-style:none;margin:0;padding:0}.app-header__actions{margin-left:auto;display:flex;align-items:center}.app-header__action-button{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem 1.1rem;border-radius:999px;border:1px solid var(--accent-strong);background:transparent;color:var(--accent-strong);font-weight:600;line-height:1.2;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease,opacity .2s ease}.app-header__action-button:hover:not([disabled]){background:var(--accent-soft);color:var(--accent-strong)}.app-header__action-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.app-header__action-button[disabled]{opacity:.6;cursor:not-allowed}.main-menu__item,.menu-group{position:relative;display:flex;align-items:stretch}.menu-group--expanded>.menu-button{color:var(--accent-strong);background:var(--accent-soft);border-color:transparent}.menu-submenu{position:absolute;top:calc(100% + .5rem);left:0;min-width:220px;padding:.65rem;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--card-border);display:grid;gap:.3rem;z-index:45}.menu-submenu__list{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.menu-button{display:inline-flex;align-items:center;gap:.45rem;padding:.5rem .9rem;border-radius:999px;border:1px solid transparent;background:transparent;color:var(--text-secondary);font-weight:600;line-height:1.2;cursor:pointer;transition:color .2s ease,background .2s ease,border-color .2s ease;text-decoration:none}.menu-account-avatar{width:28px;height:28px;border-radius:50%;background-size:cover;background-position:center;background-color:#e2e8f0;box-shadow:0 0 0 1px #0000000f;flex-shrink:0;border:2px solid rgba(37,99,235,.22)}.menu-submenu .menu-button{width:100%;justify-content:flex-start;border-radius:var(--radius-sm)}.menu-button .menu-label{flex:1 1 auto;text-align:left}.menu-button .menu-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;padding:.125rem .45rem;border-radius:999px;background:var(--accent-strong);color:#fff;font-size:.75rem;font-weight:700;line-height:1;margin-left:auto}.menu-button--parent .menu-badge{margin-left:.5rem}.menu-button:hover,.menu-button:focus-visible{color:var(--accent-strong);background:var(--accent-soft);border-color:transparent}.menu-button:focus-visible{outline:var(--focus-ring);outline-offset:2px}.menu-button.active{color:var(--accent-strong);background:var(--accent-soft);border-color:transparent}.menu-button--nested{padding:.55rem .75rem;border-radius:var(--radius-sm)}.menu-button--logout{background:#ef44441a;color:var(--danger);font-weight:700}@media(max-width:820px){.menu-button--logout{margin-bottom:2rem}}.menu-button__icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;line-height:1}.menu-button--logout .menu-button__icon{min-width:1.5rem}.menu-button--logout:hover,.menu-button--logout:focus-visible{background:#ef444426;border-color:#ef44444d;color:var(--danger)}.menu-button[hidden]{display:none!important}.sidebar-account{display:flex;align-items:center;gap:.75rem;margin-left:auto;text-align:right}.sidebar-user{display:flex;align-items:center;gap:.65rem}.sidebar-user__info{display:grid;gap:.2rem}.profile-avatar{width:46px;height:46px;border-radius:50%;background:var(--accent-soft);background-size:cover;background-position:center;border:2px solid rgba(37,99,235,.25)}.profile-name{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.tag{display:inline-flex;align-items:center;justify-content:center;padding:.1rem .55rem;border-radius:999px;background:#94a3b81f;color:var(--text-secondary);font-size:.75rem;font-weight:600}.tag--link{border:none;cursor:pointer;background:#94a3b81f;color:var(--text-secondary);font:inherit;appearance:none;transition:background-color .2s ease,color .2s ease,transform .2s ease}.tag--link:focus-visible,.tag--link:hover{background:#2563eb1f;color:var(--accent-strong);transform:translateY(-1px)}.tag--link:active{transform:translateY(0)}.app-main{flex:1 1 auto;width:100%;max-width:100%;padding:2rem clamp(1.5rem,3vw,3.25rem) 3rem;background:transparent;overflow-x:hidden;box-sizing:border-box}.app-section{display:block;width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.app-section[hidden]{display:none}.card{background:var(--card-bg);border-radius:var(--radius-md);padding:1.1rem;box-shadow:var(--card-shadow);border:1px solid var(--card-border);margin-bottom:2rem}.card.card-clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.card.card-clickable:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0000001f}.card-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem}.tournament-categories__poster{margin:0 0 1.5rem;padding:0;display:none;justify-content:center}.tournament-categories__poster[hidden]{display:none}.tournament-categories__poster-image{max-height:180px;width:auto;max-width:100%;object-fit:contain;border-radius:var(--radius-sm);background:#0f172a0f;border:1px solid rgba(148,163,184,.18);display:block}.card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;padding:.25rem .65rem;border-radius:999px;background:#2563eb1f;color:var(--accent-strong);font-weight:600;font-size:.95rem}.card-toggle{border:none;background:none;color:var(--accent-strong);font-weight:600;font-size:.9rem;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .45rem;border-radius:var(--radius-sm);transition:background .2s ease,color .2s ease}.card-toggle:after{content:"\25be";font-size:.85rem;transform:translateY(.5px)}.card-toggle[aria-expanded=false]:after{content:"\25b8"}.card-toggle:hover,.card-toggle:focus-visible{background:var(--accent-soft);color:var(--accent-strong)}.card-toggle:focus-visible{outline:var(--focus-ring);outline-offset:2px}.card.card--collapsed>:not(.card-header){display:none}.card-actions{display:inline-flex;align-items:center;gap:.75rem}.card-header h3{margin:0;font-size:1.3rem;color:var(--text-primary)}.card-subtitle{margin:0;font-size:.9rem;color:var(--text-secondary)}#push-settings-card .card-subtitle{margin-bottom:1rem}#push-settings-card .card-actions,#push-settings-card .form-hint{margin-top:.75rem}.player-directory-summary{margin-bottom:.75rem;font-size:.9rem;color:var(--text-secondary)}.player-directory-summary strong{color:var(--accent-strong)}.player-directory-controls{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.player-directory-controls input,.player-directory-controls select{width:100%}.player-directory-controls__action{display:flex;align-items:flex-end}.player-directory-controls__action>*{width:100%}.inline-field{display:grid;gap:.4rem;color:var(--text-secondary);font-size:.9rem}.inline-field select{min-width:200px}@media(max-width:640px){#tournament-matches-card .card-header{flex-direction:column;align-items:flex-start;gap:.75rem}#tournament-matches-card .card-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem}#tournament-matches-card .card-actions .inline-field,#tournament-matches-card .card-actions select,#tournament-matches-card .card-actions input,#tournament-matches-card .card-actions button{width:100%}#tournament-matches-card .card-actions select{min-width:0}#ranking-card .card-header{flex-direction:column;align-items:flex-start;gap:.75rem}#ranking-card .card-actions{width:100%;display:grid;grid-template-columns:1fr;gap:.75rem}#ranking-card .card-actions .inline-field,#ranking-card .card-actions select,#ranking-card .card-actions button{width:100%}#ranking-card .card-actions select{min-width:0}}.categories-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:1rem;margin-bottom:1rem}.categories-toolbar .inline-field{margin:0}.categories-toolbar__note{margin-left:auto;font-size:.85rem;color:var(--text-secondary);display:none}.dashboard-metrics{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.dashboard-highlight{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.25rem;padding:1.25rem 1.5rem;border-radius:var(--radius-md);border:1px solid rgba(37,99,235,.18);background:linear-gradient(135deg,#3b82f61f,#3b82f60d)}.dashboard-highlight--single-league{display:block}.league-highlight-layout{display:grid;grid-template-columns:360px 1fr;align-items:start;gap:1.25rem}.league-highlight-poster{width:100%;max-width:350px;max-height:none;object-fit:cover;border:none;background:none;box-shadow:none;border-radius:12px}.dashboard-highlight--single-league .league-detail{display:grid;gap:.9rem}.dashboard-highlight--single-league .league-detail__header{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}@media(max-width:820px){.league-highlight-layout{grid-template-columns:1fr}.league-highlight-poster{max-width:100%;max-height:260px;width:100%;margin:0 auto}}@media(max-width:480px){.dashboard-highlight{padding:.75rem}.league-highlight-poster{max-height:300px}}.dashboard-highlight__count{display:grid;gap:.35rem}.dashboard-highlight__count strong{font-size:2rem;line-height:1;color:var(--accent-strong)}.dashboard-highlight__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary)}.dashboard-highlight__list{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;flex:1}.dashboard-highlight__list .tag{background:#2563eb29;color:var(--accent-strong)}.dashboard-highlight__list .empty-state{margin:0;font-size:.85rem;color:var(--text-secondary)}.metric-card{background:#3b82f614;border-radius:var(--radius-sm);padding:1.1rem;border:1px solid rgba(37,99,235,.15);display:grid;gap:.35rem}.metric-card strong{font-size:1.6rem;color:var(--accent-strong)}.metric-card .metric-label{font-size:.9rem;color:var(--text-secondary)}.dashboard-league-columns{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:1.5rem}.dashboard-league-col{display:flex;flex-direction:column;gap:1.5rem}.dashboard-league-col--rankings{min-width:320px}.dashboard-league-col--matches,.dashboard-league-col--my-matches{min-width:260px}@media(max-width:1100px){.dashboard-league-columns{grid-template-columns:1fr 1fr}.dashboard-league-col--my-matches{grid-column:span 2;flex-direction:row;gap:1.5rem}}@media(max-width:800px){.dashboard-league-columns{grid-template-columns:1fr}.dashboard-league-col{flex-direction:column;gap:1.5rem}}.dashboard-news-item{display:flex;gap:1rem;padding:1rem;border:1px solid var(--card-border);border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;cursor:pointer;box-shadow:0 1px 3px #0000000d;position:relative;overflow:hidden}.dashboard-news-item:before{content:"";position:absolute;top:0;left:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--accent) 0%,#ff6b6b 100%);transform:scaleY(0);transition:transform .3s ease}.dashboard-news-item:hover:before{transform:scaleY(1)}.dashboard-news-item:hover{box-shadow:0 6px 20px #0000001a,0 3px 6px #0000000d;border-color:transparent;transform:translateY(-3px)}.dashboard-news-cover{width:120px;height:80px;object-fit:cover;border-radius:var(--radius-md);flex-shrink:0;background:#eee;transition:transform .3s ease}.dashboard-news-item:hover .dashboard-news-cover{transform:scale(1.05)}.dashboard-news-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-news-content h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.dashboard-news-summary{margin:0;font-size:.875rem;color:var(--text-secondary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;white-space:pre-line}.dashboard-news-meta{display:flex;align-items:center;gap:.5rem;margin-top:auto}.dashboard-news-meta .blog-post-avatar{width:24px;height:24px;flex-shrink:0}.dashboard-news-meta .blog-post-avatar img,.dashboard-news-meta .blog-post-avatar span{width:24px;height:24px;font-size:.625rem}.dashboard-news-author-name{font-size:.75rem;font-weight:500;color:var(--text-primary)}.dashboard-news-date{font-size:.7rem;color:var(--text-tertiary)}#dashboard-news-list,#dashboard-tournaments-list,#dashboard-leagues-list{display:flex;flex-direction:column;gap:.75rem}.dashboard-card-item{display:flex;gap:1rem;padding:1rem;border:1px solid var(--card-border);border-radius:var(--radius-md);transition:all .2s;background:#fff;cursor:pointer}.dashboard-card-item:hover{box-shadow:0 2px 8px #0000001a;border-color:var(--accent);transform:translateY(-2px)}.dashboard-card-poster{height:100%;width:auto;max-width:350px;object-fit:contain;border-radius:var(--radius-sm);flex-shrink:0;background-color:#f0f0f0}.dashboard-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem}.dashboard-card-content h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.dashboard-card-meta{display:flex;flex-direction:column;gap:.5rem;margin-top:auto}.dashboard-tournament-details,.dashboard-tournament-fees{display:grid;grid-template-columns:auto 1fr;gap:.375rem .75rem;font-size:.875rem;margin-top:.5rem}.dashboard-tournament-details dt,.dashboard-tournament-fees dt{font-weight:500;color:var(--text-secondary)}.dashboard-tournament-details dd,.dashboard-tournament-fees dd{margin:0;color:var(--text-primary)}.dashboard-tournament-section{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--card-border)}.dashboard-tournament-section strong{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.card-collection{display:grid;gap:1rem}.league-ranking-group{display:grid;gap:1rem;padding:1.1rem 1.25rem;border-radius:var(--radius-lg);border:1px solid rgba(148,163,184,.18);background:#e2e8f040}.league-ranking-group__header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between}.league-ranking-group__title{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.league-ranking-group__meta{font-size:.85rem;color:var(--text-secondary)}.league-ranking-group__categories{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}#league-ranking-cards{display:flex;flex-direction:column;gap:1rem}#league-ranking-cards .league-ranking-group__categories{display:flex;flex-direction:column}#league-ranking-cards .collection-card{display:flex;flex-direction:column;height:100%}#league-ranking-cards .collection-card__list{flex:1;display:flex;flex-direction:column}#league-ranking-cards .collection-card__list-item{display:flex}#league-ranking-cards .collection-card__list .empty-state{margin:0}.league-enrolled-card{display:flex;flex-direction:column;gap:1rem}.league-enrolled-list{display:grid;gap:.75rem}.league-enrolled-item{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem}.league-enrolled-player{display:flex;align-items:center;gap:.75rem}.league-enrolled-player strong{font-weight:600;color:var(--text-primary)}.league-enrolled-category{font-size:.8rem}.collection-card{border:1px solid rgba(148,163,184,.16);border-radius:var(--radius-md);padding:1rem 1.1rem;background:#fff;box-shadow:0 12px 24px #0f172a14;display:grid;gap:.85rem}.collection-card__header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:baseline;justify-content:space-between}.collection-card__title{font-size:1rem;font-weight:600;color:var(--text-primary)}.collection-card__subtitle{font-size:.85rem;color:var(--text-secondary)}.collection-card__meta{font-size:.8rem;color:var(--text-tertiary)}.collection-card__list{margin:0;padding:0;list-style:none;display:grid;gap:.5rem}.collection-card__list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:#e2e8f059;padding:.55rem .75rem;border-radius:var(--radius-sm);font-size:.92rem}.collection-card__position{font-weight:700;color:var(--text-secondary);min-width:1.8rem}.collection-card__player{display:grid;gap:.15rem;flex:1}.collection-card__player strong{font-weight:600;color:var(--text-primary)}.collection-card__player span{font-size:.78rem;color:var(--text-tertiary)}.doubles-pair-members{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem}.doubles-pair-member{display:flex;align-items:center;gap:.5rem}.doubles-pair-member__name{font-weight:600;color:var(--text-primary)}.collection-card__points{font-weight:600;color:var(--text-primary);font-size:.9rem}.tournament-card{max-width:100%}.tournament-card__poster{margin:1rem -.1rem .75rem;overflow:hidden;border-radius:var(--radius-md) var(--radius-md) 0 0}.tournament-card__poster img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#fff;cursor:pointer}.tournament-card__dates{line-height:1.6}.tournament-card__categories{padding-top:.5rem;border-top:1px solid rgba(148,163,184,.12)}.list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.list li{background:#fff;border-radius:var(--radius-sm);padding:.85rem 1rem;border:1px solid rgba(148,163,184,.16);display:grid;gap:.35rem;box-shadow:0 10px 22px #0f172a14}.list li.list-heading{padding:.25rem .5rem;background:transparent;border:none;box-shadow:none;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;display:block}.list li.league-item--historical,.list li.tournament-item--historical{background:#f8fafc;border-color:#94a3b83d;box-shadow:none}.list .match-category-group,.list .tournament-match-group{padding:0;border:none;box-shadow:none;background:transparent;display:flex;flex-direction:column;gap:.75rem}.tournament-match-group__header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.25rem .25rem 0}.tournament-match-group__title{margin:0;font-size:.95rem;font-weight:600;color:var(--text-primary)}.tournament-match-group__count{font-size:.85rem;color:var(--text-secondary)}.tournament-match-group__list{margin:0;padding:0;list-style:none;display:grid;gap:.75rem}.tournament-match-group__empty{margin:0}.match-category-group__header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem .25rem 0}.match-category-group__title{display:flex;align-items:center;gap:.5rem;font-weight:600;color:var(--text-primary)}.match-category-group__title strong{font-size:1rem}.match-category-group__count{font-size:.85rem;color:var(--text-secondary)}.match-category-group__matches{margin:0;padding:0}.match-category-group__pagination{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem .25rem .5rem;font-size:.85rem;color:var(--text-secondary)}.match-category-group__pagination-info{font-weight:500}.match-category-group__pagination-controls{display:flex;gap:.5rem}.match-category-group__pagination-controls .ghost{padding:.75rem 1.5rem;font-size:.95rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;transition:all .2s ease;box-shadow:0 3px 6px #10b9814d}.match-category-group__pagination-controls .ghost:hover:not(:disabled){transform:scale(1.05);background:linear-gradient(135deg,#059669,#047857);box-shadow:0 5px 12px #10b98166}.match-category-group__pagination-controls .ghost:active:not(:disabled){transform:scale(.95)}.match-category-group__pagination-controls .ghost:disabled{background:#e5e7eb;color:#9ca3af;box-shadow:none}.list li.is-active{border-color:#2563eb73;box-shadow:0 16px 30px #2563eb29}.list.compact li{padding:.75rem 1rem;gap:.4rem}.list li strong{font-weight:600;color:var(--text-primary)}.list .meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.list li.match-list-item{gap:.6rem}.list li.match-category-header{padding:.4rem .75rem;background:transparent;border:none;box-shadow:none}.list li.match-category-header h4{margin:0;font-size:.85rem;font-weight:600;color:var(--text-secondary)}.match-list-item__participants,.match-list-item__team{display:flex;flex-direction:column;gap:.5rem;width:100%}.match-list-item__player{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--surface);border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.15)}.match-list-item__player-name{font-weight:600;font-size:.8rem;color:var(--text-primary);flex:1}.match-list-item__vs{font-size:.85rem;font-weight:600;color:var(--text-secondary)}.match-list-item__player--winner{border-color:#10b98180!important;background:linear-gradient(135deg,#10b9812e,#10b9811a)!important;position:relative}.match-list-item__player--winner:after{content:"";position:absolute;inset:0;border:1px solid rgba(16,185,129,.35);border-radius:inherit;pointer-events:none}.match-list-item__player--winner .match-list-item__player-name{color:#065f46;font-size:.8rem;font-weight:700;text-shadow:0 1px 0 rgba(255,255,255,.4)}.match-list-item__player--winner .player-avatar{box-shadow:0 0 0 2px #10b9818c,0 0 0 4px #10b9811f}.match-list-item__meta{gap:.5rem}.match-list-item__scores{display:flex;gap:.3rem;margin-left:auto}.match-list-item__score-box{display:flex;align-items:center;justify-content:center;background:#1f2937;color:#f8fafc;font-weight:700;font-size:.85rem;padding:.4rem .5rem;border-radius:calc(var(--radius-sm) - 6px);min-width:1.8rem;line-height:1;box-shadow:inset 0 0 0 1px #0f172a1f}.match-list-item__score-box--tiebreak{font-style:italic}.match-list-item__score-box--winner{background:#0f172a;color:#e0f2fe;box-shadow:inset 0 0 0 1px #60a5fa59}@media(min-width:640px){.match-list-item__team{flex-direction:row;align-items:center}}#tournament-enrollment-list.tournament-players-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;list-style:none;padding:0;align-items:start}@media(max-width:768px){#tournament-enrollment-list.tournament-players-grid{grid-template-columns:1fr}}.tournament-players-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.tournament-players-card__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-subtle, #f5f5f5);border-bottom:1px solid var(--border-color, #e0e0e0)}.tournament-players-card__title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary, #212121)}.tournament-players-card__count{font-size:.8rem;color:var(--text-secondary, #666);white-space:nowrap}.tournament-players-card__body{list-style:none;padding:0;margin:0}.tournament-players-card__body>li{padding:.6rem .75rem;margin:10px}.tournament-players-card__body>li:not(:last-child){border-bottom:1px solid var(--border-color, #e0e0e0)}#tournament-enrollment-list.tournament-players-grid>li.tournament-players-card{padding:0}.tournament-player-entry{display:grid;gap:.5rem}.tournament-player-entry--limited{grid-template-columns:minmax(0,1fr) auto;align-items:center}.tournament-player-entry--limited .tournament-player-entry__player{grid-column:1 / 2;grid-row:1}.tournament-player-entry--limited .tournament-player-entry__categories{grid-column:2 / 3;grid-row:1;justify-self:end;display:flex;flex-wrap:wrap;gap:.35rem}.tournament-player-entry--limited .tournament-player-entry__meta{display:none}.tournament-player-entry__player{display:flex;align-items:center;gap:.75rem}.tournament-player-entry__player .player-cell{display:inline-flex}.tournament-player-entry__categories{display:flex;flex-wrap:wrap;gap:.4rem}.tournament-player-entry__categories .tag{font-size:.5rem;padding:.3rem .6rem}.tournament-player-entry__meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.tournament-bracket-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-top:1rem}.tournament-bracket-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-left:auto}.tournament-bracket-admin-actions{display:flex;flex-wrap:wrap;gap:.75rem}.tournament-bracket-layout{display:grid;gap:1.5rem;margin-top:1.5rem}.tournament-consolation-card{grid-column:1 / -1}@media(min-width:1024px){.tournament-bracket-layout{grid-template-columns:minmax(260px,320px) 1fr;align-items:flex-start}.tournament-bracket-layout--single-column{grid-template-columns:1fr}}.tournament-bracket-layout--single-column{grid-template-columns:1fr}.tournament-seed-list{display:grid;gap:.75rem}.tournament-seed-entry{display:grid;gap:.35rem;padding:.65rem .75rem;border:1px solid rgba(148,163,184,.18);border-radius:var(--radius-sm);background:#f1f5f973}.tournament-seed-entry__label{display:flex;justify-content:space-between;align-items:center;font-weight:600;color:var(--text-secondary);font-size:.9rem}.tournament-seed-entry__player{font-size:.85rem;color:var(--text-muted)}.tournament-seed-entry select{width:100%}.tournament-bracket-view{overflow-x:auto;padding-bottom:.5rem}body.tournament-fullscreen-active{overflow:hidden}.tournament-bracket-card--fullscreen{position:fixed;inset:0;z-index:1200;width:100vw;height:100vh;max-width:none;margin:0;border-radius:0;box-shadow:none;display:flex;flex-direction:column;padding:clamp(1.25rem,2.5vw,2rem);background:var(--card-bg)}.tournament-bracket-card--fullscreen .card-header{position:sticky;top:0;background:inherit;margin-bottom:1rem;padding-bottom:.75rem;z-index:1;border-bottom:1px solid rgba(148,163,184,.25)}.tournament-bracket-card .card-actions{display:flex;gap:.5rem}.tournament-bracket-card .card-actions button{font-size:.875rem;padding:.5rem 1rem}.tournament-bracket-card .card-actions button:disabled{opacity:.5;cursor:not-allowed}.tournament-bracket-card--fullscreen .tournament-bracket-view{flex:1;min-height:0;overflow:auto;padding-bottom:1.5rem}.tournament-bracket-section{display:grid;gap:1rem}.tournament-bracket-section+.tournament-bracket-section{margin-top:2.5rem}.tournament-bracket-section__title{margin:0;font-size:1.05rem;font-weight:700;color:var(--text-primary)}.tournament-bracket-grid-wrapper{display:flex;flex-direction:column;gap:1.25rem}.tournament-bracket-grid{--bracket-match-height: 9.75rem;--bracket-grid-column-gap: 1.75rem;--bracket-connector-thickness: 2px;--bracket-connector-color: rgba(148, 163, 184, .45);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);column-gap:var(--bracket-grid-column-gap);row-gap:0;align-items:flex-start;padding:0 0 .5rem;overflow-x:auto}.tournament-bracket-grid--focus-mode{grid-auto-columns:minmax(320px,1fr)}.bracket-round{display:flex;flex-direction:column;gap:1.25rem;min-width:280px}.bracket-round--hidden{display:none}.bracket-round--active .bracket-round__title{color:var(--accent-strong)}.bracket-round__title{margin:0;font-weight:700;font-size:.95rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.bracket-round-nav{display:flex;align-items:center;gap:.75rem;padding:0 0 .25rem;overflow-x:auto;scrollbar-gutter:stable both-edges;width:100%}.bracket-round-nav__list{display:none;align-items:center;gap:.5rem;flex:1}.bracket-round-nav__active-label{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bracket-round-nav__active-label[hidden]{display:none!important}.bracket-round-nav__button{border:1px solid rgba(148,163,184,.4);background:#f8fafcd9;color:var(--text-secondary);padding:.45rem .9rem;border-radius:9999px;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;white-space:nowrap}.bracket-round-nav__button:hover,.bracket-round-nav__button:focus-visible{border-color:#3b82f699;color:var(--accent-strong);background:#dbeafeb3;box-shadow:0 6px 12px #3b82f626;outline:none}.bracket-round-nav__button--active{background:#0f172a;color:#f8fafc;border-color:#0f172ae6;box-shadow:0 10px 18px #0f172a2e}.bracket-round-nav__control{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:9999px;border:1px solid rgba(148,163,184,.4);background:#fff;color:var(--text-secondary);font-size:1.2rem;line-height:1;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.bracket-round-nav__control:hover:not(:disabled),.bracket-round-nav__control:focus-visible:not(:disabled){border-color:#3b82f673;color:var(--accent-strong);box-shadow:0 8px 16px #3b82f62e;outline:none}.bracket-round-nav__control:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bracket-round-nav:not(.bracket-round-nav--focus) .bracket-round-nav__control{display:none}.bracket-round-nav--focus{gap:.5rem}.bracket-round-nav--focus .bracket-round-nav__control{flex:0 0 auto}.bracket-round-nav--focus .bracket-round-nav__active-label{color:var(--accent-strong)}.bracket-round__matches{display:flex;flex-direction:column;gap:var(--bracket-match-gap, 1rem);position:relative;padding:0;margin-top:var(--bracket-round-offset, 0)}.bracket-round__matches--list{gap:var(--bracket-match-gap, 1.25rem)}.bracket-round__empty{border:1px dashed rgba(148,163,184,.4);border-radius:var(--radius-sm);padding:1rem;font-size:.85rem;color:var(--text-muted);background:#f8fafca6}.bracket-match{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.25);padding:.6rem;box-shadow:0 12px 28px #0f172a14;display:flex;flex-direction:column;gap:.5rem;position:relative;min-height:var(--bracket-match-height, auto);z-index:1}.bracket-match--list:before,.bracket-match--list:after{content:none}.bracket-match--has-prev:before{content:"";position:absolute;top:50%;left:calc(-1 * var(--bracket-grid-column-gap, 1.75rem) / 2);width:calc(var(--bracket-grid-column-gap, 1.75rem) / 2);height:var(--bracket-connector-thickness, 2px);background:var(--bracket-connector-color);transform:translateY(-50%);pointer-events:none;z-index:0}.bracket-match--has-next.bracket-match--top:after,.bracket-match--has-next.bracket-match--bottom:after{content:"";position:absolute;left:100%;width:calc(var(--bracket-grid-column-gap, 1.75rem) / 2);pointer-events:none;z-index:0}.bracket-match--has-next.bracket-match--top:after{top:50%;height:calc(50% + var(--bracket-match-gap, 1rem) / 2);border-top:var(--bracket-connector-thickness, 2px) solid var(--bracket-connector-color);border-right:var(--bracket-connector-thickness, 2px) solid var(--bracket-connector-color);border-top-right-radius:12px}.bracket-match--has-next.bracket-match--bottom:after{bottom:50%;height:calc(50% + var(--bracket-match-gap, 1rem) / 2);border-bottom:var(--bracket-connector-thickness, 2px) solid var(--bracket-connector-color);border-right:var(--bracket-connector-thickness, 2px) solid var(--bracket-connector-color);border-bottom-right-radius:12px}.bracket-match--placeholder.bracket-match--has-prev:before{background:#94a3b84d}.bracket-match--placeholder.bracket-match--has-next.bracket-match--top:after,.bracket-match--placeholder.bracket-match--has-next.bracket-match--bottom:after{border-color:#94a3b84d}.bracket-match--placeholder{border-style:dashed;background:linear-gradient(180deg,#f1f5f9bf,#e2e8f08c)}.bracket-match__header{display:flex;justify-content:space-between;align-items:center;font-size:.82rem;color:var(--text-muted)}.bracket-match__label{font-weight:600;color:var(--text-secondary)}.bracket-match__status{font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent-strong)}.bracket-match__players{display:flex;flex-direction:column;gap:.6rem}.bracket-player{display:grid;grid-template-columns:minmax(1.5rem,auto) auto minmax(0,1fr) auto;align-items:center;gap:.65rem}.bracket-player--with-score{grid-template-columns:minmax(1.5rem,auto) auto minmax(0,1fr) auto repeat(var(--player-sets-count, 1),minmax(1rem,1.5rem))}.bracket-player__avatars{display:inline-flex;align-items:center}.bracket-player__avatars--pair{gap:.4rem}.bracket-player__seed{font-weight:700;color:var(--accent-strong);font-size:.85rem}.bracket-player__avatar{box-shadow:0 8px 18px #1e40af26}.bracket-player--placeholder .bracket-player__avatar{box-shadow:none;opacity:.65}.bracket-player__name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.bracket-player__name--placeholder{color:var(--text-muted);font-weight:500}.bracket-player__status{font-size:.78rem;color:var(--text-muted);align-self:stretch;display:flex;align-items:center}.bracket-player__scores{display:contents}.bracket-player__score{display:flex;align-items:center;justify-content:center;background:#1f2937;color:#f8fafc;font-weight:700;font-size:.9rem;padding:.55rem .5rem;border-radius:calc(var(--radius-sm) - 6px);min-width:1.8rem;line-height:.9;box-shadow:inset 0 0 0 1px #0f172a1f}.bracket-player__score--tiebreak{font-style:italic}.bracket-player--eliminated .bracket-player__score{background:#334155;color:#e2e8f0}.bracket-player__score--winner{background:#0f172a;color:#e0f2fe;box-shadow:inset 0 0 0 1px #60a5fa59}.bracket-player--winner .bracket-player__name{color:#047857}.bracket-player--winner .bracket-player__status{color:#047857;font-weight:600}.bracket-player--winner .player-avatar{box-shadow:0 0 0 2px #10b98173}.bracket-player--eliminated .bracket-player__name{color:#0f172a99}.bracket-player--eliminated .bracket-player__status{color:#64748bcc}.bracket-match__meta{display:none;flex-wrap:wrap;gap:.5rem;font-size:.78rem;color:var(--text-muted)}.bracket-match--has-meta .bracket-match__meta{display:flex}.bracket-match__actions{display:flex;justify-content:flex-end;margin-top:.75rem}.bracket-match__action{padding:.55rem 1rem;font-size:.78rem}.tournament-bracket-card .result-scoreboard{margin-top:.35rem}.bracket-match .result-scoreboard{margin-top:.45rem;max-width:100%}.bracket-match .result-scoreboard__cell{padding:.55rem .75rem;font-size:.95rem}.bracket-match .result-scoreboard__cell--player{font-size:1rem}.match-calendar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.match-calendar-actions__label{font-weight:600}.match-calendar-actions__link{text-decoration:none;display:inline-flex;align-items:center;gap:.25rem;font-size:.78rem;line-height:1}.match-calendar-actions__link.ghost{padding:.45rem .9rem}.match-calendar-actions__link:hover,.match-calendar-actions__link:focus-visible{color:var(--accent-strong);border-color:#2563eb73}.list li .list-item__content{display:grid;gap:.35rem}.list li.list-item--with-poster{gap:.85rem}@media(min-width:768px){.list li.list-item--with-poster{grid-template-columns:minmax(0,1fr) auto;align-items:stretch}}.list-item__poster{border-radius:var(--radius-sm);overflow:hidden;background:linear-gradient(180deg,#f1f5f9a6,#e2e8f0e6);border:1px solid rgba(148,163,184,.2);box-shadow:0 18px 40px #0f172a1a;display:flex;align-items:stretch;justify-content:center;width:min(100%,240px);aspect-ratio:3 / 4;justify-self:center}@media(min-width:768px){.list-item__poster{justify-self:end;width:clamp(180px,22vw,180px)}}.list-item__poster-image{width:100%;height:auto;max-height:420px;object-fit:contain;display:block;background:#fff;cursor:pointer}.list .meta .movement-badge{--movement-badge-width: 150px;font-size:.75rem;padding:.45rem .65rem}.list .meta .movement-badge .movement-icon{width:20px;height:20px}.list .meta .movement-badge .movement-badge__metric{font-size:.7rem}.list .meta.warning{color:#b45309}.deadline-warning{display:flex;align-items:flex-start;gap:.5rem;font-size:.85rem;color:#b45309;background:#f59e0b26;border-radius:var(--radius-sm);padding:.6rem .75rem;margin:0;line-height:1.5}.deadline-warning:before{content:"\23f0";font-size:1rem;line-height:1}.deadline-warning.deadline-warning--expired{color:#7c2d12;background:#c2410c2e}.list .meta.result-meta span+span{margin-left:.5rem}.result-scoreboard{--sets-count: 2;margin-top:.45rem;border-radius:var(--radius-sm);border:1px solid rgba(30,41,59,.24);overflow:hidden;display:grid;gap:0;background:#0f172a14;width:min(100%,360px)}.result-scoreboard__row{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--sets-count),minmax(.4rem,.8rem));align-items:stretch}.result-scoreboard__row+.result-scoreboard__row{border-top:1px solid rgba(30,41,59,.18)}.result-scoreboard__cell{display:flex;align-items:center;justify-content:center;padding:.5rem .7rem;font-size:.95rem;font-weight:600;line-height:1.05}.result-scoreboard__cell--player{justify-content:flex-start;font-weight:700;color:var(--text-primary);background:#fff}.result-scoreboard__row--winner .result-scoreboard__cell--player{font-weight:700}.result-scoreboard__cell--score{background:#1f2937;color:#f8fafc;min-width:2.2rem}.list li.match-list-item .result-scoreboard,.list li .result-scoreboard{justify-self:end;margin-left:auto}.result-scoreboard__row:not(.result-scoreboard__row--winner) .result-scoreboard__cell--score{background:#374151}.result-scoreboard__cell--tiebreak{font-style:italic}.match-viewer{display:flex;flex-direction:column;gap:1.5rem}.match-viewer__section{display:flex;flex-direction:column;gap:.75rem}.match-viewer__section h4{margin:0;font-size:1rem;color:var(--text-primary)}.match-viewer__info{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem 1.5rem;margin:0}.match-viewer__info dt{margin:0;font-weight:600;color:var(--text-primary)}.match-viewer__info dd{margin:0;color:var(--text-secondary)}.match-viewer__details{display:flex;flex-direction:column;gap:.35rem}.match-viewer__players{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.match-viewer__player{display:flex;flex-direction:column;gap:.35rem}.match-viewer__player-name{font-weight:600;color:var(--text-primary)}.match-viewer__player-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-muted)}.match-viewer__notes{background:var(--bg-secondary);border-radius:var(--radius-sm);padding:.75rem 1rem;margin:0;color:var(--text-secondary);line-height:1.5}.match-viewer__actions{display:flex;justify-content:flex-end;gap:.75rem}.match-viewer .result-scoreboard{margin-top:.5rem}.list .meta .tag{margin-left:.5rem}.list .meta .tag:first-of-type{margin-left:auto}.meta.meta-category{align-items:center;gap:.5rem}.meta.meta-category .category-status{margin-left:auto;background:#3b82f61f;color:#1d4ed8}.meta.meta-category .category-status.category-status--en_curso{background:#facc152e;color:#92400e}.meta.meta-category .category-level{background:#94a3b82e;color:#334155}#user-directory-list .meta,#league-players-list .meta{align-items:center;font-size:.85rem;gap:.4rem}#user-directory-list .actions,#league-players-list .actions{display:flex;flex-wrap:wrap;gap:.5rem}#league-players-list .league-players-card__body li,#tournament-enrollment-list .league-players-card__body li{padding:.55rem .75rem;margin:10px}#user-directory-list li{display:grid;padding:0;gap:0;margin:10px;overflow:hidden}#user-directory-list .user-card__header{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;background:linear-gradient(135deg,#f8fafc,#eef2ff);border-bottom:1px solid rgba(148,163,184,.12)}#user-directory-list .user-card__header .player-cell{flex:1;min-width:0}#user-directory-list .user-card__role{flex-shrink:0}#user-directory-list .user-card__body{display:grid;gap:0;padding:0}#user-directory-list .user-card__contact{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.6rem 1rem;font-size:.82rem;color:var(--text-secondary);background:#94a3b80a;border-bottom:1px solid rgba(148,163,184,.08)}#user-directory-list .user-card__contact-item{display:inline-flex;align-items:center;gap:.35rem}#user-directory-list .user-card__contact-item svg{width:14px;height:14px;flex-shrink:0;color:var(--text-secondary);opacity:.6}#user-directory-list .user-card__contact-action{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0}#user-directory-list .user-card__contact-action svg{width:15px;height:15px}#user-directory-list .user-card__contact-action:hover{transform:scale(1.12);box-shadow:0 2px 8px #0000001f}#user-directory-list .user-card__contact-action--call{background:#3b82f61a;color:#2563eb}#user-directory-list .user-card__contact-action--whatsapp{background:#25d3661f;color:#25d366}#user-directory-list .user-card__info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;padding:0}#user-directory-list .user-card__info-item{display:flex;flex-direction:column;gap:.15rem;padding:.55rem 1rem;border-bottom:1px solid rgba(148,163,184,.08);border-right:1px solid rgba(148,163,184,.08)}#user-directory-list .user-card__info-item:last-child{border-right:none}#user-directory-list .user-card__info-label{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);opacity:.7}#user-directory-list .user-card__info-value{font-size:.82rem;font-weight:500;color:var(--text-primary)}#user-directory-list .user-card__stats{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.6rem 1rem;border-bottom:1px solid rgba(148,163,184,.08)}#user-directory-list .user-card__stat{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}#user-directory-list .user-card__stat--points{background:#6366f11a;color:#4338ca}#user-directory-list .user-card__stat--wins{background:#22c55e1a;color:#15803d}#user-directory-list .user-card__stat--losses{background:#ef44441a;color:#dc2626}#user-directory-list .user-card__stat svg{width:12px;height:12px}#user-directory-list .user-card__membership{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .75rem;padding:.55rem 1rem;font-size:.8rem;border-bottom:1px solid rgba(148,163,184,.08)}#user-directory-list .user-card__membership-item{display:inline-flex;align-items:center;gap:.3rem;color:var(--text-secondary)}#user-directory-list .user-card__membership-item svg{width:14px;height:14px;flex-shrink:0;opacity:.6}#user-directory-list .user-card__consent{display:flex;flex-wrap:wrap;gap:.4rem .75rem;padding:.45rem 1rem;font-size:.75rem;border-bottom:1px solid rgba(148,163,184,.08)}#user-directory-list .user-card__consent-item{display:inline-flex;align-items:center;gap:.25rem}#user-directory-list .user-card__consent-item svg{width:13px;height:13px;flex-shrink:0}#user-directory-list .user-card__consent-item--accepted{color:#15803d}#user-directory-list .user-card__consent-item--rejected{color:#9ca3af}#user-directory-list .user-card__notes{padding:.5rem 1rem;font-size:.8rem;color:var(--text-secondary);background:#facc150f;border-bottom:1px solid rgba(148,163,184,.08);display:flex;align-items:flex-start;gap:.35rem}#user-directory-list .user-card__notes svg{width:14px;height:14px;flex-shrink:0;margin-top:1px;opacity:.5}#user-directory-list .user-card__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.6rem 1rem}@media(max-width:600px){#user-directory-list .user-card__info-grid{grid-template-columns:repeat(2,1fr)}#user-directory-list .user-card__header{flex-wrap:wrap}}#league-players-list.league-players-grid>li.league-players-card,#tournament-enrollment-list.league-players-grid>li.league-players-card{padding:0}#league-players-list.league-players-grid,#tournament-enrollment-list.league-players-grid{display:grid;grid-template-columns:1fr;gap:1rem;list-style:none;padding:0;align-items:start}.league-players-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.league-players-card__header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:var(--bg-subtle, #f5f5f5);border-bottom:1px solid var(--border-color, #e0e0e0)}.league-players-card__title{margin:0;font-size:1rem;font-weight:700;color:var(--text-primary, #212121)}.league-players-card__count{font-size:.8rem;color:var(--text-secondary, #666);white-space:nowrap}.league-players-card__body{list-style:none;padding:0;margin:0}.league-players-card__body>li:not(:last-child){border-bottom:1px solid var(--border-color, #e0e0e0)}#league-players-list .league-players-item,#tournament-enrollment-list .league-players-item{display:flex;align-items:center;gap:.5rem}#league-players-list .league-players-item .player-cell,#tournament-enrollment-list .league-players-item .player-cell{flex:1;min-width:0}.league-players-item__actions{display:flex;align-items:center;gap:.35rem;flex-shrink:0}#user-directory-list .player-cell__name,#league-players-list .player-cell__name,#tournament-enrollment-list .player-cell__name{font-size:1rem}#user-directory-list .player-cell,#league-players-list .player-cell,#tournament-enrollment-list .player-cell{align-items:flex-start}@media(max-width:1024px){#league-players-card{padding:.5rem 0!important}#league-players-list.league-players-grid,#tournament-enrollment-list.league-players-grid{align-items:stretch!important;gap:.5rem!important;padding:0!important}.league-players-card{width:100%!important;border-radius:0!important;border-left:none!important;border-right:none!important;box-sizing:border-box!important}#league-players-list .league-players-item .player-cell,#tournament-enrollment-list .league-players-item .player-cell{align-items:center}}.league-payments-controls,.tournament-payments-controls{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:1rem}.league-payments-summary,.tournament-payments-summary{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center;margin-bottom:1rem;color:var(--text-secondary)}.league-payments-groups,.tournament-payments-groups{display:grid;gap:1.5rem}@media(min-width:920px){.league-payments-groups,.tournament-payments-groups{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.league-payments-group,.tournament-payments-group{display:flex;flex-direction:column;gap:.75rem}.league-payments-group-header,.tournament-payments-group-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.league-payments-group-stats,.tournament-payments-group-stats{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}.league-payments-group-header h4,.tournament-payments-group-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.league-payments-list,.tournament-payments-list{display:flex;flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none}.league-payment-entry,.tournament-payment-entry{list-style:none}.league-payment-item,.tournament-payment-item{border:1px solid rgba(148,163,184,.25);border-radius:.9rem;background:linear-gradient(180deg,#f1f5f999,#f8fafce6);overflow:hidden}.league-payment-item summary,.tournament-payment-item summary{display:flex;align-items:center;gap:.75rem;padding:.85rem 1rem;cursor:pointer;list-style:none;user-select:none}.league-payment-item summary:focus-visible,.tournament-payment-item summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.league-payment-item summary::-webkit-details-marker,.league-payment-item summary::marker,.tournament-payment-item summary::-webkit-details-marker,.tournament-payment-item summary::marker{display:none}.league-payment-item summary:after,.tournament-payment-item summary:after{content:"";width:.65rem;height:.65rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);opacity:.5;transition:transform .2s ease,opacity .2s ease;margin-left:auto}.league-payment-item[open] summary:after,.tournament-payment-item[open] summary:after{transform:rotate(45deg);opacity:.8}.league-payment-header,.tournament-payment-header{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.league-payment-header .player-cell,.tournament-payment-header .player-cell{align-items:center;gap:.55rem}.league-payment-header .player-cell__name,.tournament-payment-header .player-cell__name{font-size:.95rem}.league-payment-header-meta,.tournament-payment-header-meta{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;flex-wrap:wrap;color:var(--text-secondary);font-size:.85rem}.league-payment-header-meta .tag,.tournament-payment-header-meta .tag{margin-left:0}.league-payment-header-meta .league-payment-amount,.tournament-payment-header-meta .tournament-payment-amount{font-weight:600;color:var(--text-primary)}.league-payment-body,.tournament-payment-body{display:grid;gap:.75rem;padding:.75rem 1rem 1rem;border-top:1px solid rgba(148,163,184,.25);background:var(--card-bg)}.league-payment-meta,.tournament-payment-meta{display:flex;flex-wrap:wrap;gap:.6rem;color:var(--text-secondary);font-size:.85rem}.league-payment-meta .tag,.tournament-payment-meta .tag{margin-left:0}.league-payment-form,.tournament-payment-form{display:grid;gap:.75rem}.league-payment-form .form-row,.tournament-payment-form .form-row{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.league-payment-form .form-actions,.tournament-payment-form .form-actions{display:flex;justify-content:flex-end;gap:.75rem}.league-payment-form select[name=method],.tournament-payment-form select[name=method]{text-transform:capitalize}.tag.payment-status{font-size:.75rem}.tag.payment-status.payment-status--pendiente{background:#f59e0b29;color:var(--warning)}.tag.payment-status.payment-status--pagado{background:#22c55e29;color:#15803d}.tag.payment-status.payment-status--exento{background:#818cf829;color:#4338ca}.tag.payment-status.payment-status--fallido{background:#f8717129;color:#b91c1c}.empty-state{text-align:center;padding:1.5rem;border-radius:var(--radius-sm);background:#94a3b81f;color:var(--text-secondary)}.list-item-button{width:100%;background:transparent;border:none;padding:0;display:grid;gap:.4rem;font:inherit;text-align:left;color:inherit;cursor:pointer}.list-item-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:4px}.tournament-grid,.league-grid{display:grid;gap:1.5rem;align-items:start}@media(min-width:1024px){.tournament-grid,.league-grid{grid-template-columns:minmax(0,360px) minmax(0,1fr)}}@media(min-width:1024px){#tournaments-card[hidden]+#tournament-detail-card{grid-column:1 / -1}}.tournament-detail,.league-detail{display:grid;gap:1.5rem}.tournament-detail__layout,.league-detail__layout{display:flex;flex-direction:column;gap:1.5rem}@media(min-width:1024px){.tournament-detail__layout,.league-detail__layout{flex-direction:row;align-items:flex-start;justify-content:space-between}}.tournament-detail__content,.league-detail__content{display:grid;gap:1.25rem;flex:1}.tournament-detail__poster{width:100%;max-width:320px;max-height:450px;height:auto;object-fit:cover;border-radius:var(--radius-sm);display:block;background:#0f172a0f;border:1px solid rgba(148,163,184,.18);align-self:flex-start;flex-shrink:0}.league-detail__poster{width:100%;max-width:350px;max-height:none;height:auto;border-radius:12px;display:block;background:#0f172a0f;border:1px solid rgba(148,163,184,.18);object-fit:cover;flex-shrink:0;align-self:flex-start}.tournament-detail__header,.league-detail__header{display:grid;gap:.4rem}.tournament-detail__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.tournament-detail__description,.league-detail__description{margin:0;color:var(--text-secondary);line-height:1.5}.tournament-detail__meta,.league-detail__meta{display:grid;gap:.4rem;font-size:.9rem;color:var(--text-secondary)}.tournament-detail__meta-item,.league-detail__meta-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.tournament-detail__meta-label,.league-detail__meta-label{font-weight:600;color:var(--text-primary)}.tournament-detail__fees,.league-detail__fees{display:grid;gap:.5rem}.tournament-fee{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.6rem .75rem;border-radius:var(--radius-sm);background:#2563eb14;color:var(--text-primary)}.tournament-fee__label{font-weight:600}.tournament-section-title,.league-section-title{font-size:.95rem;font-weight:700;margin:0;color:var(--text-primary)}.tournament-section-note,.league-section-note{margin:0;font-size:.85rem;color:var(--text-secondary)}.tournament-match-players{display:flex;flex-wrap:wrap;gap:.4rem;font-weight:600;color:var(--text-primary)}.tournament-match-item{display:grid;gap:.55rem}.tournament-match-meta{display:flex;flex-wrap:wrap;gap:.6rem;font-size:.85rem;color:var(--text-secondary)}.tournament-badge,.category-badge{display:inline-block;padding:.2rem .6rem;border-radius:var(--radius-sm);font-weight:600;font-size:.8rem}.tournament-badge{background:var(--primary-100);color:var(--primary-700)}.category-badge{background:var(--accent-100);color:var(--accent-700)}.tournament-match-item__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.tournament-match-result{display:grid;gap:.35rem;background:#0f172a0a;border-radius:var(--radius-sm);padding:.6rem .75rem}.tournament-match-result__header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.tournament-match-result__score{font-weight:600;color:var(--text-primary)}.tournament-match-result__meta,.tournament-match-result__notes{margin:0;font-size:.85rem;color:var(--text-secondary)}.tournament-match-result__notes{white-space:pre-line}.tournament-match-result__status{font-size:.75rem}.tournament-detail__categories,.league-detail__categories{display:grid;gap:.6rem}.tournament-detail__category,.league-detail__category{background:#0f172a0a;border-radius:var(--radius-sm);padding:.75rem .85rem;display:grid;gap:.35rem}.tournament-detail__category strong,.league-detail__category strong{font-weight:600;color:var(--text-primary)}.tournament-detail__category .meta,.league-detail__category .meta{font-size:.85rem;color:var(--text-secondary);display:flex;flex-wrap:wrap;gap:.5rem}.league-category-delete-btn{position:absolute;top:.5rem;right:.5rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);opacity:0;transition:opacity .2s,color .2s,background .2s}.league-detail__category{position:relative}.league-detail__category:hover .league-category-delete-btn{opacity:1}.league-category-delete-btn:hover{color:var(--danger-color, #dc2626);background:#dc26261a}.league-category-delete-btn:disabled{opacity:.5;cursor:not-allowed}.league-category-delete-btn svg{display:block;width:16px;height:16px}.list .actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.category-actions{align-items:center;gap:.5rem}.note{font-size:.85rem;color:var(--text-secondary)}.tag--success{background:#dcfce7;color:#166534}.tag--pending{background:#fef3c7;color:#92400e}.calendar-event--actionable{cursor:pointer}.calendar-event--actionable:focus{outline:2px solid #2563eb;outline-offset:2px}.inline-list{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;padding:0;margin:0}.inline-list li{background:#94a3b826;padding:.25rem .6rem;border-radius:9999px;font-size:.8rem;color:var(--text-secondary)}.meta.meta-league{align-items:center;gap:.5rem}.meta.meta-league .league-status{margin-left:auto;background:#22c55e2e;color:#047857}.meta.meta-league .league-status.league-status--borrador{background:#fbbf242e;color:#d97706}.meta.meta-league .league-status.league-status--cerrada{background:#94a3b82e;color:#475569}.meta.meta-league .league-status.league-status--archivada{background:#94a3b83d;color:#475569}.meta.meta-league-dates,.meta.meta-league-link{gap:.5rem}.meta.meta-league-link .league-tag{background:#3b82f626;color:#1d4ed8}.meta.meta-league-link .league-tag.league-tag--closed{background:#94a3b833;color:#475569}.meta.meta-league-link .league-status{margin-left:auto;background:#94a3b82e;color:#475569}.meta.meta-league-link .league-status.league-status--activa{background:#22c55e2e;color:#047857}.league-category-list{margin-top:.25rem}.league-category-list li{background:#94a3b833;color:#334155}.league-list__poster{width:100%;max-height:220px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.2);background:#0f172a0a;margin-bottom:.75rem;display:block}.league-poster-upload .form-actions{margin-top:.75rem}.league-poster-upload input[type=file]{margin-top:.5rem}#leagues-list .actions{margin-top:.75rem}.radio-field{display:flex;align-items:center;gap:.4rem}.checkbox-group{border:1px solid rgba(148,163,184,.3);border-radius:var(--radius-md);padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.checkbox-group legend{font-weight:600;font-size:.9rem;color:var(--text-secondary)}.checkbox-option{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-secondary)}.checkbox-option--stacked{flex-direction:column;align-items:flex-start}.checkbox-option--stacked input[type=checkbox]{margin-top:.1rem}.checkbox-group .form-hint{margin:.25rem 0 0}#register-role-wrapper[data-locked=true]{opacity:.6}#register-role-wrapper[data-locked=true] input{pointer-events:none}.enrollment-modal{display:flex;flex-direction:column;gap:1rem}.enrollment-modal .list.compact li{display:flex;align-items:center;gap:.5rem}.enrollment-modal .list.compact li .meta{flex:1}.icon-only{width:2.5rem;height:2.5rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem;line-height:1;padding:0}.modal-overlay{position:fixed;inset:0;background:#0f172a26;display:flex;align-items:center;justify-content:center;padding:2rem;z-index:2000}.modal{width:min(720px,100%);max-height:min(85vh,720px);overflow:hidden;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);display:flex;flex-direction:column}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem 1rem;border-bottom:1px solid rgba(148,163,184,.2)}.modal-header h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-body{padding:1.75rem;overflow-y:auto;display:grid;gap:1.5rem}.modal-body .form{gap:1.25rem}.modal-body .form-actions{justify-content:flex-end}.modal-body .status-message{margin:0}.phone-consent-popup{display:flex;flex-direction:column;gap:1rem;text-align:center;max-width:420px;margin:0 auto}.phone-consent-popup__icon{font-size:3rem;line-height:1}.phone-consent-popup__message{text-align:left}.phone-consent-popup__message p{margin:0 0 .75rem;line-height:1.5;color:var(--text-secondary)}.phone-consent-popup__message p:first-child{color:var(--text-primary);font-size:1.05rem}.phone-consent-popup__message p:last-child{margin-bottom:0}.phone-consent-popup__hint{font-size:.85rem;color:var(--text-muted);font-style:italic}.phone-consent-popup .form-actions{justify-content:center;gap:.75rem;margin-top:.5rem;flex-wrap:wrap}.phone-consent-popup__dont-show-btn{font-size:.85rem;padding:.5rem .9rem}@keyframes highlight-pulse{0%{background-color:#2563eb00}30%{background-color:#2563eb26}to{background-color:#2563eb00}}.tag{display:inline-flex;align-items:center;gap:.3rem;border-radius:999px;padding:.35rem .75rem;font-size:.8rem;font-weight:600;color:var(--accent-strong);background:#2563eb1f}.tag--block{background:#f59e0b2e;color:#92400e}.tag.match-type-tag{background:#64748b2e;color:#334155}.tag.admin{background:#10b9811f;color:#047857}.tag.status-pendiente{background:#f973162e;color:#c2410c}.tag.status-inscrito{background:#ef44442e;color:#dc2626}.tag.status-propuesto{background:#0ea5e929;color:var(--info)}.tag.status-programado{background:#22c55e29;color:#15803d}.tag.status-completado,.tag.status-inscripcion{background:#3b82f62e;color:var(--accent-strong)}.tag.status-en_juego{background:#22c55e29;color:#166534}.tag.status-finalizado,.tag.status-archivado{background:#64748b29;color:#334155}.tag.status-cuadros{background:#0ea5e929;color:var(--info)}.tag.status-confirmada{background:#ef44442e;color:#dc2626}.tag.status-cancelada{background:#ef44442e;color:var(--danger)}.tag.status-confirmado{background:#22c55e29;color:#166534}.tag.status-rechazado{background:#ef44442e;color:var(--danger)}.tag.status-caducado{background:#94a3b838;color:#475569}.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.matches-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.matches-grid #upcoming-card,.matches-grid #pending-approvals-card,.matches-grid #my-matches-card,.matches-grid #my-scheduled-matches-card,.matches-grid #my-pending-matches-card,.matches-grid #completed-card,.matches-grid #admin-matches-card{grid-column:1 / -1}.chat-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}#section-chat .publicaciones-layout{align-items:flex-start}#section-chat #blog-posts-list .list-item a{font-weight:600;text-decoration:none}#section-chat #blog-posts-list .list-item a:hover{text-decoration:underline}#section-chat #blog-detail .blog-detail-content img{max-width:100%;height:auto;border-radius:var(--radius-sm);cursor:zoom-in;transition:opacity .15s}#section-chat #blog-detail .blog-detail-content img:hover{opacity:.85}#section-chat #blog-detail .blog-detail-content h2,#section-chat #blog-detail .blog-detail-content h3{margin-top:1.2rem;margin-bottom:.6rem}.blog-detail-author{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.blog-detail-author .blog-post-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;background:var(--accent-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;border:3px solid white;box-shadow:0 2px 6px #0000001a}.blog-detail-author .blog-post-avatar img{width:100%;height:100%;object-fit:cover}.blog-detail-author .blog-post-avatar span{font-size:1rem;font-weight:600;color:var(--accent-strong)}.blog-detail-author .blog-post-author-name{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.125rem}.blog-comment-item{display:flex;gap:.75rem;padding:1rem 0;border-bottom:1px solid var(--card-border)}.blog-comment-item:last-child{border-bottom:none}.blog-comment-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(148,163,184,.18);flex-shrink:0;overflow:hidden;box-shadow:0 1px 3px #0000001a}.blog-comment-avatar img{width:100%;height:100%;object-fit:cover}.blog-comment-avatar span{font-size:.75rem;font-weight:600;color:var(--accent-strong)}.blog-comment-content{flex:1;min-width:0}.blog-comment-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.blog-comment-header strong{font-weight:600;color:var(--text-primary)}.blog-comment-text{color:var(--text-secondary);line-height:1.5}#section-chat #blog-tags .tag.selected{background:var(--accent-soft);border-color:var(--accent)}.blog-reactions{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;gap:.5rem!important;align-items:center!important}.blog-reactions button,.blog-reactions button.ghost{margin:0!important;flex-shrink:0!important;display:inline-block!important;width:auto!important}#section-chat #blog-reactions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}#section-chat #blog-reactions button{margin:0;flex-shrink:0}#section-chat .calendar-mini button.calendar-mini-day{background:none;border:none;cursor:pointer;font:inherit;padding:.25rem}#section-chat .calendar-mini-day.has-publication{background:var(--accent-soft);border-radius:var(--radius-sm)}#section-chat .calendar-mini-day.today{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.skeleton{background:linear-gradient(90deg,#f0f0f0,#e0e0e0 20%,#f0f0f0 40% 100%);background-size:1000px 100%;animation:shimmer 1.5s infinite linear;border-radius:var(--radius-sm)}.skeleton-card{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;box-shadow:0 1px 3px #0000000d;overflow:hidden}.skeleton-image{width:100%;height:280px;flex-shrink:0;margin:0;border-radius:0}.skeleton-content{flex:1;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem}.skeleton-title{width:70%;height:28px}.skeleton-meta{width:50%;height:20px}.skeleton-text{width:100%;height:16px}.skeleton-text:nth-child(2){width:90%}.skeleton-text:nth-child(3){width:95%}.badge-new{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:var(--radius-full);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #667eea4d;animation:pulse 2s infinite ease-in-out}.badge-new:before{content:"\2728";font-size:.875rem}.view-toggle{display:flex;gap:.5rem;padding:.25rem;background:var(--surface-light);border-radius:var(--radius-md);border:1px solid var(--border-color)}.view-toggle button{padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;color:var(--text-secondary);font-size:.875rem;display:flex;align-items:center;gap:.375rem}.view-toggle button:hover{background:#0000000d;color:var(--text-primary)}.view-toggle button.active{background:#fff;color:var(--accent);box-shadow:0 1px 3px #0000001a;font-weight:600}.blog-post-card{display:flex;flex-direction:column;gap:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 1px 3px #0000000d;animation:fadeIn .4s ease-out;position:relative;overflow:hidden}.blog-post-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,#ff6b6b 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.blog-post-card:hover:before{transform:scaleX(1)}.blog-post-card:hover{box-shadow:0 8px 24px #0000001f,0 4px 8px #0000000f;transform:translateY(-4px);border-color:transparent}.blog-post-card-content .meta{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.meta .blog-post-author{display:inline-flex;align-items:center;gap:.5rem}.meta .blog-post-avatar{width:28px;height:28px;border-radius:50%;overflow:hidden;background:var(--accent-soft);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:2px solid white;box-shadow:0 1px 3px #0000001a}.meta .blog-post-avatar img{width:100%;height:100%;object-fit:cover}.meta .blog-post-avatar span{font-size:.7rem;font-weight:600;color:var(--accent-strong)}.meta .blog-post-author-name{font-size:.875rem;font-weight:600;color:var(--text-primary)}.blog-post-cover{width:100%;height:280px;object-fit:cover;border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-shrink:0;transition:transform .3s ease,filter .3s ease;overflow:hidden;margin:0}.blog-post-card:hover .blog-post-cover{transform:scale(1.02);filter:brightness(1.05)}.blog-post-card-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.5rem;padding:1.25rem}.blog-post-card-content h4{margin:0;font-size:1.35rem;font-weight:700;color:var(--text-primary);line-height:1.3;letter-spacing:-.02em;transition:color .2s ease}.blog-post-card:hover .blog-post-card-content h4{color:var(--accent)}.blog-post-summary{color:var(--text-muted);line-height:1.6;margin:0;flex:1;display:flex;flex-direction:column;gap:.5rem}.blog-post-summary div{text-align:left;white-space:pre-line}.blog-post-actions{display:flex;align-items:center;justify-content:flex-start;margin-top:1rem;gap:1rem}.btn-read-more{padding:.625rem 1.75rem;background:linear-gradient(135deg,var(--accent) 0%,#ff6b6b 100%);color:#fff;border:none;border-radius:var(--radius-full);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #d62f2f33;position:relative;overflow:hidden}.btn-read-more:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-read-more:hover:before{left:100%}.btn-read-more:hover{transform:translateY(-2px);box-shadow:0 4px 16px #d62f2f59}.btn-read-more:active{transform:translateY(0);box-shadow:0 2px 8px #d62f2f33}#section-blog-editor #blog-editor-content{font-family:inherit}#section-blog-editor #blog-editor-content h1,#section-blog-editor #blog-editor-content h2,#section-blog-editor #blog-editor-content h3,#section-blog-editor #blog-editor-content h4{margin-top:1.2rem;margin-bottom:.6rem;font-weight:600}#section-blog-editor #blog-editor-content img{max-width:100%;height:auto;border-radius:var(--radius-sm);margin:.5rem 0}#section-blog-editor #blog-editor-content p{margin-bottom:.75rem}#section-blog-editor #blog-editor-content ul,#section-blog-editor #blog-editor-content ol{margin-left:1.5rem;margin-bottom:.75rem}#section-blog-editor #blog-editor-content blockquote{border-left:4px solid var(--accent);padding-left:1rem;margin:1rem 0;font-style:italic;color:var(--text-muted)}#section-chat{min-height:calc(100vh - 4rem);display:flex;flex-direction:column}#section-chat .chat-grid{flex:1;display:flex;flex-direction:column;gap:1.5rem;align-items:stretch;width:100%}#section-chat .chat-card{flex:1;margin-bottom:0}#section-chat .chat-messages{flex:1;max-height:none;min-height:0}#section-chat .chat-form{margin-top:auto}.chat-card{display:flex;flex-direction:column;gap:1rem}.chat-messages{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem;max-height:380px;overflow-y:auto}.chat-message{padding:1rem;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--card-border)}.chat-message.mine{margin-left:auto;background:var(--accent-soft);border-color:transparent}.chat-message-header{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.6rem}.chat-message-header time{margin-left:auto;font-size:.75rem;color:var(--text-secondary)}.chat-message-actions{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.chat-message:hover .chat-message-actions{opacity:1}.chat-message p{margin:0;color:var(--text-primary);line-height:1.5}.chat-message-rich{display:grid;gap:.6rem}.chat-message-rich img,.chat-editor-content img{display:block;max-width:100%;height:auto;border-radius:var(--radius-sm)}.chat-message-rich img{margin:.5rem 0}.chat-message-rich h1,.chat-message-rich h2,.chat-message-rich h3{margin:0}.chat-message-rich ul,.chat-message-rich ol{padding-left:1.5rem;margin:0}.chat-message-rich blockquote{border-left:4px solid rgba(59,130,246,.3);margin:0;padding-left:.75rem;color:var(--text-secondary);font-style:italic}.chat-message-attachments{margin-top:.75rem;display:grid;gap:.75rem}.chat-message-attachment{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.6rem .75rem;background:var(--card-bg)}.chat-message-attachment a{color:var(--primary);font-weight:600;text-decoration:none}.chat-message-attachment a:hover,.chat-message-attachment a:focus{text-decoration:underline;outline:var(--focus-ring);outline-offset:2px}.chat-message-attachment img{max-width:100%;border-radius:var(--radius-xs);display:block}.chat-form,.chat-editor{display:grid;gap:.75rem}.chat-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.chat-toolbar-button{border:1px solid var(--card-border);background:var(--card-bg);color:var(--text-primary);border-radius:var(--radius-sm);padding:.35rem .6rem;font-size:.85rem;cursor:pointer;line-height:1;transition:background-color .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.chat-toolbar-button:hover,.chat-toolbar-button:focus-visible{background:var(--accent-soft);border-color:transparent;color:var(--accent-strong);outline:var(--focus-ring);outline-offset:2px}.chat-toolbar-button:active{transform:scale(.95)}.chat-editor-content{min-height:112px;border-radius:var(--radius-sm);border:1px solid var(--card-border);padding:.9rem 1rem;background:var(--card-bg);line-height:1.6;overflow-y:auto}.chat-editor-content:focus{outline:var(--focus-ring);outline-offset:2px}.chat-editor-content:empty:before{content:attr(data-placeholder);color:var(--text-secondary);pointer-events:none}.chat-editor-content h1,.chat-editor-content h2,.chat-editor-content h3{margin:0 0 .6rem;font-weight:600;color:var(--text-primary)}.chat-editor-content p,.chat-editor-content li{margin:0 0 .6rem}.chat-editor-content ul,.chat-editor-content ol{padding-left:1.5rem;margin:0 0 .6rem}.chat-editor-content blockquote{border-left:4px solid rgba(59,130,246,.35);margin:0 0 .8rem;padding-left:.75rem;color:var(--text-secondary);font-style:italic}.chat-attachments{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:.75rem 1rem;background:var(--bg-secondary)}.chat-attachments-title{margin:0 0 .5rem;font-weight:600;color:var(--text-secondary)}.chat-attachments-list{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}.chat-attachment{display:flex;align-items:center;gap:.75rem;padding:.45rem .6rem;border-radius:var(--radius-sm);background:var(--card-bg);border:1px solid var(--card-border)}.chat-attachment-preview{width:48px;height:48px;border-radius:var(--radius-xs);object-fit:cover;background:var(--bg-secondary);flex-shrink:0}.chat-attachment-info{flex:1;min-width:0}.chat-attachment-name{margin:0;font-size:.9rem;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-attachment-meta{margin:0;font-size:.75rem;color:var(--text-secondary)}.chat-attachment-actions{display:flex;gap:.5rem}.chat-attachment-remove{border:none;background:none;color:var(--danger);cursor:pointer;font-size:.85rem;padding:.25rem}.chat-attachment-remove:hover,.chat-attachment-remove:focus-visible{text-decoration:underline;outline:var(--focus-ring);outline-offset:2px}.chat-form button{justify-self:end}.chat-direct-controls{display:flex;align-items:center;gap:1rem}.chat-direct-controls select{width:100%}.rules-content{display:grid;gap:1rem;line-height:1.7;color:var(--text-secondary)}.rules-content>*{margin:0}.rules-content h1,.rules-content h2,.rules-content h3,.rules-content h4{margin:1.25rem 0 .6rem;color:var(--accent-primary);font-weight:600}.rules-content h1:first-child,.rules-content h2:first-child,.rules-content h3:first-child,.rules-content h4:first-child{margin-top:0}.rules-content p{margin:0 0 1rem}.rules-content ul,.rules-content ol{margin:0 0 1rem;padding-left:1.5rem}.rules-content li{margin-bottom:.4rem}.rules-content blockquote{border-left:4px solid rgba(59,130,246,.35);margin:0 0 1rem;padding-left:.75rem;color:var(--text-secondary);font-style:italic}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%}@media(max-width:600px){.table-scroll{margin:0 -.75rem;padding:0 .75rem;width:calc(100% + 1.5rem)}}.ranking-category-list{display:flex;flex-direction:column;gap:1.5rem}.ranking-category{border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-lg);background:#f8fafccc;padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.ranking-category__header{display:flex;flex-direction:column;gap:.5rem}@media(min-width:768px){.ranking-category__header{flex-direction:row;align-items:center;justify-content:space-between}}.ranking-category__title{display:flex;align-items:center;gap:.75rem;font-size:1.1rem;font-weight:700}.ranking-category__meta{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--text-secondary);font-size:.9rem}.ranking-category__table{border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-md);overflow:hidden}.ranking-category__table-scroll{max-height:32.5rem;overflow-y:auto;max-width:100%}@media(max-width:600px){.ranking-category__table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}}.ranking-category__empty{margin:0;color:var(--text-secondary);font-style:italic}.ranking-category__cards{display:none}.ranking-card{display:flex;align-items:center;gap:.75rem;background:#fff;border:1px solid rgba(148,163,184,.24);border-radius:var(--radius-md);padding:.75rem;margin-bottom:.5rem}.ranking-card:last-child{margin-bottom:0}.ranking-card__position{font-size:.95rem;font-weight:700;color:var(--primary-dark);min-width:2.5rem;text-align:left}.ranking-card__player-name{flex:1;font-size:.9rem;font-weight:600;color:var(--text-primary)}.ranking-card__points{font-size:.9rem;font-weight:700;color:var(--primary-dark);white-space:nowrap}.table{width:100%;border-collapse:collapse;min-width:520px}.table th,.table td{padding:.85rem 1rem;text-align:left;border-bottom:1px solid rgba(148,163,184,.2)}@media(max-width:600px){.table{min-width:0!important;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th,.table td{padding:.65rem .5rem;font-size:.85rem}}.table th{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.table tbody tr:hover{background:#94a3b81f}.player-cell{display:inline-flex;align-items:center;gap:.75rem}.player-avatar{width:42px;height:42px;border-radius:50%;background:#94a3b840;color:var(--text-primary);font-weight:600;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;text-transform:uppercase}.player-avatar--md{width:42px;height:42px;font-size:.95rem}.player-avatar--sm{width:32px;height:32px;font-size:.8rem}.player-avatar--placeholder{background:#60a5fa40;color:#1d4ed8}.player-avatar img{width:100%;height:100%;object-fit:cover}.player-cell__info{display:flex;flex-direction:column;gap:.25rem}.player-cell__name{font-weight:600;color:var(--text-primary);font-size:1rem}.player-cell__meta{font-size:.75rem;color:var(--text-secondary)}@media(max-width:640px){.ranking-category{border:2px solid rgba(148,163,184,.3)!important;background:#f8fafc80!important;padding:1rem!important;border-radius:var(--radius-lg)!important}.ranking-category:has(.ranking-category__cards) .ranking-category__table{display:none!important}.ranking-category__table{border:none;overflow-x:visible}.ranking-category__table-scroll{overflow-x:visible!important;max-height:none!important}.ranking-category__table .player-avatar,.ranking-category__table .player-cell .player-avatar{display:none!important}.ranking-category__cards{display:block!important;visibility:visible!important;opacity:1!important}.collection-card{border:2px solid rgba(148,163,184,.3)!important;background:#f8fafc80!important;padding:1rem!important;border-radius:var(--radius-lg)!important}.collection-card:has(.ranking-category__cards) .collection-card__list{display:none!important}.collection-card .ranking-category__cards{display:block!important;visibility:visible!important;opacity:1!important}}.movement-badge{--movement-badge-width: 160px;display:none;align-items:stretch;gap:.6rem;padding:.55rem .75rem;border-radius:16px;background:var(--movement-badge-bg, rgba(148, 163, 184, .2));color:inherit;font-size:.8rem;font-weight:500;width:var(--movement-badge-width);min-height:72px;box-sizing:border-box}.movement-badge .movement-icon{width:24px;height:24px;flex-shrink:0}.movement-badge__metrics{display:flex;flex-direction:column;gap:.35rem;justify-content:center;flex:1;min-width:0}.movement-badge__metric{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;line-height:1.2}.movement-badge__metric-label{color:#0f172ab3;font-weight:500}.movement-badge__metric-value{font-weight:700;color:inherit;white-space:nowrap}.movement-badge__metric--positive .movement-badge__metric-value{color:#15803d}.movement-badge__metric--negative .movement-badge__metric-value{color:#dc2626}.movement-badge__metric--neutral .movement-badge__metric-value{color:inherit}.movement-badge--none{display:inline-flex;align-items:center;justify-content:center;width:var(--movement-badge-width, 160px);min-height:72px;padding:.55rem .75rem;border-radius:16px;background:#94a3b82e;color:var(--text-secondary);font-weight:600}.movement-badge--inline{flex:0 0 var(--movement-badge-width, 160px);margin-top:.35rem}.movement-indicator-cell{text-align:center}.movement-indicator-cell .movement-badge{justify-content:center;font-size:.85rem}.meta .meta-movement{margin-left:auto}.account-section__columns{display:grid;gap:2rem}@media(min-width:900px){.account-section__columns{grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start}}.account-wrapper{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.account-overview{display:grid;gap:1.25rem;padding:1.5rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.2);background:#94a3b81a}.account-photo{width:120px;height:120px;border-radius:22px;background:var(--accent-soft);background-size:cover;background-position:center;border:2px solid rgba(37,99,235,.22)}.account-list{margin:0;padding:0;display:grid;gap:1rem}.account-list div{display:grid;gap:.3rem}.account-list dt{font-size:.85rem;color:var(--text-secondary)}.account-list dd{margin:0;font-weight:600;color:var(--text-primary)}.account-dashboard{display:grid;gap:1.5rem}.account-dashboard__metrics{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.account-dashboard__totals{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.account-dashboard__total{background:#2563eb14;border-radius:var(--radius-sm);padding:.75rem 1rem;display:grid;gap:.25rem;color:var(--text-primary)}.account-dashboard__total span{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.account-dashboard__sections{display:grid;gap:1.5rem}@media(min-width:900px){.account-dashboard__sections{grid-template-columns:repeat(2,minmax(0,1fr))}}.account-dashboard__column{display:grid;gap:1.5rem}.account-dashboard__section{display:grid;gap:.75rem}.account-dashboard__section h4{margin:0;font-size:1rem;color:var(--text-primary)}.account-dashboard .list{background:transparent;box-shadow:none;gap:.75rem}.account-dashboard .list li{box-shadow:none;background:#fff}.account-dashboard .empty-state{margin:0}.profile-form{padding:1.5rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.2);background:#fff}.club-layout{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:1.75rem}.club-summary{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border-radius:var(--radius-sm);border:1px solid rgba(148,163,184,.18);background:linear-gradient(145deg,#3b82f614,#3b82f605)}.club-identity{display:flex;align-items:center;gap:1rem}.club-logo{width:72px;height:72px;border-radius:22px;background:#94a3b82e;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:var(--accent-strong);background-size:cover;background-position:center;text-transform:uppercase}.club-description{margin:0;color:var(--text-secondary);line-height:1.6}.club-info-list{display:grid;gap:.85rem;margin:0}.club-info-list div{display:grid;gap:.25rem}.club-info-list dt{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.club-info-list dd{margin:0;font-weight:600;color:var(--text-primary)}.club-details{display:grid;gap:1.5rem}.club-details section{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:1.25rem;background:var(--card-bg)}.club-details h4{margin:0 0 .5rem;font-size:1rem;color:var(--text-primary)}.bullet-list{margin:0;padding:0;list-style:none;display:grid;gap:.55rem;color:var(--text-secondary)}.bullet-list li{position:relative;padding-left:1.25rem;line-height:1.5}.bullet-list li:before{content:"";position:absolute;left:0;top:.55rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--accent-strong);opacity:.35}.club-slogan-text{margin:0;color:var(--text-secondary)}.calendar-card{margin-bottom:2rem}.calendar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:.75rem}.calendar-view-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem;border-radius:999px;background:#94a3b829}.calendar-view-button{border:none;background:transparent;color:var(--text-secondary);font-weight:600;padding:.35rem .85rem;border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.calendar-view-button.is-active{background:var(--accent-strong);color:#fff}.calendar-view-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.calendar-nav{display:flex;align-items:center;gap:.75rem;color:var(--text-secondary)}.calendar-nav button{width:40px;height:40px;border-radius:50%;background:#3b82f61f;color:var(--accent-strong);border:1px solid rgba(59,130,246,.35);font-size:1.25rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 16px #3b82f626;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;outline:2px solid transparent}.calendar-nav button:hover,.calendar-nav button:focus-visible{background:#3b82f633;color:var(--accent-strong);box-shadow:0 10px 20px #3b82f633;transform:translateY(-1px)}.calendar-nav button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.calendar-label{font-weight:600;color:var(--text-primary)}.calendar-container{margin-top:1.5rem;display:grid;gap:1rem}.calendar-week,.calendar-day-list{display:grid;gap:.75rem;grid-template-columns:repeat(7,1fr)}.calendar-month-wrapper{display:grid;gap:0}.calendar-weekday-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:.75rem;margin-bottom:.75rem}.calendar-weekday-header{text-align:center;font-weight:600;font-size:.875rem;color:var(--text-secondary);padding:.5rem}.calendar-day{border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--card-border);background:var(--card-bg);display:grid;gap:.6rem}.calendar-day--actionable{cursor:pointer}.calendar-day--actionable:focus{outline:var(--focus-ring);outline-offset:3px}.calendar-day-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.calendar-day-header strong{font-size:1.05rem}.calendar-day-header span{font-size:.8rem;color:var(--text-secondary)}.calendar-day--today{border-color:var(--accent);background:var(--accent-soft)}.calendar-day--selected{border-color:var(--accent-strong);background:var(--accent-soft)}.calendar-day--other-month{opacity:.4}.calendar-event{border-radius:10px;padding:.55rem .65rem;background:#2563eb14;border:1px solid rgba(37,99,235,.18);display:grid;gap:.25rem}.calendar-event__type-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:.35rem;color:#fff;text-transform:uppercase;letter-spacing:.025em;width:fit-content;margin-bottom:.15rem}.calendar-event--reservation{background:#10b98124;border-color:#10b98152}.calendar-event--match{background:#2563eb1f;border-color:#2563eb47}.calendar-event--tournament-match{background:#f9731624;border-color:#f9731652}.calendar-event--pre-reservation{border-style:dashed}.calendar-event--reservation.calendar-event--pre-reservation{background:#10b9811f;border-color:#10b98152}.calendar-event--match.calendar-event--pre-reservation{background:#2563eb1f;border-color:#2563eb47}.calendar-event--tournament-match.calendar-event--pre-reservation{background:#f973161f;border-color:#f9731652}.calendar-event--block{background:#ef44442e;border-color:#ef444452;color:#7f1d1d}.calendar-event--spanning{border-style:dashed}.calendar-day--schedule{gap:.75rem;padding:1.25rem;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.28);background:linear-gradient(180deg,#fffffff5,#f8fafcf5);box-shadow:0 12px 28px #0f172a14}.calendar-day--schedule .calendar-day-header{padding-bottom:.35rem;border-bottom:1px solid rgba(148,163,184,.22);margin-bottom:.35rem;gap:.2rem}.calendar-day--schedule .calendar-day-header strong{font-size:1.35rem}.calendar-day--schedule .calendar-day-header span{font-size:.95rem}.match-schedule-field{display:flex;flex-direction:column;gap:.75rem}.match-schedule-picker{border:1px solid rgba(148,163,184,.35);background:#f8fafc;border-radius:.75rem;padding:.75rem;display:flex;flex-direction:column;gap:.75rem}.match-schedule-picker__header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.match-schedule-picker__header .calendar-nav{gap:.5rem}.match-schedule-picker__label{font-size:1.05rem}.match-schedule-picker__date-picker{margin-left:auto}.match-schedule-picker__date-input{width:auto;min-width:0}.match-schedule-picker__grid.calendar-container{margin-top:.5rem}.dark-mode .match-schedule-picker{background:#1e293b99;border-color:#94a3b840}.match-schedule-picker__status{font-size:.92rem;color:var(--text-secondary);margin:0}.match-schedule-picker__status--error{color:var(--danger)}.match-schedule-picker__grid{overflow-x:auto}.schedule-picker-courts{display:flex;flex-direction:column;gap:1rem}.schedule-picker-court{background:#94a3b814;border-radius:.75rem;padding:.75rem;border:1px solid rgba(148,163,184,.15)}.schedule-picker-court__header{font-weight:700;font-size:1rem;color:var(--text-primary);margin-bottom:.6rem;padding-left:.25rem}.schedule-picker-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.5rem}.schedule-picker-slot{padding:.55rem .4rem;border-radius:8px;font-size:.8rem;font-weight:600;text-align:center;border:1px solid transparent;transition:all .15s ease;cursor:default;display:flex;flex-direction:column;align-items:center;gap:2px;background:transparent}.schedule-picker-slot__time{font-weight:700;font-size:.85rem}.schedule-picker-slot__status{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;opacity:.85}.schedule-picker-slot__info{font-size:.6rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.9}.schedule-picker-slot--free{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;cursor:pointer}.schedule-picker-slot--free:hover,.schedule-picker-slot--free:active{background:#dcfce7;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e40}.schedule-picker-slot--free.is-selected{background:#22c55e;color:#fff;border-color:#16a34a;box-shadow:0 0 0 3px #22c55e4d}.schedule-picker-slot--free.is-selected .schedule-picker-slot__time,.schedule-picker-slot--free.is-selected .schedule-picker-slot__status{color:#fff}.schedule-picker-slot--reserved{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.schedule-picker-slot--match{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.schedule-picker-slot--tournament{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.schedule-picker-slot--blocked{background:#fef2f2;border-color:#fecaca;color:#dc2626}.schedule-picker-slot--past{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.dark-mode .schedule-picker-court{background:#1e293b66;border-color:#94a3b833}.dark-mode .schedule-picker-slot--free{background:#22c55e26;border-color:#22c55e66;color:#4ade80}.dark-mode .schedule-picker-slot--free:hover{background:#22c55e40;border-color:#22c55e}.dark-mode .schedule-picker-slot--free.is-selected{background:#22c55e;color:#fff}.dark-mode .schedule-picker-slot--reserved{background:#3b82f633;border-color:#3b82f666;color:#93c5fd}.dark-mode .schedule-picker-slot--match{background:#8b5cf633;border-color:#8b5cf666;color:#c4b5fd}.dark-mode .schedule-picker-slot--blocked{background:#dc262633;border-color:#dc262666;color:#fca5a5}@media(max-width:640px){.match-schedule-picker{padding:.5rem;gap:.5rem;border-radius:.5rem}.match-schedule-picker__header{flex-direction:column;align-items:stretch;gap:.5rem}.match-schedule-picker__header .calendar-nav{justify-content:center;gap:.35rem}.match-schedule-picker__header .calendar-nav .ghost{padding:.5rem .75rem;font-size:1rem}.match-schedule-picker__label{font-size:.95rem;text-align:center;font-weight:600}.match-schedule-picker__date-picker{margin-left:0;width:100%;display:none}.match-schedule-picker__date-input{width:100%;max-width:180px;text-align:center;font-size:.9rem;padding:.5rem}.match-schedule-picker__grid{margin-top:.35rem}.schedule-picker-courts{gap:.75rem}.schedule-picker-court{padding:.6rem}.schedule-picker-court__header{font-size:.9rem;margin-bottom:.5rem}.schedule-picker-slots{grid-template-columns:repeat(auto-fill,minmax(75px,1fr));gap:.4rem}.schedule-picker-slot{padding:.5rem .35rem;min-height:52px;touch-action:manipulation}.schedule-picker-slot__time{font-size:.8rem}.schedule-picker-slot__status{font-size:.6rem}.schedule-picker-slot__info{font-size:.55rem}.schedule-form{padding:0}.schedule-form__field{margin-bottom:.5rem}.schedule-form__field--slots{margin-bottom:.75rem}.schedule-form__field label{font-size:.85rem;margin-bottom:.25rem}.schedule-form .form-hint{font-size:.8rem;margin-top:.25rem}.schedule-form__actions{flex-direction:column;gap:.5rem}.schedule-form__actions button{width:100%;padding:.75rem 1rem;font-size:.95rem}.schedule-form__error{font-size:.85rem;padding:.5rem;margin:.5rem 0}}@media(max-width:380px){.schedule-picker-slots{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.35rem}.schedule-picker-slot{padding:.4rem;min-height:44px}.schedule-picker-slot__time{font-size:.7rem}.schedule-picker-slot__status{font-size:.55rem}.match-schedule-picker__label{font-size:.85rem}}.match-schedule-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.match-schedule-actions .form-hint{margin:0}.calendar-day-schedule{overflow-x:auto;border-radius:var(--radius-sm);background:#94a3b81f;padding:.5rem}.calendar-day-schedule__grid{display:grid;min-width:100%;border:1px solid rgba(148,163,184,.3);border-radius:calc(var(--radius-sm) - 2px);overflow:hidden;background:var(--card-bg);box-shadow:inset 0 1px #fff6}.calendar-day-schedule__row{display:grid;grid-template-columns:minmax(120px,.7fr) repeat(var(--calendar-schedule-court-count, 1),minmax(150px,1fr))}.calendar-day-schedule__row--header .calendar-day-schedule__cell{font-weight:600;background:#94a3b833;color:var(--text-primary);letter-spacing:.01em}.calendar-day-schedule__cell{padding:.55rem .65rem;border-bottom:1px solid rgba(148,163,184,.22);border-right:1px solid rgba(148,163,184,.22);display:flex;flex-direction:column;gap:.35rem;min-height:3.25rem;background:transparent;font-size:.82rem}.calendar-day-schedule__cell--busy{background:#2563eb1f;border-right-color:#2563eb52;border-bottom-color:#2563eb52}.calendar-day-schedule__cell--time{background:transparent;font-weight:600;color:var(--text-secondary);justify-content:center;text-transform:uppercase;letter-spacing:.04em}.calendar-day-schedule__cell--header{text-transform:none}.calendar-day-schedule__cell--last-row{border-bottom:none}.calendar-day-schedule__cell--last-column{border-right:none}.calendar-day-schedule__row--body:nth-of-type(2n) .calendar-day-schedule__cell{background:transparent}.calendar-day-schedule__row--body:nth-of-type(2n) .calendar-day-schedule__cell--time{background:transparent}.calendar-day-schedule__row--body:nth-of-type(2n) .calendar-day-schedule__cell--busy{background:#2563eb1f}.calendar-day-schedule__empty{font-size:.85rem;color:var(--text-tertiary)}.calendar-day-schedule__occupied{display:inline-block;font-size:.85rem;font-weight:600;color:#dc2626;background:#dc26261a;padding:.25rem .5rem;border-radius:4px;border:1px solid rgba(220,38,38,.3)}.calendar-day-schedule__occupied-detail{font-size:.75rem;color:#991b1b;margin-top:.25rem;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day-schedule__cell--occupied{background:#dc26260d}.calendar-day-schedule__occupied-details{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;padding:.25rem .5rem;border-radius:4px}.calendar-day-schedule__occupied-type{font-weight:600;color:#dc2626;font-size:.85rem}.calendar-day-schedule__occupied-subtitle{font-size:.75rem;color:var(--text-secondary);line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-schedule-event{width:100%}@media(max-width:640px){#player-court-calendar-card.card,#court-calendar-card.card{background:transparent;border:none;box-shadow:none;padding:0;margin-bottom:1.5rem}#player-court-calendar-card .card-header,#court-calendar-card .card-header{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1rem}#player-court-calendar-card .calendar-actions,#court-calendar-card .calendar-actions{width:100%;flex-direction:column;align-items:flex-start;gap:.75rem}#player-court-calendar-card .calendar-nav,#court-calendar-card .calendar-nav{width:100%;justify-content:flex-start;gap:.5rem}#player-court-calendar-card .calendar-label,#court-calendar-card .calendar-label{font-size:.95rem}#player-court-calendar-card .calendar-date-picker,#court-calendar-card .calendar-date-picker{display:none}#player-court-calendar-container .calendar-day--schedule,#court-calendar-container .calendar-day--schedule{padding:0;border:none;background:transparent;box-shadow:none}#player-court-calendar-container .calendar-day-schedule,#court-calendar-container .calendar-day-schedule{padding:0;background:transparent}.calendar-day-schedule__row{grid-template-columns:50px repeat(var(--calendar-schedule-court-count, 1),minmax(140px,1fr))}.calendar-day-schedule__cell{padding:.5rem .45rem;min-height:3rem}.calendar-day-schedule__cell--time{padding:.3rem .25rem;font-size:.62rem;letter-spacing:0;line-height:1.1;white-space:nowrap;max-width:50px;width:50px;min-width:50px;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}}.calendar-day-schedule__unassigned{margin-top:1rem;display:grid;gap:.75rem}.calendar-day-schedule__unassigned-title{font-weight:600;color:var(--text-secondary)}.calendar-day-schedule__unassigned-list{display:grid;gap:.75rem}.calendar-event strong{font-size:.9rem}.calendar-event .meta{font-size:.75rem}.calendar-day-schedule__slot-button{width:100%;display:inline-flex;justify-content:center;align-items:center;gap:.25rem;padding:.35rem .6rem;border-radius:999px;border:1px solid rgba(37,99,235,.35);background:#2563eb14;color:var(--accent-strong);font-weight:600;font-size:.82rem;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.calendar-day-schedule__slot-button:hover,.calendar-day-schedule__slot-button:focus-visible{background:#2563eb29;border-color:#2563eb8c;color:var(--accent-strong)}.calendar-day-schedule__slot-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.calendar-day-schedule__slot-button.is-selected{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.calendar-day-schedule__slot-button.is-selected:hover,.calendar-day-schedule__slot-button.is-selected:focus-visible{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.calendar-event-subtitle{color:var(--text-secondary)}.calendar-event-notes{color:#4b5563;font-style:italic}.calendar-event-actions{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1);display:flex;gap:.5rem;flex-wrap:wrap}.calendar-event-actions button{font-size:.8rem;padding:.25rem .5rem}.calendar-day--muted{opacity:.45}.calendar-event.pending{background:#f59e0b1f;border-color:#f59e0b38}.calendar-event.confirmed{background:#3b82f61f;border-color:#3b82f638}.calendar-empty{color:var(--text-secondary);font-size:.9rem}.admin-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.admin-block{border:1px solid var(--card-border);border-radius:var(--radius-sm);padding:1.5rem;background:var(--card-bg);display:grid;gap:1.1rem}.admin-block h4{margin:0;font-size:1.1rem}.admin-block h5{margin:0;color:var(--text-secondary);font-size:.9rem;font-weight:600}.admin-block-wide{grid-column:1 / -1}.admin-list{max-height:320px;overflow:auto}.admin-list li{display:grid;gap:.45rem}.admin-list .actions{display:flex;gap:.5rem}.enrollment-list{display:grid;gap:.75rem}.enrollment-player{display:grid;gap:.3rem}.enrollment-meta{color:var(--text-secondary);font-size:.85rem}.match-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.proposal-form{margin-top:.75rem;padding:1rem;border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--card-bg);display:grid;gap:.75rem}.proposal-form h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.proposal-form__field{display:grid;gap:.35rem}.proposal-form__actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.proposal-form__error{margin:0;font-size:.85rem;color:var(--danger)}.match-proposal{margin-top:.5rem;padding:.65rem .75rem;border-radius:12px;background:#0ea5e91f;font-size:.85rem;color:var(--text-secondary)}.print-only{display:none}@media(max-width:1024px){:root{--card-shadow: 0 20px 46px rgba(15, 23, 42, .08)}.topbar{grid-template-columns:1fr;grid-template-areas:"title" "info" "actions";align-items:flex-start;gap:1.25rem}.topbar-info{width:100%;justify-content:space-between}.topbar-title{text-align:left;align-items:flex-start}.topbar-actions{justify-self:stretch}.club-layout{grid-template-columns:1fr}.app-shell{display:block;min-height:0}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:1rem 1rem .35rem}.mobile-topbar__brand{gap:.65rem}.mobile-topbar__title{font-size:1.15rem}.mobile-menu-toggle{display:inline-flex}.mobile-menu-close{display:inline-flex;position:sticky;top:0;margin-left:auto;margin-bottom:0;z-index:2}.app-header{position:fixed;inset:0 auto 0 0;width:min(320px,82vw);max-width:360px;transform:translate(-100%);transition:transform .3s ease;border-right:none;border-bottom:none;padding:.35rem 1.5rem 3.5rem;padding-bottom:calc(3.5rem + env(safe-area-inset-bottom));box-shadow:var(--card-shadow);overflow-y:hidden;display:flex;flex-direction:column;gap:0;height:100vh;max-height:100vh;background:var(--card-bg);border-radius:0 24px 24px 0}.app-header.sidebar--mobile-open{transform:translate(0)}.app-header__inner{flex-direction:column;align-items:stretch;gap:.5rem;padding:0;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch}.app-header__brand{display:none}.mobile-menu-logo{width:112px;height:112px;border-radius:0!important;background-size:contain;background-repeat:no-repeat;background-position:center;margin:0 auto .25rem;box-shadow:none;flex-shrink:0}.app-switcher{width:auto;margin:0 auto .5rem;background:#e5e7eb;border:1px solid #d1d5db;flex-shrink:0}.app-switcher:before{background:#fff;border:1px solid #cbd5e1}.main-menu{width:100%}.main-menu__list{flex-direction:column;align-items:stretch;gap:.4rem;margin-left:12px}.menu-group{flex-direction:column}.menu-submenu{position:static;padding:.4rem 0 .2rem .65rem;margin-top:.1rem;border:none;border-radius:0;box-shadow:none;background:transparent}.menu-submenu__list{gap:.4rem}.menu-submenu .menu-button{background:#3b82f614;border:1px solid transparent;border-radius:var(--radius-sm)}.menu-button{width:100%;justify-content:flex-start;white-space:normal}.sidebar-account{margin-top:1.75rem;flex-direction:column;align-items:center;text-align:center;gap:.75rem}.sidebar-user{flex-direction:column;align-items:center}.sidebar-user__info{align-items:center;text-align:center}.app-main{padding:0 .75rem 2.75rem}.mobile-topbar+.banner{margin-top:.5rem}}@media(max-width:640px){:root{--bg-primary: #f6f7fb;--bg-secondary: #eef2ff;--card-bg: transparent;--card-border: transparent;--card-shadow: none;--radius-lg: 22px;--radius-md: 18px;--radius-sm: 12px}body{background:var(--bg-primary);min-height:100dvh}.app-header{background:#fff;border:1px solid rgba(148,163,184,.18);box-shadow:0 18px 45px #0f172a14}.layout{display:flex;flex-direction:column;min-height:100dvh;gap:1.75rem}.modal-overlay{padding:0;align-items:stretch;justify-content:stretch}.modal{width:100%;max-width:100%;max-height:100vh;height:100vh;border-radius:0;background:#fff;border:none;box-shadow:none}.modal-header{padding:1rem 1.25rem;gap:.75rem}#modal-close{margin-left:auto;color:#ef4444;width:2rem;height:2rem;font-size:1.3rem}.modal-body{padding:1rem 1.25rem}.auth-view{padding:1.5rem 1.25rem 0}.auth-card{padding:0;background:transparent;border:none;box-shadow:none;display:grid;gap:1.5rem;width:100%;max-width:375px;margin:0 auto}.auth-header{text-align:center;display:grid;gap:.45rem}.auth-header h1{font-size:2.2rem;letter-spacing:-.01em;margin:0}.auth-header p{margin:0 auto;max-width:32ch;font-size:.95rem;color:var(--text-secondary)}.tabs{display:flex;gap:.35rem;padding:.35rem;background:transparent;border-radius:18px;box-shadow:none;border:none}.tab-button{flex:1;border-radius:12px;padding:.85rem;border:none;background:transparent;color:var(--text-secondary);font-weight:600}.tab-button.active{background:var(--accent);color:#fff}.form{background:transparent;border-radius:18px;padding:0;box-shadow:none;gap:1rem}label{font-size:.95rem;color:var(--text-primary)}input,select,textarea{border-radius:12px;border:1px solid rgba(148,163,184,.32);background:#f8fafc}.checkbox-option{border-radius:12px;border:1px solid rgba(148,163,184,.18);background:#f8fafc;padding:.85rem}.checkbox-option.remember-option{flex-direction:row;align-items:center;gap:.75rem}.form-grid{grid-template-columns:1fr}.primary,.secondary,.ghost{width:100%;border-radius:12px}.primary{padding:.95rem}.status-message{border-radius:12px}.dashboard-metrics,.calendar-week,.calendar-day-list,.player-directory-controls{grid-template-columns:1fr}.mobile-topbar{padding:.5rem .75rem .75rem;background:#fff;position:relative;border-bottom:none}.mobile-topbar:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#b9f66d,#7dd13a 40%,#1d4ed8);pointer-events:none}.mobile-topbar__brand{gap:.75rem}.mobile-menu-toggle{display:inline-flex;border:none;background:var(--card-bg);border-radius:12px;padding:.6rem .95rem;box-shadow:var(--card-shadow);color:var(--text-primary)}.mobile-menu-close{border-radius:12px}.mobile-menu-backdrop{background:#0f172a47}.app-header{width:min(340px,86vw);max-width:360px;border-radius:0 24px 24px 0}.app-main{padding:0 .75rem 2.5rem;display:grid;gap:1.5rem}.app-section{background:transparent;border-radius:0;padding:0;box-shadow:none}.card{margin-bottom:1.75rem;border-radius:0;background:transparent;border:none;box-shadow:none;padding:0}.inline-controls,.form-actions,.match-actions,.tournament-bracket-actions,.tournament-bracket-admin-actions{flex-direction:column;align-items:stretch;gap:.75rem}.inline-controls>*,.form-actions>*,.match-actions>*,.tournament-bracket-actions>*,.tournament-bracket-admin-actions>*{width:100%}.club-summary,.club-details section{padding:1.1rem;border-radius:16px}.table-scroll{padding-bottom:.5rem}.table th,.table td{padding:.75rem .65rem}.admin-grid{grid-template-columns:1fr}.calendar-day{padding:1.25rem 1.1rem;gap:.85rem;border-radius:16px;background:#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 2px 12px #0f172a0f}.calendar-day-header{padding-bottom:.65rem;border-bottom:1px solid rgba(148,163,184,.15)}.calendar-day-header strong{font-size:1.3rem;font-weight:700}.calendar-day-header span{font-size:.95rem}.calendar-event{padding:.85rem .95rem;gap:.5rem;border-radius:14px;font-size:.95rem;line-height:1.5}.calendar-event strong{font-size:1.05rem;line-height:1.4}.calendar-event .meta{font-size:.88rem;line-height:1.4}.calendar-day--schedule{padding:1.25rem 1.1rem;border-radius:16px;background:#fff;border:1px solid rgba(148,163,184,.22);box-shadow:0 2px 12px #0f172a0f}.calendar-day--schedule .calendar-day-header strong{font-size:1.35rem}.calendar-day--schedule .calendar-day-header span{font-size:1rem}.calendar-day--schedule .calendar-day-schedule__header{padding:.65rem .5rem}}@media print{body{background:#fff}.main-menu,.banner,.calendar-card,.admin-block,#section-admin,#section-account,#section-notifications,#section-matches,#section-categories,#section-calendar{display:none!important}.print-only{display:block}}.courts-grid,.court-reservations-layout{display:grid;gap:1.5rem}@media(min-width:960px){.courts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.courts-management-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}#court-calendar-card{grid-column:1 / -1}.calendar-date-picker{margin:0}.calendar-date-picker input[type=date]{min-width:0}.court-reservation-item{position:relative}.court-reservation-item--pending{border-style:dashed;border-color:#3b82f659;background:#3b82f614}.court-reservation-item--cancelled{opacity:.65;background:#f8fafc;border-style:dashed}.court-reservation-item--cancelled strong{text-decoration:line-through}.reservation-notes{margin:0;font-size:.85rem;color:var(--text-secondary);background:#2563eb14;border-radius:var(--radius-sm);padding:.5rem .75rem}.reservation-actions,.court-schedule-actions{display:flex;gap:.5rem;justify-content:flex-end}.reservation-modal-form{display:grid;gap:1rem}.reservation-modal-form .form-grid{display:grid;gap:.75rem}@media(min-width:640px){.reservation-modal-form .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.reservation-game-type-options{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.reservation-game-type-option{display:inline-flex;align-items:center;gap:.35rem;font-weight:500}.reservation-participant-search-wrapper{position:relative;display:flex;flex-direction:column}.reservation-participant-search-wrapper input{width:100%}.reservation-participant-results{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:var(--radius-sm);box-shadow:0 16px 32px #0f172a29;padding:.35rem;display:flex;flex-direction:column;gap:.25rem;z-index:30;max-height:240px;overflow-y:auto}.reservation-participants-selected{display:flex;flex-wrap:wrap;gap:.5rem;border:1px dashed rgba(148,163,184,.4);border-radius:var(--radius-sm);padding:.5rem;min-height:2.2rem;margin-top:.5rem}.reservation-participants-empty{font-size:.85rem;color:var(--text-secondary)}.reservation-participant-chip{display:inline-flex;align-items:center;gap:.4rem;background:#3b82f624;color:#1d4ed8;border-radius:999px;padding:.3rem .6rem;font-size:.85rem;line-height:1.2}.reservation-participant-chip__label{white-space:nowrap}.reservation-participant-chip__remove{border:none;background:transparent;color:inherit;font-weight:600;cursor:pointer;padding:0;line-height:1}.reservation-participant-chip__remove:hover,.reservation-participant-chip__remove:focus{text-decoration:underline}.reservation-participant-suggestion{border:none;background:transparent;text-align:left;padding:.45rem .5rem;border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;transition:background .15s ease,color .15s ease}.reservation-participant-suggestion:hover,.reservation-participant-suggestion.is-highlighted{background:#2563eb1f;color:#1d4ed8}.reservation-participant-suggestion--empty{padding:.35rem .5rem;font-size:.85rem;color:var(--text-secondary);cursor:default}.reservation-participants-grid{display:grid;gap:.75rem}.reservation-participants-grid--doubles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.reservation-participant-field{display:flex;flex-direction:column;gap:.35rem}.reservation-participant-field select{width:100%}.reservation-form-hint{font-size:.85rem;color:var(--text-secondary)}.court-availability-item{display:grid;gap:.5rem}.court-availability-slot{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.court-availability-slot--pending{font-weight:600;color:#1d4ed8}.court-availability-slot span:first-child{font-weight:600;color:var(--text-primary)}.court-availability-block{display:flex;flex-direction:column;gap:.25rem;background:#f59e0b24;border-radius:var(--radius-sm);padding:.55rem .75rem;font-size:.85rem;color:#92400e;border:1px solid rgba(245,158,11,.32)}.court-schedule{background:#fff;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.16);box-shadow:0 14px 34px #0f172a14;padding:1.2rem 1.4rem;display:grid;gap:.75rem}.court-schedule h4{margin:0;font-size:1.05rem;font-weight:600;color:var(--text-primary)}.court-schedule-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.75rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.22)}.court-schedule-row:first-of-type{border-top:none;padding-top:0}.court-schedule-row--block{background:#f59e0b1f;border-radius:var(--radius-sm);border:1px solid rgba(245,158,11,.28);padding:.75rem .85rem}.court-schedule-row--block .court-schedule-info{color:#92400e}.court-schedule-row--block .court-schedule-info span:first-child{color:#7c2d12}.court-schedule-info{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--text-secondary)}.court-schedule-info span:first-child{font-weight:600;color:var(--text-primary)}.court-block-item{display:grid;gap:.5rem;background:#fff;border-radius:var(--radius-md);border:1px solid rgba(148,163,184,.2);padding:.9rem 1rem;box-shadow:0 12px 32px #0f172a0f}.court-block-item__header{display:flex;align-items:center;gap:.5rem;justify-content:space-between}.court-block-item__header strong{font-size:.95rem;color:var(--text-primary)}.court-block-item__schedule,.court-block-item__courts,.court-block-item__notes{font-size:.85rem;color:var(--text-secondary)}.court-block-item__notes{font-style:italic}.court-block-item__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.25rem}.court-block-form{display:flex;flex-direction:column;gap:1.25rem}.court-block-form__section{border:1px solid var(--card-border, #e2e8f0);border-radius:var(--radius-md, 8px);padding:1.25rem 1.25rem 1rem;margin:0;background:var(--bg-secondary, #f8fafc)}.court-block-form__section--recurring{background:#fefce8;border-color:#fde68a}.court-block-form__legend{font-size:.85rem;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em;padding:0 .5rem}.court-block-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:.5rem}.court-block-form__field{display:flex;flex-direction:column;gap:.35rem}.court-block-form__field label{font-size:.85rem;font-weight:600;color:var(--text-secondary, #475569)}.court-block-form__field select,.court-block-form__field input,.court-block-form__field textarea{padding:.5rem .75rem;border:1px solid var(--input-border, #cbd5e1);border-radius:var(--radius-sm, 6px);font-size:.9rem;background:#fff;transition:border-color .15s}.court-block-form__field select:focus,.court-block-form__field input:focus,.court-block-form__field textarea:focus{border-color:var(--accent, #3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.court-block-form__field select[multiple]{min-height:72px}.court-block-form__toggle{display:flex;flex-direction:column;gap:.25rem;padding:1rem 1.25rem;border:1px solid var(--card-border, #e2e8f0);border-radius:var(--radius-md, 8px);background:var(--bg-secondary, #f8fafc)}.court-block-form__toggle-label{display:flex;align-items:center;gap:.6rem;font-size:.95rem;font-weight:600;cursor:pointer}.court-block-form__toggle-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent, #3b82f6)}.court-block-form__toggle-hint{font-size:.8rem;color:var(--text-secondary, #64748b);margin-left:2.1rem}@media(max-width:640px){.court-block-form__row{grid-template-columns:1fr}.court-block-form__section{padding:1rem .75rem}}.court-admin-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.court-admin-nav input[type=date]{font-size:.95rem;padding:.35rem .6rem}.court-grid-legend{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:1rem;font-size:.8rem}.court-grid-legend__item{display:flex;align-items:center;gap:.35rem}.court-grid-legend__item:before{content:"";display:inline-block;width:14px;height:14px;border-radius:3px}.court-grid-legend__item--free:before{background:#dcfce7;border:1px solid #86efac}.court-grid-legend__item--reserved:before{background:#dbeafe;border:1px solid #93c5fd}.court-grid-legend__item--match:before{background:#ede9fe;border:1px solid #c4b5fd}.court-grid-legend__item--blocked:before{background:#fef3c7;border:1px solid #fcd34d}.court-grid-legend__item--selected:before{background:#e0f2fe;border:2px solid #0284c7}.court-grid-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:.5rem}.court-grid{display:grid;grid-template-columns:minmax(60px,80px) repeat(var(--court-grid-cols, 9),minmax(100px,1fr));gap:3px;min-width:500px}.court-grid__corner{background:var(--bg-secondary, #f8fafc);padding:.5rem;font-weight:600;font-size:.8rem;position:sticky;left:0;z-index:2;border-right:2px solid var(--card-border, #e2e8f0);border-radius:6px 0 0}.court-grid__time-header{background:var(--bg-secondary, #f8fafc);padding:.5rem .25rem;text-align:center;font-weight:600;font-size:.8rem;color:var(--text-secondary, #64748b);border-radius:6px 6px 0 0}.court-grid__court-label{background:var(--bg-secondary, #f8fafc);padding:.5rem;font-weight:600;font-size:.85rem;display:flex;align-items:center;position:sticky;left:0;z-index:2;border-right:2px solid var(--card-border, #e2e8f0)}.court-grid__cell{padding:.5rem .35rem;text-align:center;cursor:pointer;border-radius:6px;font-size:.75rem;min-height:52px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:background-color .15s,box-shadow .15s,transform .1s;user-select:none;overflow:hidden;text-overflow:ellipsis;line-height:1.25;font-weight:500}.court-grid__cell:active{transform:scale(.97)}.court-grid-cell--free{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d}.court-grid-cell--free:hover{background:#dcfce7;box-shadow:inset 0 0 0 2px #22c55e}.court-grid-cell--reserved{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.court-grid-cell--reserved:hover{background:#dbeafe;box-shadow:inset 0 0 0 1px #60a5fa}.court-grid-cell--match{background:#f5f3ff;border:1px solid #ddd6fe;color:#5b21b6}.court-grid-cell--match:hover{background:#ede9fe;box-shadow:inset 0 0 0 1px #a78bfa}.court-grid-cell--blocked{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.court-grid-cell--blocked:hover{background:#fef3c7;box-shadow:inset 0 0 0 1px #f59e0b}.court-grid-cell--selected{background:#e0f2fe!important;border:2px solid #0284c7!important;box-shadow:inset 0 0 0 1px #0284c7;color:#0369a1!important}.court-grid__cell--free{background:#f0fdf4;border:1px solid #bbf7d0;color:#15803d;cursor:pointer}.court-grid__cell--free:hover{background:#dcfce7;box-shadow:inset 0 0 0 2px #22c55e}.court-grid__cell--reserved{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af;cursor:default}.court-grid__cell--league{background:#faf5ff;border:1px solid #e9d5ff;color:#7c3aed}.court-grid__cell--tournament{background:#fff7ed;border:1px solid #fed7aa;color:#ea580c}.court-grid__cell--private{background:#eff6ff;border:1px solid #bfdbfe;color:#2563eb}.court-grid__cell--blocked{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;cursor:not-allowed}.court-grid__cell--past{background:#f9fafb;border:1px solid #e5e7eb;color:#9ca3af;cursor:not-allowed}.court-grid__cell--unavailable{background:#fefce8;border:1px solid #fef08a;color:#a16207;cursor:not-allowed}.court-grid-cell__type{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;opacity:.85;white-space:nowrap}.court-grid-cell__name{font-size:.7rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.court-admin-selection-bar{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;margin-top:.75rem;background:linear-gradient(135deg,#0284c714,#3b82f60f);border:1px solid rgba(2,132,199,.25);border-radius:var(--radius-md, 8px);font-size:.9rem;font-weight:500}.court-admin-selection-bar .primary{margin-left:auto}@media(max-width:640px){.court-grid{min-width:500px;font-size:.65rem}.court-grid__cell{min-height:40px;padding:.3rem .2rem;font-size:.65rem}.court-admin-nav{gap:.5rem}.court-admin-selection-bar{flex-wrap:wrap;gap:.5rem;font-size:.8rem}}.court-mobile-view,.court-admin-mobile-view{display:none}@media(max-width:768px){#section-court-reservations .court-grid-wrapper{display:none}.court-mobile-view{display:flex;flex-direction:column;gap:1rem}#section-court-admin .court-grid-wrapper{display:none}.court-admin-mobile-view{display:flex;flex-direction:column;gap:1rem}}.court-mobile-slot--selected{background:#e0f2fe!important;border-color:#0284c7!important;box-shadow:0 0 0 2px #0284c74d;color:#0369a1!important}.court-mobile-card{background:#fff;border:1px solid rgba(148,163,184,.22);border-radius:var(--radius-md, 12px);box-shadow:0 2px 12px #0f172a0f;overflow:hidden}.court-mobile-card__header{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1rem;background:linear-gradient(135deg,var(--bg-secondary, #f8fafc),rgba(241,245,249,.6));border-bottom:1px solid rgba(148,163,184,.16)}.court-mobile-card__name{font-weight:700;font-size:1rem;color:var(--text-primary, #1e293b);margin:0}.court-mobile-card__sport{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:.25rem .6rem;border-radius:999px;background:#3b82f61f;color:#2563eb}.court-mobile-card__body{padding:.75rem}.court-mobile-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.5rem}.court-mobile-slot{padding:.55rem .4rem;border-radius:8px;font-size:.8rem;font-weight:600;text-align:center;border:1px solid transparent;transition:all .15s ease;cursor:default;display:flex;flex-direction:column;align-items:center;gap:2px}.court-mobile-slot__time{font-weight:700;font-size:.85rem}.court-mobile-slot__status{font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;opacity:.85}.court-mobile-slot--free{background:#f0fdf4;border-color:#bbf7d0;color:#15803d;cursor:pointer}.court-mobile-slot--free:hover,.court-mobile-slot--free:active{background:#dcfce7;border-color:#22c55e;box-shadow:0 0 0 2px #22c55e40}.court-mobile-slot--reserved{background:#eff6ff;border-color:#bfdbfe;color:#1e40af}.court-mobile-slot--match{background:#f5f3ff;border-color:#ddd6fe;color:#5b21b6}.court-mobile-slot--tournament{background:#fff7ed;border-color:#fed7aa;color:#ea580c}.court-mobile-slot--blocked{background:#fef2f2;border-color:#fecaca;color:#dc2626}.court-mobile-slot--past{background:#f9fafb;border-color:#e5e7eb;color:#9ca3af}.court-mobile-slot--unavailable{background:#fefce8;border-color:#fef08a;color:#a16207}.court-mobile-slot__info{font-size:.6rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;opacity:.9}@media(max-width:768px){.court-grid-legend{justify-content:flex-start;gap:.6rem 1rem;font-size:.75rem}.court-grid-legend__item:before{width:12px;height:12px}.court-admin-nav{justify-content:space-between;flex-wrap:nowrap}.court-admin-nav input[type=date]{flex:1;min-width:0;max-width:150px}}.court-mobile-empty{text-align:center;padding:2rem 1rem;color:var(--text-secondary, #64748b);font-size:.9rem}@media(max-width:768px){#court-reservations-my-reservations-card .list-item{flex-direction:column;align-items:stretch;gap:.75rem;padding:1rem}#court-reservations-my-reservations-card .list-item__content{gap:.5rem}#court-reservations-my-reservations-card .list-item__content strong{font-size:.95rem;line-height:1.3}#court-reservations-my-reservations-card .meta{flex-wrap:wrap;gap:.4rem}#court-reservations-my-reservations-card .actions{width:100%;justify-content:stretch}#court-reservations-my-reservations-card .actions button{flex:1}}.timeslots-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.timeslot-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--card-border)}.timeslot-inputs{display:flex;align-items:center;gap:.5rem;flex:1}.timeslot-inputs input[type=time]{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--input-border);border-radius:var(--radius-sm);font-size:.9rem;background:#fff}.timeslot-inputs input[type=time]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #4755691a}.timeslot-inputs span{color:var(--text-secondary);font-weight:500}.timeslot-remove{padding:.4rem .75rem!important;min-width:auto!important;color:var(--danger)!important;font-size:1.1rem;line-height:1}.timeslot-remove:hover{background:#ef44441a!important}.two-columns-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem}@media(max-width:768px){.two-columns-grid{grid-template-columns:1fr;gap:1rem}#section-dashboard>div[style*="grid-template-columns: repeat(2, 1fr)"]{grid-template-columns:1fr!important}#section-dashboard>div[style*="grid-template-columns: 1fr 2fr"]{grid-template-columns:1fr!important}.dashboard-news-item{flex-direction:column;gap:.75rem}.dashboard-news-cover{width:100%;height:150px}.dashboard-card-item{flex-direction:column;gap:.75rem}.dashboard-card-poster{width:100%;height:auto;max-width:100%}.dashboard-tournament-details,.dashboard-tournament-fees{grid-template-columns:1fr;gap:.5rem}.dashboard-tournament-details dt,.dashboard-tournament-fees dt{font-weight:600;margin-top:.25rem}}.day-toggles{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.day-toggles .toggle-button{min-width:48px;text-align:center;padding:.5rem .75rem}.timeslots-toggles{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;max-height:300px;overflow-y:auto}.timeslots-toggles .toggle-button{text-align:center;padding:.5rem .75rem;font-size:.85rem}.toggle-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.toggle-group--slots{max-height:400px;overflow-y:auto;padding-right:.5rem}.toggle-button{padding:.75rem 1rem;background:var(--bg-secondary);border:2px solid var(--card-border);border-radius:var(--radius-md);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.toggle-button:hover{background:var(--accent-soft);border-color:var(--accent)}.toggle-button.active{background:var(--accent);border-color:var(--accent);color:#fff}.toggle-button:focus{outline:var(--focus-ring);outline-offset:2px}.toggle-button:disabled{opacity:.5;cursor:not-allowed}.toggle-group--slots::-webkit-scrollbar{width:6px}.toggle-group--slots::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.toggle-group--slots::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.toggle-group--slots::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius-md)}.pagination-button{padding:.5rem 1rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.pagination-button:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-info{font-size:.9rem;color:var(--text-secondary);font-weight:500}@media(max-width:768px){.pagination{flex-direction:column;gap:.75rem}.pagination-button{width:100%}}.form-header-with-action{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.form-header-with-action .inline-field{margin-bottom:0;flex:1}.form-header-with-action button.small{padding:.4rem .75rem;font-size:.85rem;white-space:nowrap;margin-top:1.75rem}.list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--card-border);margin-bottom:.5rem}.list-item-button{flex:1;display:block;width:100%;background:none;border:none;padding:0;text-align:left;cursor:pointer;color:inherit;font:inherit}.list-item-title{display:block;font-size:.95rem;font-weight:600;color:var(--text-primary);margin-bottom:.35rem}.list-item-meta{display:flex;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:var(--text-secondary)}.list-item-meta span{display:inline-block}.list-item-meta .link{color:var(--accent);text-decoration:none;font-weight:500}.list-item-meta .link:hover{text-decoration:underline}.list-item-actions{display:flex;gap:.5rem;flex-shrink:0}.list-item-actions button.small{padding:.4rem .75rem;font-size:.85rem}.email-template-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#fff;border-radius:var(--radius-md);border:1px solid var(--card-border);margin-bottom:.75rem}.email-template-item__content{flex:1;min-width:0}.email-template-item__header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.email-template-item__name{font-size:.95rem;font-weight:600;color:var(--text-primary)}.email-template-item__subject{font-size:.85rem;color:var(--text-secondary);margin-bottom:.35rem}.email-template-item__description{font-size:.8rem;color:var(--text-secondary);line-height:1.4}.email-template-item__actions{display:flex;gap:.5rem;flex-shrink:0}.tag--inactive{background:#ef44441f;color:#dc2626}.tag--system{background:#8b5cf61f;color:#7c3aed}.notifications-group{margin-bottom:2rem}.notifications-group:last-child{margin-bottom:0}.notifications-group-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;padding:.5rem 0;border-bottom:2px solid var(--border-color);display:flex;align-items:center;gap:.5rem}.notifications-group .list{margin-top:0}.notifications-group .empty-state{margin-top:.5rem;font-size:.875rem;padding:1rem}#notifications-container{display:flex;flex-direction:column;gap:0}.publicaciones-layout{display:grid;grid-template-columns:1fr 300px;gap:2rem;margin-top:1.5rem}.publicaciones-sidebar{display:flex;flex-direction:column;gap:1.5rem}.publicaciones-sidebar h4{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;padding-bottom:.5rem;border-bottom:2px solid var(--accent);display:inline-block}.publicaciones-sidebar label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;cursor:pointer}.publicaciones-main{min-width:0}.blog-popular-item{display:flex;flex-direction:column;gap:0;padding:0;border-radius:var(--radius-md);transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;border:1px solid var(--border-color);cursor:pointer;position:relative;overflow:hidden}.blog-popular-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent) 0%,#ff6b6b 100%);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.blog-popular-item:hover:before{transform:scaleX(1)}.blog-popular-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px);border-color:transparent}.blog-popular-cover{width:100%;height:140px;object-fit:cover;border-radius:0;flex-shrink:0;background:#eee;transition:transform .3s ease;margin:0}.blog-popular-item:hover .blog-popular-cover{transform:scale(1.02)}.blog-popular-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.375rem;padding:.875rem}.blog-popular-content a{font-weight:600;font-size:.9rem;color:var(--text-primary);text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3;transition:color .2s ease}.blog-popular-item:hover .blog-popular-content a{color:var(--accent)}.blog-popular-content small{font-size:.75rem;color:var(--text-tertiary)}.blog-popular-summary{font-size:.8rem;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:.25rem}.blog-tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.blog-tags-container button{padding:.375rem .875rem;background:#fff;border:1.5px solid var(--border-color);border-radius:var(--radius-full);font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.blog-tags-container button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent);transform:translateY(-1px)}.blog-tags-container button.selected{background:linear-gradient(135deg,var(--accent) 0%,#ff6b6b 100%);color:#fff;border-color:transparent;box-shadow:0 2px 6px #d62f2f40}.calendar-mini{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;font-size:.75rem;box-shadow:0 1px 3px #0000000d}.calendar-mini-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;font-weight:700;font-size:.875rem;color:var(--text-primary)}.calendar-mini-nav{display:flex;gap:.25rem}.calendar-mini-nav button{padding:.25rem .5rem;background:transparent;border:1px solid var(--border-color);cursor:pointer;border-radius:var(--radius-sm);transition:all .2s ease;color:var(--text-secondary);font-weight:600}.calendar-mini-nav button:hover{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);transform:scale(1.05)}.calendar-mini-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem;text-align:center}.calendar-mini-day-name{font-size:.7rem;font-weight:700;color:var(--text-secondary);padding:.375rem;text-transform:uppercase;letter-spacing:.5px}.calendar-mini-day{padding:.5rem;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease;font-weight:500;position:relative}.calendar-mini-day:hover{background:var(--accent-soft);color:var(--accent);transform:scale(1.1)}.calendar-mini-day.has-publication{background:linear-gradient(135deg,#d62f2f26,#ff6b6b26);color:var(--accent);font-weight:700}.calendar-mini-day.has-publication:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.calendar-mini-day.other-month{color:var(--text-tertiary);opacity:.4}.calendar-mini-day.today{background:linear-gradient(135deg,var(--accent) 0%,#ff6b6b 100%);color:#fff;font-weight:700;box-shadow:0 2px 6px #d62f2f4d}.calendar-mini-day.today:hover{transform:scale(1.15)}.publicaciones-main,.publicaciones-list{display:flex;flex-direction:column;gap:1rem}.publicacion-item{background:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:box-shadow .2s,transform .2s}.publicacion-item:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.publicacion-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.publicacion-title-wrapper{flex:1}.publicacion-title{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;color:var(--text-primary)}.publicacion-meta{display:flex;gap:1rem;align-items:center;font-size:.875rem;color:var(--text-secondary)}.publicacion-actions{display:flex;gap:.5rem}.publicacion-image{width:100%;max-height:300px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:1rem}.publicacion-content{color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.publicacion-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.publicacion-tag{padding:.25rem .75rem;background:#3b82f61a;color:var(--primary);border-radius:var(--radius-full);font-size:.8rem;font-weight:500}.blog-posts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;list-style:none;margin:0;padding:0}.blog-posts-list{display:flex;flex-direction:column;gap:1.5rem;list-style:none;margin:0;padding:0}.blog-posts-list .blog-post-card,.blog-posts-grid .blog-post-card{list-style:none}.blog-posts-grid .blog-post-card{flex-direction:column;height:100%}.blog-posts-grid .blog-post-cover,.blog-posts-grid .skeleton-image{height:220px}.blog-posts-grid .blog-post-card-content{display:flex;flex-direction:column;gap:.75rem}@media(max-width:1024px){.blog-posts-grid{grid-template-columns:1fr}.publicaciones-layout{grid-template-columns:1fr 260px;gap:1.5rem}}@media(max-width:768px){.publicaciones-layout{grid-template-columns:1fr;gap:1.5rem}.publicaciones-sidebar{order:2;gap:1.5rem;padding-top:1rem;border-top:2px solid var(--border-color)}.publicaciones-main{order:1}.blog-posts-list .blog-post-card,.blog-posts-grid .blog-post-card{flex-direction:column;padding:0;overflow:hidden}.blog-posts-list .blog-post-cover,.blog-posts-grid .blog-post-cover{height:200px;margin:0;border-radius:0}.blog-post-card-content{padding:1rem}.skeleton-card{flex-direction:column;padding:0}.skeleton-image{width:100%;height:200px;border-radius:0}.skeleton-content{padding:1rem}.blog-posts-grid{grid-template-columns:1fr}.view-toggle{width:100%}.view-toggle button{flex:1;justify-content:center}.dashboard-news-item{flex-direction:column}.dashboard-news-cover{width:100%;height:160px}.blog-popular-item{padding:0}.blog-popular-cover{height:120px}.card-header .card-actions{flex-direction:column;gap:.5rem;align-items:stretch}.card-header .card-actions .view-toggle{order:2}.card-header .card-actions button:not(.view-toggle button){order:1}}.info-box{background:var(--accent-soft);border:1px solid var(--accent);border-radius:var(--radius-md);padding:1rem;margin:1rem 0}.info-box h4{margin-top:0;margin-bottom:.5rem;color:var(--accent-strong)}.info-box p{margin:.5rem 0}.info-box.playtomic-notice{background:linear-gradient(135deg,#dc262626,#dc262614);border:2px solid rgba(220,38,38,.6);margin:0 0 1rem;padding:.75rem 1rem;border-radius:var(--radius-md)}.info-box.playtomic-notice p{margin:0;font-size:.9rem;color:var(--text-primary);line-height:1.4;font-weight:500}.info-box ul{margin:.5rem 0;padding-left:1.5rem}.info-box code{background:#0000000d;padding:2px 6px;border-radius:3px;font-family:Courier New,monospace;font-size:.9em}.tag--inactive{background:#f44;color:#fff}.tag--system{background:#9e9e9e;color:#fff}.push-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:var(--radius-md);padding:1.5rem;margin-top:1rem}.push-preview__notification{display:flex;gap:.75rem;align-items:flex-start;background:#fff;border:1px solid #d1d5db;border-radius:var(--radius-sm);padding:.875rem;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.push-preview__icon{width:40px;height:40px;border-radius:8px;object-fit:cover;flex-shrink:0}.push-preview__content{flex:1;min-width:0}.push-preview__title{font-weight:600;font-size:.9375rem;color:#111827;margin-bottom:.25rem}.push-preview__message{font-size:.875rem;color:#6b7280;line-height:1.4}.push-preview__image{width:100%;max-height:200px;object-fit:cover;border-radius:var(--radius-sm);margin-top:.75rem}.push-preview__actions{display:flex;gap:.5rem;margin-top:.75rem;padding-left:3.25rem}.push-preview__action{padding:.5rem 1rem;font-size:.875rem;font-weight:500;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#374151;cursor:default}.form-section h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.info-list{list-style:none;padding:0;margin:0}.info-list li{padding:.5rem 0;font-size:.9375rem;color:var(--text-secondary);line-height:1.6}.info-list code{background:var(--accent-soft);color:var(--accent-strong);padding:.125rem .375rem;border-radius:4px;font-size:.875em;font-family:Courier New,Courier,monospace}@media(min-width:769px){.dashboard-grid{display:grid!important;gap:2rem}}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr!important}.tournament-card{flex-direction:column!important;align-items:center!important}.tournament-card__brackets{padding:.5rem!important}.tournament-card h4{font-size:1.125rem!important}.tournament-card .tag{font-size:.7rem!important}.tournament-card__brackets button{flex-direction:column!important;align-items:flex-start!important;text-align:left!important}}@media(max-width:480px){.collection-card{padding:.75rem!important}.tournament-card{gap:1rem!important}h2{font-size:1.25rem!important}h3{font-size:1.125rem!important}}@media(min-width:900px){#my-matches-dashboard-grid{display:grid!important;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:100%;box-sizing:border-box}#my-matches-dashboard-grid.my-matches--league-only{grid-template-columns:1fr}#my-tournament-scheduled-block{grid-column:1;grid-row:1}#my-league-scheduled-block{grid-column:2;grid-row:1}#my-tournament-to-programme-block{grid-column:1;grid-row:2}#my-league-to-programme-block{grid-column:2;grid-row:2}#my-tournament-finished-block{grid-column:1;grid-row:3}#my-league-finished-block{grid-column:2;grid-row:3}#my-matches-dashboard-grid.my-matches--league-only #my-league-scheduled-block,#my-matches-dashboard-grid.my-matches--league-only #my-league-to-programme-block,#my-matches-dashboard-grid.my-matches--league-only #my-league-finished-block{grid-column:1}.dashboard-league-block{margin:0 0 1.5rem!important;width:100%;max-width:100%}}#my-matches-dashboard-grid .card-header h3 .badge{margin-left:.5rem;font-size:.875rem;vertical-align:middle}.badge-green-circle{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;background:#22c55e;color:#fff;font-size:.875rem;font-weight:700;line-height:1;margin-left:auto;flex-shrink:0}.badge-orange-circle{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;background:#f97316;color:#fff;font-size:.875rem;font-weight:700;line-height:1;margin-left:auto;flex-shrink:0}.badge-red-circle{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;background:#ef4444;color:#fff;font-size:.875rem;font-weight:700;line-height:1;margin-left:auto;flex-shrink:0}.badge-blue-circle{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;width:2.25rem;height:2.25rem;padding:0;border-radius:50%;background:#3b82f6;color:#fff;font-size:.875rem;font-weight:700;line-height:1;margin-left:auto;flex-shrink:0}#my-league-scheduled-block .card-header,#my-league-to-programme-block .card-header,#my-tournament-to-programme-block .card-header,#my-tournament-scheduled-block .card-header,#my-tournament-finished-block .card-header,#my-league-finished-block .card-header{display:flex;align-items:center;justify-content:space-between}.match-item{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:6px;transition:all .2s ease;width:100%;box-sizing:border-box}.match-item:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #00000014}#league-scheduled-list .match-item,#tournament-scheduled-list .match-item{border:2px solid var(--primary-color);box-shadow:0 2px 8px #1d4ed81f}#league-finished-list .match-item,#tournament-finished-list .match-item{border:1px solid rgba(107,114,128,.3)}.match-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%}.match-info{flex:1;min-width:0;width:100%}.match-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.25rem;width:100%;box-sizing:border-box}.match-title strong{font-size:1rem;color:var(--text-primary)}.match-title .tag{font-size:.75rem;padding:.125rem .5rem;background:var(--primary-color);color:#fff;border-radius:4px}.match-category{font-size:.875rem;color:var(--text-secondary)}.match-date{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem;background:var(--bg-primary);border-left:3px solid var(--primary-color);border-radius:4px;flex-wrap:wrap}.match-date strong{font-size:.9375rem;color:var(--text-primary);flex:1;min-width:fit-content}.match-date span{font-size:.875rem;color:var(--text-secondary);white-space:nowrap}.match-court{padding:.5rem .75rem;background:var(--bg-primary);border-radius:4px;font-size:.875rem;color:var(--text-secondary)}.match-result{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:4px;font-size:.9375rem}.match-result--win{background:#22c55e1a;border-left:3px solid #22c55e}.match-result--win strong{color:#16a34a}.match-result--loss{background:#ef44441a;border-left:3px solid #ef4444}.match-result--loss strong{color:#dc2626}.match-result span{color:var(--text-secondary)}.match-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.match-actions button.small{padding:.5rem 1rem;font-size:.875rem}.match-competition{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.match-competition .tag{font-size:.75rem;padding:.25rem .625rem;border-radius:4px;font-weight:600}.match-competition .tag--league{background:#3b82f61a;color:#2563eb;border:1px solid rgba(59,130,246,.3)}.match-competition .tag--tournament{background:#a855f71a;color:#9333ea;border:1px solid rgba(168,85,247,.3)}.match-competition .tag--category{background:#6b72801a;color:#4b5563;border:1px solid rgba(107,114,128,.3)}.match-players{display:flex;align-items:center;gap:.5rem}.match-players strong{font-size:1.125rem;color:var(--text-primary);font-weight:600}.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;padding:1rem;animation:fadeIn .2s ease}.modal-content{background:#fff;background:var(--card-bg, #ffffff);border-radius:12px;max-width:500px;width:100%;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color);background:#fff}.modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;line-height:1;padding:.25rem;cursor:pointer;color:var(--text-secondary);transition:color .2s ease}.modal-close:hover{color:var(--text-primary)}.modal-body{padding:1.5rem;background:#fff}.modal-body p{margin:0 0 1rem;color:var(--text-secondary)}.modal:has(.schedule-form) .modal-header,.modal:has(.proposal-form) .modal-header{position:relative;padding-right:3.5rem}.modal:has(.schedule-form) .modal-header h2,.modal:has(.proposal-form) .modal-header h2{font-size:1.4rem;line-height:1.3}.modal:has(.schedule-form) #modal-close,.modal:has(.proposal-form) #modal-close{position:absolute;top:.75rem;right:.75rem;width:36px;height:36px;min-width:36px;border-radius:50%;background:#ef4444;color:#fff;font-size:1.5rem;font-weight:400;display:flex;align-items:center;justify-content:center;padding:0;border:none;box-shadow:0 2px 6px #ef444466;transition:background .2s ease,transform .2s ease}.modal:has(.schedule-form) #modal-close:hover,.modal:has(.proposal-form) #modal-close:hover{background:#dc2626;transform:scale(1.1);color:#fff}.pagination-controls{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.pagination-info{font-size:.875rem;font-weight:600;color:var(--text-secondary);min-width:3rem;text-align:center}.pagination-controls button{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:.5rem;border:none;background:linear-gradient(135deg,#10b981,#059669);color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 3px 6px #10b9814d}.pagination-controls button:hover:not(:disabled){transform:scale(1.1);background:linear-gradient(135deg,#059669,#047857);box-shadow:0 5px 12px #10b98166}.pagination-controls button:active:not(:disabled){transform:scale(.95)}.pagination-controls button:disabled{cursor:not-allowed;background:#e5e7eb;color:#9ca3af;box-shadow:none}#league-enrolled-view-all{padding:.75rem 1.5rem!important;font-size:1rem!important;background:linear-gradient(135deg,#10b981,#059669)!important;color:#fff!important;border:none!important;box-shadow:0 3px 6px #10b9814d!important;transition:all .2s ease!important}#league-enrolled-view-all:hover:not(:disabled){transform:scale(1.05);background:linear-gradient(135deg,#059669,#047857)!important;box-shadow:0 5px 12px #10b98166!important}#league-enrolled-view-all:active:not(:disabled){transform:scale(.95)}#league-enrolled-view-all:disabled{background:#e5e7eb!important;color:#9ca3af!important;box-shadow:none!important}@media(max-width:768px){.match-item{padding:.75rem;gap:.5rem;margin-left:0;margin-right:0}.match-title{flex-direction:column;align-items:flex-start;gap:.375rem;word-wrap:break-word;overflow-wrap:break-word}.match-title strong{font-size:.9375rem;max-width:100%;word-wrap:break-word}.match-title .tag{font-size:.6875rem;padding:.125rem .375rem}.match-category{font-size:.8125rem}.match-date{padding:.625rem}.match-date strong{font-size:.875rem;word-wrap:break-word}.match-date span{font-size:.8125rem}.match-court{padding:.5rem .625rem;font-size:.8125rem}.match-result{padding:.625rem;font-size:.875rem;gap:.5rem}.match-actions{flex-direction:column;gap:.375rem}.match-actions button{width:100%;padding:.625rem .875rem;font-size:.8125rem}.pagination-controls{gap:.75rem;padding-top:.75rem}.pagination-controls button{padding:.6rem 1rem;font-size:.875rem}.pagination-info{font-size:.8125rem}}@media(max-width:480px){.my-matches-grid{margin-top:.75rem}.my-matches-column-title{font-size:1rem}.my-matches-section{padding:.75rem}.section-header{padding-bottom:.5rem}.section-header h4{font-size:.9375rem}.section-header .badge{font-size:.75rem;padding:.1875rem .5rem}.match-item{padding:.625rem}.match-title strong{font-size:.875rem}.match-category{font-size:.75rem}.pagination-controls button{padding:.5rem .75rem;font-size:.75rem}.pagination-info{font-size:.75rem}}@media(max-width:600px){.modal-overlay{padding:0!important}.match-results-section{margin:1.2rem 0;border:2px solid var(--accent)!important;border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.match-results-header{grid-template-columns:minmax(110px,2fr) repeat(3,minmax(50px,1fr));gap:.5rem;padding:.85rem .75rem;font-size:.8rem;font-weight:700;background:var(--accent)!important;color:#fff}.match-results-row{grid-template-columns:minmax(110px,2fr) repeat(3,minmax(50px,1fr));gap:.5rem;padding:.85rem .75rem;background:#fff;border-bottom:1px solid rgba(148,163,184,.2)}.player-name-input{font-size:.9rem!important;font-weight:600;min-width:0;overflow-x:auto;white-space:nowrap}.set-input{padding:.5rem .35rem;font-size:1rem;font-weight:700;border:2px solid #d1d5db;max-width:100%}.set-input-tiebreak{font-size:.9rem}.modal-body .form{gap:1rem}.modal-body .form label,.modal-body .form input[type=text],.modal-body .form textarea{font-size:.9rem}.modal-body .form .form-hint{font-size:.8rem;margin-top:.25rem}.calculated-winner{padding:.75rem;font-size:.9rem;background:#dbeafe;border:1px solid var(--accent);border-radius:8px;margin:.5rem 0}.form-actions{flex-direction:column;gap:.5rem;margin-top:1rem}.form-actions button{width:100%;padding:.75rem;font-size:.95rem}}@media(max-width:400px){.match-results-header{grid-template-columns:minmax(100px,2.5fr) repeat(3,minmax(40px,48px));font-size:.7rem;padding:.4rem .5rem}.match-results-row{grid-template-columns:minmax(100px,2.5fr) repeat(3,minmax(40px,48px));padding:.6rem .5rem}.player-name-input{font-size:.8rem!important;overflow-x:auto;white-space:nowrap}.set-input{font-size:.85rem;padding:.25rem .1rem;max-width:48px}.set-input-tiebreak{font-size:.75rem}}.calendar-day-schedule__cell--clickable{cursor:pointer;transition:background-color .2s ease}.calendar-day-schedule__cell--clickable:hover{background:#dc262614!important;box-shadow:inset 0 0 0 1px #dc262633}.calendar-day-schedule__cell--clickable:focus{outline:2px solid #dc2626;outline-offset:-2px}.modal--slot-occupancy .modal__overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:9998;animation:fadeIn .2s ease}.modal--slot-occupancy .modal__dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--card-bg);border-radius:var(--radius-md);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;z-index:9999;animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal--slot-occupancy .modal__header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid rgba(148,163,184,.2)}.modal--slot-occupancy .modal__title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal--slot-occupancy .modal__close{background:none;border:none;font-size:2rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all .2s ease}.modal--slot-occupancy .modal__close:hover{background:#94a3b81a;color:var(--text-primary)}.modal--slot-occupancy .modal__body{padding:1.5rem;overflow-y:auto;flex:1}.modal--slot-occupancy .modal__footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid rgba(148,163,184,.2)}.slot-info{margin-bottom:1.5rem;padding:1rem;background:#3b82f614;border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.2)}.slot-info p{margin:.5rem 0;font-size:.9rem;color:var(--text-secondary)}.slot-info p:first-child{margin-top:0}.slot-info p:last-child{margin-bottom:0}.slot-info strong{color:var(--text-primary);font-weight:600}.slot-occupancy-section{margin-bottom:1.5rem}.slot-occupancy-section:last-child{margin-bottom:0}.slot-occupancy-section h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid rgba(148,163,184,.2)}.slot-occupancy-card{background:var(--card-bg);border:1px solid rgba(148,163,184,.2);border-radius:var(--radius-sm);padding:1rem;margin-bottom:.75rem;box-shadow:0 1px 3px #0000000d}.slot-occupancy-card:last-child{margin-bottom:0}.slot-occupancy-card--block{border-color:#f59e0b4d;background:#f59e0b0d}.slot-occupancy-type{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.25rem .5rem;border-radius:4px;margin-bottom:.5rem;background:#dc26261a;color:#dc2626;border:1px solid rgba(220,38,38,.3)}.slot-occupancy-card--block .slot-occupancy-type{background:#f59e0b26;color:#d97706;border-color:#f59e0b66}.slot-occupancy-details{font-size:.9rem;line-height:1.6;color:var(--text-secondary)}.slot-occupancy-details strong{color:var(--text-primary);font-weight:600}.slot-occupancy-players{color:var(--text-primary);font-weight:500}.slot-occupancy-empty{text-align:center;padding:2rem 1rem;color:var(--text-tertiary);font-style:italic}@media(max-width:640px){.modal--slot-occupancy .modal__dialog{width:95%;max-height:90vh}.modal--slot-occupancy .modal__header,.modal--slot-occupancy .modal__body{padding:1rem}.modal--slot-occupancy .modal__footer{padding:.75rem 1rem}.slot-info,.slot-occupancy-card{padding:.75rem}}.reservation-created-modal{display:flex;flex-direction:column;gap:1.5rem}.reservation-created-modal__message{font-size:1rem;color:var(--text-primary);margin:0}.reservation-created-modal__details{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background-color:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-primary)}.reservation-created-modal__details p{margin:0;font-size:.95rem;color:var(--text-secondary)}.reservation-created-modal__details strong{color:var(--text-primary)}.reservation-created-modal .match-calendar-actions{margin-top:.5rem}#section-messaging{overflow:hidden}.messaging-layout{display:grid;grid-template-columns:280px 1fr;height:calc(80dvh - 80px);max-height:calc(100dvh - 80px);background:var(--card-bg);border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.messaging-sidebar{display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:var(--bg-secondary, #f8f9fa);overflow:hidden}.messaging-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color)}.messaging-sidebar-header h3{margin:0;font-size:1.1rem}.messaging-tabs{display:flex;border-bottom:1px solid var(--border-color)}.messaging-tab{flex:1;padding:.75rem;border:none;background:transparent;font-size:.9rem;cursor:pointer;color:var(--text-secondary);transition:all .2s}.messaging-tab:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.messaging-tab.active{color:var(--primary);border-bottom:2px solid var(--primary);font-weight:500}.messaging-list{flex:1;overflow-y:auto;padding:.5rem}.messaging-list-section{margin-bottom:1rem}.messaging-list-header{display:flex;align-items:center;justify-content:space-between;padding-right:.5rem}.messaging-list-header .btn-icon-sm{padding:.25rem;opacity:.7;transition:opacity .2s}.messaging-list-header .btn-icon-sm:hover{opacity:1}.messaging-list-title{font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);padding:.5rem;margin:0;letter-spacing:.5px}.messaging-channel-list,.messaging-conversation-list{list-style:none;margin:0;padding:0}.messaging-conversations-section{margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border-color)}.messaging-list-unified{display:block}.messaging-channel-item,.messaging-conversation-item{display:flex;align-items:center;padding:.75rem;border-radius:6px;cursor:pointer;transition:background .2s;gap:.75rem}.messaging-channel-item:hover,.messaging-conversation-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.messaging-channel-item.active,.messaging-conversation-item.active{background:var(--primary-light, rgba(59, 130, 246, .1))}.messaging-channel-icon{font-size:1.2rem;width:24px;text-align:center;flex-shrink:0;align-self:flex-start;margin-top:2px}.messaging-channel-info{flex:1;min-width:0}.messaging-channel-header{display:flex;align-items:center;gap:.5rem}.messaging-channel-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.messaging-channel-time{font-size:.7rem;color:var(--text-secondary);flex-shrink:0}.messaging-channel-preview{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.messaging-channel-item.has-unread .messaging-channel-name{font-weight:700}.messaging-channel-item.has-unread .messaging-channel-preview{color:var(--text-primary, #333);font-weight:500}.messaging-unread-badge{background:#f70000;color:#fff;font-weight:700;font-size:.7rem;padding:.15rem .5rem;border-radius:10px;min-width:18px;text-align:center;flex-shrink:0;margin-left:auto}.messaging-conversation-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light, #e0e7ff);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--primary);flex-shrink:0;position:relative}.messaging-conversation-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.presence-badge{position:absolute;bottom:0;right:0;width:12px;height:12px;border-radius:50%;border:2px solid var(--bg-primary, #fff);background:var(--text-secondary, #94a3b8)}.presence-badge.online{background:var(--success, #22c55e)}.presence-badge.offline{background:var(--text-secondary, #94a3b8)}.messaging-conversation-info{flex:1;min-width:0}.messaging-conversation-name{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messaging-conversation-preview{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messaging-conversation-time{font-size:.7rem;color:var(--text-secondary)}.messaging-conversation-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.messaging-conversation-options{background:none;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);opacity:0;transition:opacity .2s,color .2s;border-radius:4px;flex-shrink:0}.messaging-conversation-item:hover .messaging-conversation-options{opacity:1}.messaging-conversation-options:hover{color:var(--text-primary);background:var(--bg-hover, rgba(0, 0, 0, .05))}.conversation-options-menu{background:var(--bg-card, white);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:140px;overflow:hidden}.conversation-option-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;font-size:.85rem;color:var(--text-primary);text-align:left;transition:background .2s}.conversation-option-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.conversation-option-item svg{flex-shrink:0}.conversation-option-item[data-action=delete]{color:var(--danger, #dc2626)}.user-search-results{max-height:300px;overflow-y:auto;margin-top:.5rem}.user-search-dropdown{position:relative}.user-search-results--dropdown{position:static;margin-top:.5rem;max-height:260px;background:var(--card-bg, #ffffff);border:1px solid var(--border-color, rgba(148, 163, 184, .25));border-radius:10px;box-shadow:0 8px 16px #0f172a14;z-index:1;padding:.25rem}.user-search-results--dropdown .empty-state{margin:0;padding:.75rem .5rem;text-align:center}@media(max-width:768px){.user-search-results--dropdown{max-height:240px;box-shadow:none}}.user-search-item{display:flex;align-items:center;padding:.75rem;border-radius:6px;cursor:pointer;gap:.75rem;transition:background .2s}.user-search-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.user-search-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:600;flex-shrink:0}.user-search-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.user-search-info{flex:1;min-width:0}.user-search-name{font-weight:500;font-size:.9rem}.user-search-email{font-size:.75rem;color:var(--text-secondary)}#new-conversation-modal .modal-header .icon-only[data-close-modal]{color:var(--danger, #ef4444);border:1px solid rgba(239,68,68,.35);background:#ef444414}#new-conversation-modal .modal-header .icon-only[data-close-modal]:hover{background:#ef444429;color:#dc2626}#new-conversation-modal #user-search-input{width:100%}.chat-suggested-users{display:grid;gap:.75rem}.chat-suggested-header{display:flex;align-items:center;justify-content:space-between;font-size:.9rem;font-weight:600;color:var(--text-primary)}.chat-suggested-controls{display:flex;gap:.35rem}.chat-suggested-nav{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center}.chat-suggested-nav:disabled{opacity:.4;cursor:not-allowed}.chat-suggested-list{display:flex;gap:.5rem;flex-wrap:nowrap;overflow:hidden}.chat-suggested-user{display:flex;align-items:center;gap:.5rem;padding:.5rem .6rem;border:1px solid var(--border-color, rgba(148, 163, 184, .25));border-radius:10px;background:var(--bg-secondary, #f8fafc);cursor:pointer;transition:background .2s ease,border-color .2s ease,transform .2s ease;flex:0 0 calc((100% - 2.5rem) / 6)}.chat-suggested-user:hover{background:var(--bg-hover, rgba(59, 130, 246, .08));border-color:#3b82f666;transform:translateY(-1px)}.chat-suggested-avatar{width:32px;height:32px;border-radius:50%;background:var(--primary-light, #e0e7ff);color:var(--primary, #1d4ed8);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.8rem;flex-shrink:0;overflow:hidden}.chat-suggested-avatar img{width:100%;height:100%;object-fit:cover}.chat-suggested-name{font-size:.8rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-suggested-empty{margin:0}@media(max-width:768px){#new-conversation-modal .modal-header .icon-only[data-close-modal]{width:32px;height:32px;font-size:1.1rem;line-height:1;padding:0}}.messaging-main{display:flex;flex-direction:column;overflow:hidden;background:var(--card-bg);min-height:0}.messaging-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-secondary);text-align:center;padding:2rem}.messaging-empty-icon{font-size:4rem;margin-bottom:1rem}.messaging-empty-state h3{margin:0 0 .5rem;color:var(--text-primary)}.messaging-empty-state p{margin:0;font-size:.9rem}.messaging-chat-header{display:flex;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color);gap:.75rem}.messaging-back-btn{display:none}.messaging-chat-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-light, #e0e7ff);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--primary);flex-shrink:0;position:relative;font-size:.9rem}.messaging-chat-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.messaging-chat-info{flex:1}.messaging-chat-info h4{margin:0;font-size:1rem}.messaging-chat-status{font-size:.8rem;color:var(--text-secondary)}.messaging-chat-status.online{color:#22c55e}.messaging-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;min-height:0}.message-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.load-more-messages{display:flex;justify-content:center;padding:.5rem;margin-bottom:.5rem}.btn-load-more{background:var(--bg-secondary, #f3f4f6);border:1px solid var(--border-color, #e5e7eb);color:var(--primary, #4f46e5);padding:.5rem 1rem;border-radius:20px;font-size:.85rem;cursor:pointer;transition:all .2s ease}.btn-load-more:hover:not(:disabled){background:var(--primary-light, #e0e7ff);border-color:var(--primary, #4f46e5)}.btn-load-more:disabled{opacity:.6;cursor:not-allowed}.message-item{display:flex;gap:.75rem;max-width:80%}.message-item.own{flex-direction:row-reverse;margin-left:auto}.message-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light, #e0e7ff);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--primary);flex-shrink:0;position:relative}.message-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.message-content{background:var(--bg-secondary, #f1f5f9);padding:.75rem 1rem;border-radius:4px 12px 12px}.message-item.own .message-content{background:#bce9ec;color:#000;border-top-left-radius:12px;border-top-right-radius:4px}.message-sender{font-size:.75rem;font-weight:600;margin-bottom:.25rem;color:var(--primary)}.message-item.own .message-sender{display:none}.message-text{font-size:.9rem;line-height:1.4;word-wrap:break-word}.message-image{max-width:300px;max-height:300px;border-radius:8px;margin-top:.5rem;cursor:pointer}.image-lightbox-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:3000;padding:1rem}.image-lightbox-overlay[hidden]{display:none}.image-lightbox-close{position:absolute;top:.75rem;right:.75rem;background:#ffffff26;border:none;color:#fff;font-size:2rem;line-height:1;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center}.image-lightbox-close:hover{background:#ffffff4d}.image-lightbox-img{max-width:95vw;max-height:90vh;object-fit:contain;border-radius:4px}.message-time{font-size:.7rem;color:var(--text-secondary);margin-top:.25rem}.message-item.own .message-time{color:#474747;display:flex;align-items:center;justify-content:flex-end;gap:.25rem}.message-status{display:inline-flex;align-items:center;margin-left:.15rem}.message-status.sent{color:#999}.message-status.read{color:#53bdeb}.message-status svg{display:block}.message-reactions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem;align-items:center}.message-reaction{background:var(--bg-hover, rgba(0, 0, 0, .05));padding:.2rem .6rem;border-radius:12px;font-size:.85rem;cursor:pointer;border:1px solid transparent;transition:all .2s;display:flex;align-items:center;gap:.25rem}.message-reaction:hover{background:var(--bg-secondary);border-color:var(--border-color);transform:scale(1.05)}.message-reaction.own{background:var(--primary-light, rgba(59, 130, 246, .2));border-color:var(--primary-color, #3b82f6)}.add-reaction-btn{background:transparent;border:1px dashed var(--border-color);padding:.2rem .5rem;border-radius:12px;font-size:.85rem;cursor:pointer;transition:all .2s;opacity:.6}.add-reaction-btn:hover{opacity:1;background:var(--bg-hover, rgba(0, 0, 0, .05));border-color:var(--primary-color, #3b82f6)}.message-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-top:.25rem}.message-reply-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);opacity:.4;transition:all .2s;display:flex;align-items:center;justify-content:center;border-radius:4px}.message-reply-btn:hover{opacity:1;background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--primary-color, #3b82f6)}.message-react-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;color:var(--text-secondary);opacity:.4;transition:all .2s;display:flex;align-items:center;justify-content:center;border-radius:4px}.message-react-btn:hover{opacity:1;background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--primary-color, #3b82f6)}.message-actions-footer{display:flex;align-items:center;gap:.25rem}@media(max-width:768px){.message-react-btn,.message-reply-btn{opacity:.7}}.message-actions{display:flex;gap:.25rem;margin-top:.25rem;opacity:.4;transition:opacity .2s}.message-item:hover .message-actions{opacity:1}@media(max-width:768px){.message-actions{opacity:1}}.message-action-btn{background:var(--bg-hover, rgba(0, 0, 0, .05));border:none;border-radius:4px;padding:.25rem .4rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.message-action-btn:hover{background:var(--primary-color, #3b82f6);color:#fff;transform:scale(1.1)}.message-action-btn svg{width:16px;height:16px}.messaging-reply-bar{display:none;background:var(--bg-secondary, #f1f5f9);padding:.75rem;border-left:4px solid var(--primary-color, #3b82f6);border-bottom:1px solid var(--border-color);box-shadow:0 2px 4px #0000001a;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.messaging-reply-bar{padding:.75rem .5rem;border-left-width:3px}}.reply-bar-content{display:flex;align-items:center;gap:.5rem;min-height:40px}.reply-bar-icon{color:var(--primary-color, #3b82f6);flex-shrink:0}.reply-bar-text{flex:1;min-width:0}.reply-bar-sender{font-weight:600;font-size:.9rem;color:var(--primary-color, #3b82f6);line-height:1.3}.reply-bar-message{font-size:.85rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}@media(max-width:768px){.reply-bar-sender{font-size:.95rem}.reply-bar-message{font-size:.9rem}}.reply-bar-close{background:none;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;flex-shrink:0;color:var(--text-secondary);min-width:32px;min-height:32px}.reply-bar-close:hover{background:var(--bg-hover, rgba(0, 0, 0, .1));color:var(--text-primary)}.reply-bar-close svg{width:20px;height:20px}@media(max-width:768px){.reply-bar-close{padding:.6rem;min-width:36px;min-height:36px}.reply-bar-close svg{width:22px;height:22px}}.message-reply-preview{background:var(--bg-hover, rgba(0, 0, 0, .05));border-left:3px solid var(--primary-color, #3b82f6);padding:.5rem;margin-bottom:.5rem;border-radius:4px;display:flex;gap:.5rem}.reply-bar{width:3px;background:var(--primary-color, #3b82f6);border-radius:2px;flex-shrink:0}.reply-content{flex:1;min-width:0}.reply-sender{font-weight:600;font-size:.8rem;color:var(--primary-color, #3b82f6)}.reply-text{font-size:.8rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.emoji-picker{position:fixed;background:#fff;border:1px solid var(--border-color);border-radius:8px;padding:.5rem;box-shadow:0 4px 12px #00000026;display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;z-index:10000}.emoji-option{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:.25rem;border-radius:4px;transition:background .2s;width:36px;height:36px;display:flex;align-items:center;justify-content:center}.emoji-option:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.messaging-typing{padding:.5rem 1rem;font-size:.8rem;color:var(--text-secondary);font-style:italic}.messaging-input-area{padding:.5rem .75rem;border-top:1px solid var(--border-color);background:#fff}@media(max-width:768px){.messaging-input-area{padding:.5rem;position:sticky;bottom:0;z-index:10}}.messaging-input-container{display:flex;align-items:flex-end;gap:.5rem;background:var(--bg-secondary, #f1f5f9);border-radius:24px;padding:.25rem .5rem;min-height:48px}.messaging-input-container .btn-icon{flex-shrink:0;align-self:flex-end;margin-bottom:4px}#messaging-input{flex:1;border:none;background:transparent;resize:none;padding:.5rem;font-size:.95rem;max-height:120px;line-height:1.4;height:auto;min-height:36px;overflow-y:auto;transition:height .1s ease;font-family:inherit}@media(max-width:768px){#messaging-input{font-size:16px;padding:.6rem .5rem}}#messaging-input:focus{outline:none}#messaging-send-btn{border-radius:50%;width:40px;height:40px;padding:0;display:flex;align-items:center;justify-content:center}#messaging-send-btn:disabled{opacity:.5;cursor:not-allowed}.messaging-preview{position:relative;display:inline-block;margin-top:.5rem}.messaging-preview img{max-width:200px;max-height:150px;border-radius:8px}#messaging-preview-remove{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:var(--danger, #ef4444);color:#fff;border:none;cursor:pointer;font-size:1rem;line-height:1}.messaging-info-panel{width:280px;border-left:1px solid var(--border-color);background:var(--bg-secondary, #f8f9fa);overflow-y:auto}.messaging-info-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid var(--border-color)}.messaging-info-header h4{margin:0}.messaging-info-content{padding:1rem}.group-members-section{margin-top:1rem}.group-members-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.group-members-header h5{margin:0;font-size:.85rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.group-members-list{list-style:none;margin:0;padding:0}.group-member-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;transition:background .2s}.group-member-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05))}.group-member-avatar{width:36px;height:36px;border-radius:50%;background:var(--primary-light, #e0e7ff);color:var(--primary, #3b82f6);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;overflow:hidden;flex-shrink:0}.group-member-avatar img{width:100%;height:100%;object-fit:cover}.group-member-info{flex:1;min-width:0}.group-member-name{font-size:.9rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-member-role{font-size:.75rem;color:var(--text-secondary)}.group-member-actions{opacity:0;transition:opacity .2s}.group-member-item:hover .group-member-actions{opacity:1}.btn-remove-member{width:28px;height:28px;border:none;background:transparent;color:var(--danger, #ef4444);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.btn-remove-member:hover{background:#ef44441a}.btn-add-member{width:100%;padding:.75rem;margin-top:.75rem;border:1px dashed var(--border-color);background:transparent;border-radius:6px;color:var(--primary);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.9rem;transition:all .2s}.btn-add-member:hover{background:var(--primary-light, rgba(59, 130, 246, .1))}.channel-info{text-align:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.channel-info-icon{font-size:3rem;margin-bottom:.5rem}.channel-info-name{font-size:1.1rem;margin:0 0 .5rem}.channel-info-description{font-size:.85rem;color:var(--text-secondary);margin:0;border-color:var(--primary)}.conversation-info{text-align:center;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.conversation-info-avatar{width:64px;height:64px;border-radius:50%;background:var(--primary-light, #e0e7ff);color:var(--primary, #3b82f6);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:600;overflow:hidden;margin:0 auto .5rem}.conversation-info-avatar img{width:100%;height:100%;object-fit:cover}.conversation-info-name{font-size:1.1rem;margin:0}.player-matches-section{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.player-matches-section h5{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.03em}.player-matches-loading{font-size:.85rem;color:var(--text-secondary);padding:.5rem 0}.player-matches-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.player-match-item{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border-color);cursor:pointer;transition:background .15s,border-color .15s}.player-match-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));border-color:var(--primary)}.player-match-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.3rem}.player-match-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;padding:.15rem .5rem;border-radius:4px;letter-spacing:.03em}.player-match-status{font-size:.75rem;font-weight:500}.player-match-context{font-size:.85rem;font-weight:500;color:var(--text-primary)}.player-match-category{font-size:.78rem;color:var(--text-secondary)}.player-match-date{font-size:.75rem;color:var(--text-secondary);margin-top:.2rem}.btn-icon{width:36px;height:36px;border:none;background:transparent;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:background .2s,color .2s}.btn-icon:hover{background:var(--bg-hover, rgba(0, 0, 0, .05));color:var(--text-primary)}.message-system{text-align:center;padding:.5rem;font-size:.8rem;color:var(--text-secondary);max-width:100%}@media(max-width:768px){.app-main:has(#section-messaging:not([hidden])){padding:0}#section-messaging{height:calc(100dvh - 160px);height:calc(100svh - 160px);max-height:calc(100dvh - 160px);max-height:calc(100svh - 160px);padding:0;margin:0;overflow:hidden}#section-messaging .section-header{display:none}.messaging-layout{grid-template-columns:1fr;width:100%;height:100%;max-height:100%;position:relative;border-radius:0;overflow:hidden}.messaging-sidebar{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;transition:transform .3s ease;overflow:hidden}.messaging-sidebar .messaging-list{height:calc(100% - 60px);overflow-y:auto;-webkit-overflow-scrolling:touch}.messaging-main{position:absolute;top:0;left:0;width:100%;height:100%;z-index:5;display:flex;flex-direction:column;overflow:hidden}.messaging-layout .messaging-sidebar{transform:translate(0)}.messaging-layout .messaging-main{transform:translate(100%)}.messaging-layout.chat-open .messaging-sidebar{transform:translate(-100%)}.messaging-layout.chat-open .messaging-main{transform:translate(0);z-index:15}.messaging-back-btn{display:flex!important}.messaging-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;-webkit-overflow-scrolling:touch}.messaging-input-area{padding:.5rem;flex-shrink:0}.messaging-chat-header{flex-shrink:0}.messaging-info-panel{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.messaging-info-panel[hidden]{display:none}.messaging-conversation-item{padding:.5rem}.messaging-conversation-avatar{width:40px;height:40px;font-size:.9rem}.messaging-chat-header{padding:.75rem}.messaging-chat-info h4{font-size:1rem}}@media(min-width:769px){.messaging-back-btn{display:none!important}}.img-lightbox-overlay{position:fixed;inset:0;z-index:9999;background:#000c;display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:imgLightboxFadeIn .2s ease;padding:1.5rem}@keyframes imgLightboxFadeIn{0%{opacity:0}to{opacity:1}}.img-lightbox-overlay img{max-width:95vw;max-height:92vh;border-radius:.5rem;box-shadow:0 8px 40px #00000080;object-fit:contain}.img-lightbox-close{position:absolute;top:1rem;right:1.5rem;background:#ffffff26;border:none;color:#fff;font-size:1.8rem;width:2.5rem;height:2.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1}.img-lightbox-close:hover{background:#ffffff4d}.faq-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;padding:.5rem;background:linear-gradient(to bottom,#f8fafc,#f1f5f9);border:1px solid var(--color-border, #e2e8f0);border-bottom:none;border-radius:.5rem .5rem 0 0}.faq-toolbar+.faq-rich-editor{border-radius:0 0 .5rem .5rem}.faq-toolbar-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.35rem .6rem;border-radius:.375rem;border:1px solid transparent;background:#fff;color:#475569;font-size:.8rem;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0000000f;transition:all .15s;white-space:nowrap}.faq-toolbar-btn:hover{background:#e0e7ff;color:#3730a3;border-color:#c7d2fe;box-shadow:0 2px 4px #6366f126;transform:translateY(-1px)}.faq-toolbar-btn:active{transform:translateY(0) scale(.97);box-shadow:none}.faq-toolbar-btn--accent{background:linear-gradient(135deg,#2563eb,#4f46e5);color:#fff;box-shadow:0 1px 3px #2563eb40}.faq-toolbar-btn--accent:hover{background:linear-gradient(135deg,#1d4ed8,#4338ca);color:#fff;border-color:transparent;box-shadow:0 3px 8px #2563eb59}.faq-toolbar-btn--danger{color:#dc2626}.faq-toolbar-btn--danger:hover{background:#fee2e2;color:#b91c1c;border-color:#fca5a5;box-shadow:0 2px 4px #dc262626}.faq-toolbar-sep{width:1px;height:1.2rem;background:#cbd5e1;margin:0 .15rem}.chat-floating-widget{position:fixed;bottom:24px;right:24px;z-index:1000}.chat-floating-bubbles{display:flex;flex-direction:column-reverse;align-items:flex-end;gap:10px;margin-bottom:10px}.chat-floating-bubble-item{display:flex;align-items:center;gap:10px;animation:chatBubbleFadeIn .3s ease;position:relative}.chat-bubble-tooltip{background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000026;padding:8px 12px;max-width:220px;cursor:pointer;transition:box-shadow .15s;position:relative}.chat-bubble-tooltip:hover{box-shadow:0 6px 20px #00000038}.chat-bubble-tooltip-name{display:block;font-size:12px;font-weight:700;color:var(--primary-color, #1a73e8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.chat-bubble-tooltip-text{display:block;font-size:13px;color:#444;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-bubble-avatar{width:48px;height:48px;border-radius:50%;background:var(--primary-color, #1a73e8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px #00000040;transition:transform .15s ease,box-shadow .15s ease;flex-shrink:0;position:relative;overflow:hidden}.chat-bubble-avatar:hover{transform:scale(1.1);box-shadow:0 6px 18px #0000004d}.chat-bubble-avatar img{width:100%;height:100%;object-fit:cover}.chat-bubble-badge{position:absolute;top:-6px;left:-6px;min-width:22px;height:22px;padding:0 5px;background:#f70000;color:#fff;border-radius:11px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 4px #0003;z-index:2}.chat-bubble-close{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#e53935;color:#fff;border:2px solid #fff;font-size:14px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:3;box-shadow:0 2px 6px #00000040}.chat-bubble-close:hover{background:#f70000}@keyframes chatBubbleFadeIn{0%{opacity:0;transform:scale(.5) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.chat-mini-window{position:absolute;bottom:66px;right:0;width:360px;max-height:480px;background:#fff;border-radius:12px;box-shadow:0 8px 30px #0003;display:flex;flex-direction:column;overflow:hidden;animation:chatMiniSlideUp .25s ease}@keyframes chatMiniSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.chat-mini-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--primary-color, #1a73e8);color:#fff;min-height:48px}.chat-mini-title{flex:1;font-weight:600;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-mini-back,.chat-mini-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .15s}.chat-mini-back:hover,.chat-mini-close:hover,.chat-mini-header-btn:hover{opacity:1;background:#ffffff26}.chat-mini-header-btn{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;opacity:.85;transition:opacity .15s}.chat-mini-body{flex:1;overflow-y:auto;min-height:0}.chat-mini-conversations{list-style:none;margin:0;padding:0}.chat-mini-conv-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .15s;border-bottom:1px solid #f0f0f0}.chat-mini-conv-item:hover{background:#f5f7fa}.chat-mini-conv-avatar{width:40px;height:40px;border-radius:50%;background:var(--primary-color, #1a73e8);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;overflow:hidden}.chat-mini-conv-avatar img{width:100%;height:100%;object-fit:cover}.chat-mini-conv-info{flex:1;min-width:0}.chat-mini-conv-name{font-weight:600;font-size:14px;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-mini-conv-preview{font-size:13px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.chat-mini-conv-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.chat-mini-conv-time{font-size:11px;color:#999}.chat-mini-conv-unread{min-width:20px;height:20px;padding:0 6px;background:#f70000;color:#fff;border-radius:10px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center}.chat-mini-empty{padding:32px 16px;text-align:center;color:#999;font-size:14px}.chat-mini-conv-load-more{padding:12px 16px;text-align:center;color:var(--primary-color, #1a73e8);font-size:14px;font-weight:600;cursor:pointer;border-top:1px solid #f0f0f0;transition:background .15s}.chat-mini-conv-load-more:hover{background:#f5f7fa}.chat-mini-messages{list-style:none;margin:0;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:280px}.chat-mini-msg{max-width:80%;padding:8px 12px;border-radius:12px;font-size:14px;line-height:1.4;word-wrap:break-word}.chat-mini-msg.other{align-self:flex-start;background:#f0f0f0;color:#1a1a1a;border-bottom-left-radius:4px}.chat-mini-msg.own{align-self:flex-end;background:var(--primary-color, #1a73e8);color:#fff;border-bottom-right-radius:4px}.chat-mini-msg-time{font-size:11px;opacity:.7;margin-top:4px}.chat-mini-msg.own .chat-mini-msg-time{text-align:right}.chat-mini-msg-image{max-width:100%;border-radius:8px;margin-top:4px}.chat-mini-input-area{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid #e8e8e8;background:#fafafa}textarea.chat-mini-input{flex:1;border:1px solid #ddd;border-radius:18px;padding:7px 14px;font-size:14px;font-family:inherit;resize:none;height:36px;min-height:36px;max-height:36px;overflow:hidden;outline:none;transition:border-color .15s;line-height:20px}.chat-mini-input:focus{border-color:var(--primary-color, #1a73e8)}.chat-mini-send{width:36px;height:36px;border-radius:50%;background:var(--primary-color, #1a73e8);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:opacity .15s}.chat-mini-send:disabled{opacity:.4;cursor:not-allowed}.chat-mini-send:not(:disabled):hover{opacity:.85}@media(max-width:480px){.chat-mini-window{width:calc(100vw - 32px);right:-8px;max-height:60vh}}.match-schedule-picker__grid table{width:100%;border-collapse:separate;border-spacing:.25rem}.schedule-grid-slot-button{padding:.4rem;border-radius:6px;border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;width:100%;font-size:.9rem;transition:all .2s;color:var(--text-secondary)}.schedule-grid-slot-button.is-selected{background:var(--accent);color:#fff;border-color:var(--accent);box-shadow:0 2px 4px #1d4ed833}.schedule-grid-slot-button.is-occupied,.schedule-grid-slot-button.is-occupied:disabled{background-color:#fee2e2!important;color:#991b1b!important;border-color:#fecaca!important;cursor:not-allowed;opacity:.9}.schedule-grid-slot-button:hover:not(:disabled):not(.is-occupied){border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.player-level-badge{display:inline-block;width:5.8rem;padding:2px 0;border-radius:12px;font-size:.75rem;font-weight:600;line-height:1.4;white-space:nowrap;text-align:center;vertical-align:middle;border:1px solid}.player-contact-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;vertical-align:middle;cursor:pointer;transition:opacity .15s;text-decoration:none}.player-contact-icon:hover{opacity:.75}.player-contact-icon--whatsapp{color:#25d366}.player-contact-icon--call{color:#1565c0}.shirt-icon{display:inline-flex;align-items:center;color:var(--text-secondary, #666);vertical-align:middle}.player-stats-summary{margin-left:8px;font-size:.85rem;color:var(--text-secondary, #666)}.player-level-summary{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.player-level-points{font-size:1.5rem;font-weight:700;color:var(--text-primary, #1e293b)}.player-level-stats{display:flex;gap:.75rem;margin-bottom:1rem}.player-level-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.6rem .75rem;border-radius:10px;border:1px solid}.player-level-stat--win{background:#e8f5e9;border-color:#a5d6a7;color:#2e7d32}.player-level-stat--loss{background:#fce4ec;border-color:#ef9a9a;color:#c62828}.player-level-stat__value{font-size:1.25rem;font-weight:700;line-height:1.2}.player-level-stat__label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.player-level-points-info{display:flex;gap:1rem;margin-bottom:.75rem;font-size:.8rem;color:var(--text-secondary, #666)}.player-level-scale{display:flex;flex-direction:column;gap:.5rem}.player-level-scale__row{display:flex;align-items:center;gap:.75rem;padding:.35rem .5rem;border-radius:8px;opacity:.5}.player-level-scale__row--active{opacity:1;background:var(--bg-alt, #f5f7fa)}.player-level-scale__range{font-size:.8rem;color:var(--text-secondary, #666)}.player-stats-tab{padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-weight:600;color:#9ca3af;border-bottom:2px solid transparent;transition:all .3s ease}.player-stats-tab:hover{color:#6b7280}.player-stats-tab--active{color:#3b82f6;border-bottom:2px solid #3b82f6}#section-club-ranking{max-width:100%!important;padding:0!important}#club-ranking-card{max-width:100%!important;margin:0 auto 2rem;padding:1.5rem}@media(min-width:1200px){#section-club-ranking{padding:0 2rem!important}#club-ranking-card{max-width:1600px!important;padding:2rem}}#club-ranking-table{box-shadow:0 1px 3px #0000001a;border-radius:8px;overflow:hidden;width:100%}#club-ranking-table thead{background:linear-gradient(135deg,#1e40af,#3b82f6);color:#fff}#club-ranking-table thead th{color:#fff!important;font-weight:600;padding:1rem;border-bottom:none;white-space:nowrap}#club-ranking-table tbody tr{transition:all .2s ease;border-bottom:1px solid #e5e7eb}#club-ranking-table tbody tr:nth-child(2n){background-color:#f9fafb}#club-ranking-table tbody tr:hover{background-color:#f3f4f6!important;transform:translate(4px);box-shadow:0 2px 8px #00000014}#club-ranking-table tbody td{padding:1rem;vertical-align:middle}#club-ranking-table tbody tr.ranking-podium-1{background:linear-gradient(90deg,#fef3c7,#fff);font-weight:600}#club-ranking-table tbody tr.ranking-podium-2{background:linear-gradient(90deg,#f3f4f6,#fff);font-weight:600}#club-ranking-table tbody tr.ranking-podium-3{background:linear-gradient(90deg,#fed7aa,#fff);font-weight:600}#club-ranking-table tbody tr.ranking-podium-1:hover,#club-ranking-table tbody tr.ranking-podium-2:hover,#club-ranking-table tbody tr.ranking-podium-3:hover{transform:translate(6px);box-shadow:0 4px 12px #0000001f}.table-wrapper{overflow-x:auto;border-radius:8px;box-shadow:0 2px 8px #00000014;margin:0;width:100%}.ranking-summary{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.ranking-summary .metric-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px;padding:1rem 1.5rem;flex:1;min-width:180px}.ranking-summary .metric-label{font-size:.875rem;color:#1e40af;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.ranking-summary .metric-card strong{display:block;font-size:1.75rem;color:#1e3a8a;margin-top:.25rem;font-weight:700}@media(max-width:768px){#club-ranking-card{padding:1rem}#club-ranking-table{font-size:.875rem}#club-ranking-table thead th,#club-ranking-table tbody td{padding:.75rem .5rem}#club-ranking-table thead th[data-label-mobile]:before{content:attr(data-label-mobile);display:block}#club-ranking-table thead th[data-label-mobile]{font-size:0}#club-ranking-table thead th[data-label-mobile]:before{font-size:.875rem}.ranking-summary{flex-direction:column}.ranking-summary .metric-card{min-width:100%}}#club-ranking-table .player-level-badge{display:inline-block;padding:.25rem .625rem;font-size:.6875rem;font-weight:600;border-radius:12px;text-transform:uppercase;letter-spacing:.025em;border:1px solid}.ranking-filters{padding:1rem;background:linear-gradient(135deg,#f8fafc,#e0f2fe);border-radius:8px;border:1px solid #cbd5e1}.ranking-filters .inline-field{display:flex;flex-direction:column;gap:.5rem;min-width:160px}.ranking-filters .inline-field label{font-size:.875rem;font-weight:500;color:#334155}.ranking-filters select{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;font-size:.875rem;transition:all .2s ease}.ranking-filters select:hover{border-color:#3b82f6}.ranking-filters select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media(max-width:768px){.ranking-filters{padding:.75rem}.ranking-filters .inline-field{min-width:100%}}.ranking-legend{border:1px solid #e9ecef;border-radius:8px;overflow:hidden;transition:all .3s ease}.ranking-legend summary{font-size:.9375rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.ranking-legend summary:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.ranking-legend[open] summary{border-radius:8px 8px 0 0;margin-bottom:0}.ranking-legend h4{display:flex;align-items:center;gap:.5rem}.ranking-legend ul{color:#495057}.ranking-legend li{margin-bottom:.5rem}.ranking-legend li:last-child{margin-bottom:0}.ranking-columns-legend{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin:.25rem 0 1rem;font-size:.875rem;color:var(--text-secondary, #64748b)}.ranking-columns-legend strong{color:var(--text-primary, #1f2937)}@media(max-width:768px){.ranking-legend summary{font-size:.875rem;padding:.625rem .875rem}.ranking-legend>div{padding:1rem!important}.ranking-legend h4{font-size:.9375rem!important}.ranking-legend ul{font-size:.875rem;padding-left:1.25rem}.ranking-legend>div>div:last-child>div{grid-template-columns:1fr!important}.ranking-columns-legend{gap:.5rem 1rem;font-size:.8125rem}}
