@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;600;700&family=Rubik:wght@400;500&display=swap";:root{--primary-color: #931C1F;--primary-color-hover: #7a171a;--secondary-color: #FFFFFF;--accent-color: #fbbf24;--accent-dark: #d97706;--accent-rgb: 251, 191, 36;--bg-color-alt: #F4F4F4;--text-color: #1D1D1D;--text-color-light: #666666;--success-color: #28a745;--warning-color: #ffc107;--danger-color: #dc3545;--info-color: #17a2b8;--bg-color: #FFFFFF;--card-bg: #FFFFFF;--border-color: #E0E0E0;--input-bg: #FFFFFF;--font-heading: "Poppins", sans-serif;--font-body: "Rubik", sans-serif;--transition-fast: .2s ease;--transition-normal: .3s ease;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .15);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-custom: 8px;--radius-sm: calc(var(--radius-custom) * .5);--radius-md: var(--radius-custom);--radius-lg: calc(var(--radius-custom) * 2);--shadow-custom: var(--shadow-sm);--glass-bg: rgba(255, 255, 255, .7);--glass-bg-active: var(--card-bg);--glass-blur-active: none}[data-theme=dark]{--bg-color: #121212;--bg-color-alt: #1E1E1E;--card-bg: #1E1E1E;--text-color: #F4F4F4;--text-color-light: #A0A0A0;--border-color: #333333;--input-bg: #2C2C2C;--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--glass-bg: rgba(30, 30, 30, .7)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-color);transition:background-color var(--transition-normal),color var(--transition-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;outline:none;background:none;font-family:var(--font-heading)}ul{list-style:none}input,select,textarea{font-family:var(--font-body)}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.page-header{margin-bottom:var(--spacing-xl)}.page-header h1{font-size:1.75rem;color:var(--primary-color);margin-bottom:var(--spacing-xs)}.page-header p{color:var(--text-color-light);font-size:1rem}.card{background-color:var(--glass-bg-active, var(--card-bg));backdrop-filter:var(--glass-blur-active, none);-webkit-backdrop-filter:var(--glass-blur-active, none);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-custom, var(--shadow-sm));border:1px solid var(--border-color);margin-bottom:var(--spacing-md)}.btn{padding:10px 20px;border-radius:var(--radius-sm);font-weight:600;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary{background-color:var(--accent-color)!important;color:var(--primary-color)!important;font-weight:700!important}.btn-primary:hover{background-color:var(--accent-dark)!important;color:var(--primary-color)!important;transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--bg-color-alt)!important;color:var(--text-color)!important;border:1px solid var(--border-color)}.btn-secondary:hover{background-color:var(--border-color)!important}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-color-light)}.btn-outline-danger{background-color:transparent;border:1px solid var(--danger-color);color:var(--danger-color)}.btn-outline-danger:hover{background-color:var(--danger-color);color:#fff}.btn-outline-success{background-color:transparent;border:1px solid var(--success-color);color:var(--success-color)}.btn-outline-success:hover{background-color:var(--success-color);color:#fff}.btn-danger-action{background-color:var(--danger-color);color:#fff;border:none}.btn-danger-action:hover{background-color:#a00}.app-container{display:flex;flex-direction:column;min-height:100vh}.top-bar{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-md);height:60px;background-color:var(--card-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow-sm)}.top-bar-left{display:flex;align-items:center;gap:var(--spacing-md)}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-color);cursor:pointer;padding:8px;border-radius:8px;transition:background-color .2s}.mobile-menu-toggle:hover{background-color:var(--bg-color-alt)}.top-actions{display:flex;gap:var(--spacing-sm)}.logo{display:flex;align-items:center;gap:var(--spacing-sm);max-width:200px}.app-logo-img{height:32px;width:auto;max-width:120px;object-fit:contain}.logo-text{font-family:var(--font-heading);font-weight:700;font-size:1rem;letter-spacing:-.5px;color:var(--primary-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.theme-toggle{font-size:1.2rem;padding:8px;border-radius:50%;transition:background-color var(--transition-fast)}.theme-toggle:hover{background-color:var(--bg-color-alt)}.content{flex:1;padding:var(--spacing-md);width:100%}.content:has(.bracket-view-page),.content:has(.league-detail-page-v2){padding:0}.content>div:not(.full-width):not(.bracket-view-page):not(.league-detail-page-v2){max-width:1200px;margin:0 auto}.sidebar-nav{position:fixed;top:0;left:-280px;width:280px;height:100vh;background-color:var(--card-bg);z-index:2000;transition:left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;box-shadow:4px 0 15px #0000001a}.sidebar-nav.open{left:0}.menu-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:100;opacity:0;visibility:hidden;transition:all .3s ease}.menu-open .menu-overlay{opacity:1;visibility:visible}.sidebar-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);min-height:80px}.sidebar-logo{display:flex;flex-direction:column;align-items:flex-start}.sidebar-logo-img{max-height:40px;max-width:100%;object-fit:contain}.logo-text-small{font-weight:700;color:var(--primary-color);font-size:.9rem}.close-menu-btn{background:var(--bg-color-alt);border:none;color:var(--text-color);cursor:pointer;padding:8px;border-radius:8px;display:flex;align-items:center;justify-content:center}.nav-links{flex:1;padding:var(--spacing-md) 0;overflow-y:auto}.nav-group-header{padding:1.5rem var(--spacing-lg) .5rem;font-size:.7rem;font-weight:700;text-transform:uppercase;color:var(--text-color-light);letter-spacing:1px;opacity:.8}.nav-custom-icon{width:24px;height:24px;display:inline-block;background-color:currentColor;mask-image:var(--whistle-icon-url);-webkit-mask-image:var(--whistle-icon-url);mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;mask-position:center;-webkit-mask-position:center;mask-size:contain;-webkit-mask-size:contain;transition:all .2s ease}.nav-item:hover .nav-custom-icon,.nav-item.active .nav-custom-icon{transform:scale(1.1)}.nav-item{display:flex;align-items:center;padding:.8rem var(--spacing-lg);text-decoration:none;color:var(--text-color);font-weight:500;transition:all .2s ease;gap:var(--spacing-md)}.nav-item:hover{background-color:var(--bg-color-alt);color:var(--accent-color)}.nav-item.active{background-color:rgba(var(--accent-rgb),.1);color:var(--accent-color);border-left:4px solid var(--accent-color);padding-left:calc(var(--spacing-lg) - 4px);font-weight:600}.sidebar-footer{padding:var(--spacing-md);border-top:1px solid var(--border-color)}.sidebar-attribution{font-size:.75rem;color:var(--text-color-light);text-align:center;margin-bottom:1.25rem;line-height:1.4;opacity:.8}.logout-btn-sidebar{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:.75rem;background:transparent;border:1px solid var(--border-color);border-radius:8px;color:var(--text-color-light);cursor:pointer;transition:all .2s}.logout-btn-sidebar:hover{background-color:#ef4444;color:#fff;border-color:#ef4444}@media(min-width:768px){.mobile-menu-toggle,.close-menu-btn{display:none}.app-container{padding-left:240px}.sidebar-nav{left:0;width:240px;box-shadow:2px 0 10px #0000000d;border-right:1px solid var(--border-color)}.top-bar{left:240px;padding:0 var(--spacing-lg)}.sidebar-header{height:140px;flex-direction:column;justify-content:center;text-align:center;align-items:center;padding:var(--spacing-lg) var(--spacing-md)}.sidebar-logo{align-items:center}.sidebar-logo-img{max-height:100px;width:100%;margin-bottom:var(--spacing-xs)}.logo-text-small{font-size:1.1rem}.top-bar .logo{display:none}}.member-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);position:relative;transition:transform var(--transition-fast)}.member-card:hover{transform:translateY(-2px)}.member-card.inactive{opacity:.6;filter:grayscale(.5)}.member-photo{width:60px;height:60px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--border-color)}.photo-placeholder{width:100%;height:100%;background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.member-info{flex:1}.member-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.member-number{font-size:.75rem;color:var(--text-color-light);font-weight:600}.status-badge{font-size:.7rem;padding:2px 6px;border-radius:10px;font-weight:700;text-transform:uppercase}.status-badge.inactive{background-color:#dc35451a;color:var(--danger-color)}.member-name{margin-bottom:4px;font-size:1.1rem}.member-details{display:flex;gap:var(--spacing-md);font-size:.85rem;color:var(--text-color-light)}.payment-warning{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--danger-color);font-weight:600}.edit-btn{padding:8px;border-radius:50%;transition:background-color var(--transition-fast)}.edit-btn:hover{background-color:var(--bg-color-alt)}.member-form{width:100%;max-width:800px;margin:0 auto;box-sizing:border-box}.member-form h3{margin-bottom:0;color:var(--primary-color)}.form-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:10px}.btn-sm{padding:6px 12px;font-size:.8rem;min-width:100px;height:32px;display:inline-flex;align-items:center;justify-content:center}.form-grid{display:grid;grid-template-columns:1fr;gap:var(--spacing-md)}@media(min-width:600px){.form-grid{grid-template-columns:1fr 1fr;column-gap:var(--spacing-lg)}}.form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-group input:not([type=checkbox]):not([type=radio]),.form-group textarea,.form-group select{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--input-bg);color:var(--text-color);font-size:1rem;transition:border-color var(--transition-fast);font-family:inherit;appearance:none;-webkit-appearance:none;min-height:42px}.form-group textarea{min-height:80px;resize:vertical}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);outline:none}.form-group input.error{border-color:var(--danger-color)}.error-text{font-size:.75rem;color:var(--danger-color)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{width:100%;padding-right:40px}.password-toggle{position:absolute;right:10px;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:5px;display:flex;align-items:center;justify-content:center}.checkbox-label{flex-direction:row!important;align-items:center;gap:var(--spacing-md);cursor:pointer;font-size:.9rem!important;color:var(--text-color)!important;-webkit-user-select:none;user-select:none}.checkbox-label span{margin-left:var(--spacing-sm)}.checkbox-row{display:flex;gap:var(--spacing-xl)}.form-actions{margin-top:var(--spacing-xl);display:flex;justify-content:flex-end;gap:var(--spacing-md)}.form-group-full{grid-column:1 / -1}.form-divider{grid-column:1 / -1;border:0;border-top:1px solid var(--border-color);margin:var(--spacing-md) 0}.section-title{grid-column:1 / -1;font-size:1rem;color:var(--primary-color);margin:var(--spacing-sm) 0}.form-divider-row{grid-column:1 / -1;display:flex;align-items:center;gap:var(--spacing-md);margin:var(--spacing-sm) 0;color:var(--primary-color);font-weight:600;font-size:.9rem;text-transform:uppercase}.hidden-mobile{display:none}@media(min-width:480px){.hidden-mobile{display:block}}.confirm-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:2000;animation:fadeIn .2s ease-out}.confirm-modal{background-color:var(--card-bg);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);width:90%;max-width:400px;padding:var(--spacing-lg);border:1px solid var(--border-color);animation:slideUp .2s ease-out}.confirm-header h3{margin-bottom:var(--spacing-md);color:var(--text-color)}.confirm-body{margin-bottom:var(--spacing-xl);color:var(--text-color-light)}.confirm-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md)}.member-list-page{animation:fadeIn .3s ease}.list-controls{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.search-box{flex:1;min-width:250px}.search-box input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--card-bg);color:var(--text-color);font-size:1rem;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.search-box input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #931c1f1a;outline:none}.filter-box select{padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--card-bg);color:var(--text-color);font-size:1rem;box-shadow:var(--shadow-sm);cursor:pointer}.add-btn{white-space:nowrap}.members-table-container{padding:0;margin-top:var(--spacing-lg)}.table-wrapper{overflow-x:auto;width:100%;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.members-table{width:100%;border-collapse:collapse;text-align:left;min-width:600px;border:none}.members-table th{background-color:var(--bg-color-alt);padding:1rem 1.5rem;font-weight:600;color:var(--text-color-light);border-bottom:1px solid var(--border-color);font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.members-table td{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);vertical-align:middle;color:var(--text-color)}.members-table tr:last-child td{border-bottom:none}.members-table tr:hover{background-color:var(--bg-color-alt)}.row-inactive{opacity:.6}.name-with-photo{display:flex;align-items:center;gap:var(--spacing-md)}.mini-photo,.mini-photo-placeholder{width:24px;height:24px;border-radius:50%;object-fit:cover;flex-shrink:0}.mini-photo-placeholder{background-color:var(--primary-color);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem}.col-num{font-weight:600;width:40px;text-align:center}.col-dni{font-size:.8rem;width:90px}.col-role{font-size:.8rem;width:100px}.col-payment{text-align:center;font-size:1rem;width:50px}.total-card.initial{border-left:4px solid var(--text-color-light)}.total-card.initial .value{color:var(--text-color)}.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.sortable:hover{background-color:var(--secondary-color-dark)}.col-type{font-size:.8rem;width:70px}.col-status{width:70px;text-align:center}.col-auth{width:40px;text-align:center;font-size:.8rem}.status-badge{padding:2px 6px;border-radius:12px;font-size:.7rem;font-weight:600}.status-badge.active{background-color:#28a7451a;color:var(--success-color)}.status-badge.inactive{background-color:#6c757d1a;color:var(--text-color-light)}.clickable-row{cursor:pointer;transition:background-color var(--transition-fast)}.clickable-row:hover{background-color:var(--secondary-color-dark)!important}.no-results{text-align:center;padding:var(--spacing-xl);color:var(--text-color-light)}.mobile-only-label{display:none}@media(max-width:600px){.mobile-only-label{display:inline;color:var(--text-color-light);font-weight:400}.list-controls{flex-direction:column;align-items:stretch}.filter-box{flex-direction:row;width:100%}.filter-box select{flex:1}.table-wrapper{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;overflow:visible!important}.members-table-container{padding:0}.table-wrapper{border:none!important;background:transparent!important;box-shadow:none!important;padding:0!important;margin:0!important}.members-table{display:block!important;width:100%!important;min-width:0!important;border:none!important}.members-table tbody{display:block!important;width:100%!important}.members-table tr{display:flex!important;flex-wrap:wrap!important;width:100%!important;box-sizing:border-box!important;background:var(--card-bg)!important;border:1px solid var(--border-color)!important;border-radius:12px!important;padding:1rem!important;margin-bottom:1rem!important;box-shadow:var(--shadow-sm)!important}.members-table thead{display:none}.col-num{order:1;width:40px!important;margin-right:10px;flex-shrink:0;text-align:left;color:var(--text-color-light);font-size:.8rem;border-bottom:none!important;padding:0!important}.col-name{order:2;flex:1;flex-basis:calc(100% - 40px);padding:0!important;border-bottom:none!important}.name-with-photo{gap:12px!important}.mini-photo,.mini-photo-placeholder{width:32px!important;height:32px!important}.name-with-photo span{font-weight:600;color:var(--primary-color)}.col-payment{order:3;width:auto!important;padding:0!important;border-bottom:none!important;margin-top:2px;margin-right:4px;font-size:.85rem}.col-role{order:4;width:auto!important;padding:0!important;border-bottom:none!important;margin-top:2px;margin-right:8px;font-size:.85rem;color:var(--text-color-light)}.col-status{order:5;width:auto!important;padding:0!important;border-bottom:none!important;margin-top:2px;font-size:.8rem}.col-auth{order:6;width:auto!important;padding:0!important;border-bottom:none!important;margin-top:2px;margin-left:8px}.col-type{display:none!important}.status-badge{font-size:.65rem;padding:1px 4px}}.movement-form{max-width:500px;margin:20px auto}.movement-form h3{margin-bottom:var(--spacing-lg);color:var(--primary-color)}.treasury-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:var(--bg-color-alt);border-radius:12px;border:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.year-selector{display:flex;align-items:center;gap:var(--spacing-md);background:var(--card-bg);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--border-color);font-weight:700;font-size:1.2rem}.year-selector button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:1rem}.year-selector button:hover{background:var(--bg-color-alt)}.treasury-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);padding-bottom:2px}.tab{padding:10px 20px;font-weight:600;color:var(--text-color-light);border-bottom:2px solid transparent;transition:all var(--transition-fast)}.tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.totals-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.total-card{padding:var(--spacing-lg);border-radius:var(--radius-md);background:var(--card-bg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);display:flex;flex-direction:column;gap:4px}.total-card .label{font-size:.85rem;color:var(--text-color-light);font-weight:600}.total-card .value{font-size:1.5rem;font-weight:700}.total-card.income .value{color:var(--success-color)}.total-card.expense .value{color:var(--danger-color)}.total-card.balance .value{color:var(--primary-color)}.total-card.balance .value.positive{color:var(--success-color)}.total-card.balance .value.negative{color:var(--danger-color)}.table-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);padding:var(--spacing-md);border-bottom:1px solid var(--border-color)}.table-header-row h3{margin:0}.initial-balance-display{display:flex;gap:var(--spacing-sm);font-size:1rem;align-items:center}.initial-balance-display .label{color:var(--text-color-light);font-weight:600}.initial-balance-display .value{font-weight:700;color:var(--text-color)}.table-wrapper{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}th{font-size:.8rem;text-transform:uppercase;color:var(--text-color-light);font-weight:700}.month-name{text-transform:capitalize;font-weight:600}.income-cell{color:var(--success-color)}.expense-cell{color:var(--danger-color)}.total-cell{font-weight:700}.total-cell.positive{color:var(--success-color)}.total-cell.negative{color:var(--danger-color)}.list-actions{margin-bottom:var(--spacing-md)}.movement-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);margin-bottom:var(--spacing-sm)}.m-date{font-size:.8rem;color:var(--text-color-light);width:90px}.m-info{flex:1}.m-concept{font-weight:600}.m-type{font-size:.75rem;color:var(--text-color-light);text-transform:uppercase}.m-amount{font-weight:700;font-size:1.1rem}.m-amount.income{color:var(--success-color)}.m-amount.expense{color:var(--danger-color)}.m-actions{display:flex;gap:var(--spacing-sm)}.m-actions button{padding:6px;border-radius:50%}.m-actions button:hover{background:var(--bg-color-alt)}.list-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md);flex-wrap:wrap;gap:var(--spacing-md)}.filters-row{display:flex;gap:var(--spacing-md)}.form-select{padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border-color);background-color:var(--card-bg);color:var(--text-color);min-width:140px;font-size:.9rem}@media(max-width:600px){.treasury-page.container{padding-left:8px;padding-right:8px}.treasury-page .page-header{padding:1rem;margin-bottom:1rem}.list-controls{flex-direction:column;align-items:stretch}.filters-row{flex-direction:column}.form-select{width:100%}.monthly-table{padding:0!important}.monthly-table table th,.monthly-table table td{padding:8px 1px!important;font-size:.85rem;letter-spacing:-.02em}.monthly-table table th{font-size:.7rem}.monthly-table .month-name{min-width:50px;width:50px;padding-right:0!important;text-transform:capitalize;font-weight:600;text-align:left}.income-cell,.expense-cell,.total-cell{padding-left:2px!important;padding-right:2px!important;white-space:nowrap;text-align:right}.table-header-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm);padding:10px}.initial-balance-display{font-size:.85rem}}.admin-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color);padding-bottom:2px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.admin-tabs::-webkit-scrollbar{display:none}.admin-tabs .tab{flex:0 0 auto;padding:10px 15px;font-weight:600;color:var(--text-color-light);border-bottom:2px solid transparent;transition:all var(--transition-fast)}.admin-tabs .tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.payments-section{padding:var(--spacing-lg)}.mb-4{margin-bottom:var(--spacing-lg)}.config-section,.audit-section{padding:var(--spacing-lg)}.config-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);margin:var(--spacing-md) 0}.config-grid.three-cols{grid-template-columns:repeat(3,1fr)}@media(max-width:600px){.admin-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;overflow-x:visible;white-space:normal;border-bottom:none;padding-bottom:var(--spacing-lg);margin-bottom:var(--spacing-md)}.admin-tabs button{flex:none!important;width:100%;border:1px solid var(--border-color)!important;border-radius:var(--radius-md)!important;padding:12px 8px!important;font-size:.8rem!important;background:var(--bg-color-alt)!important;color:var(--text-color)!important;text-align:center;display:flex;align-items:center;justify-content:center;min-height:54px;white-space:normal!important;line-height:1.2;box-shadow:var(--shadow-sm)}.admin-tabs button.active{background:var(--primary-color)!important;color:#fff!important;border-color:var(--primary-color)!important;box-shadow:var(--shadow-md)}.config-grid,.config-grid.three-cols{grid-template-columns:1fr}.audit-item{flex-direction:column;align-items:flex-start;gap:4px;padding:10px}.audit-time{font-size:.75rem;min-width:auto}.audit-user{font-size:.8rem;min-width:auto}.audit-content-inline{flex-direction:column;gap:4px;width:100%}.audit-details{white-space:normal;font-size:.8rem;line-height:1.2}}.logo-preview{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.logo-preview img{max-width:150px;max-height:150px;border-radius:var(--radius-sm);object-fit:contain;background-color:var(--secondary-color);padding:10px}.audit-list{max-height:600px;overflow-y:auto;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:var(--card-bg)}.audit-item{padding:6px 12px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;gap:12px;font-size:.85rem;font-family:Roboto Mono,monospace}.audit-item:hover{background-color:var(--bg-color-alt)}.audit-item:last-child{border-bottom:none}.audit-time{color:var(--text-color-light);font-size:.8rem;min-width:100px}.audit-user{font-weight:700;color:var(--primary-color);min-width:80px}.audit-content-inline{display:flex;gap:8px;flex:1;overflow:hidden}.audit-action{font-weight:600;text-transform:uppercase;font-size:.75rem;padding:2px 6px;background-color:var(--section-bg, #eee);border-radius:4px;color:var(--text-color);white-space:nowrap}.audit-details{color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.color-pickers-row{display:flex;gap:var(--spacing-lg);margin-top:var(--spacing-sm);flex-wrap:wrap}.color-picker-item{display:flex;flex-direction:column;gap:5px;flex:1;min-width:120px}.color-picker-item input[type=color]{width:100%;height:45px;padding:2px;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:var(--input-bg)}.admin-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.admin-modal-content{background:var(--card-bg, white);padding:24px;border-radius:12px;width:90%;max-width:500px;box-shadow:0 4px 20px #0003;animation:slideUp .2s ease-out}.admin-modal-content h3{margin-top:0;margin-bottom:20px;color:var(--primary-color)}.admin-modal-body{margin-bottom:24px}.detail-row{margin-bottom:12px;display:flex;gap:10px}.detail-row strong{color:var(--text-color);min-width:80px}.log-detail-box{margin-top:16px;padding:16px;background-color:var(--bg-color);border-radius:8px;border:1px solid var(--border-color);white-space:pre-wrap;font-family:monospace;font-size:.9em;color:var(--text-color);max-height:300px;overflow-y:auto}.admin-modal-footer{display:flex;justify-content:flex-end}.audit-item.clickable{cursor:pointer;transition:background-color .2s}.audit-item.clickable:hover{background-color:var(--bg-color-alt, #f5f5f5)}.collab-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);align-items:flex-end}.collab-form .btn-primary{height:42px;margin-bottom:4px}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:12px;color:var(--text-color-light)}.input-with-icon input{padding-left:36px!important}.collabs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-md)}.collab-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--bg-color-alt);border-radius:var(--radius-md);position:relative;border:1px solid var(--border-color)}.collab-image{width:60px;height:60px;border-radius:var(--radius-sm);overflow:hidden;background:#fff;display:flex;align-items:center;justify-content:center;padding:4px;border:1px solid var(--border-color)}.collab-image img{max-width:100%;max-height:100%;object-fit:contain}.collab-info{flex:1}.collab-info h4{margin:0;font-size:1rem;color:var(--text-color)}.collab-link{font-size:.8rem;color:var(--primary-color);display:inline-flex;align-items:center;gap:4px;margin-top:4px;text-decoration:none}.collab-link:hover{text-decoration:underline}.btn-delete-collab{background:none;border:none;color:#ef4444;cursor:pointer;padding:8px;border-radius:50%;transition:background .2s}.btn-delete-collab:hover{background:#fee2e2}.loading-inline{padding:20px;text-align:center;color:var(--text-color-light)}.spinner-icon{animation:rotate 1s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.step-logos{display:flex;flex-direction:column;gap:1.5rem}.logos-intro{text-align:center;padding:1rem}.logos-intro h3{font-size:1.25rem;color:var(--text-primary);margin-bottom:.5rem}.logos-intro p{color:var(--text-secondary);font-size:.9rem}.slots-container{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color)}.slots-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;max-width:800px;margin:0 auto}.image-slot{aspect-ratio:16/10;background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:12px;cursor:pointer;transition:all .3s ease;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center}.image-slot:hover{border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 8px 25px #0000001a}.image-slot.selected{border-color:var(--accent-color);border-style:solid;box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2)}.image-slot.has-image{border-style:solid;border-color:transparent}.image-slot img{width:100%;height:100%;object-fit:cover}.slot-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.image-slot:hover .slot-overlay{opacity:1}.remove-image-btn{background:#ef4444e6;color:#fff;border:none;width:32px;height:32px;border-radius:50%;font-size:1rem;cursor:pointer;transition:all .3s ease}.remove-image-btn:hover{transform:scale(1.1);background:#ef4444}.slot-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;text-align:center}.slot-icon{font-size:2rem;opacity:.5}.main-slot .slot-icon{font-size:3rem}.slot-label{font-size:.75rem;color:var(--text-secondary)}.main-slot .slot-label{font-size:.85rem}.image-picker-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.image-picker-panel{background:var(--bg-secondary, #ffffff);border-radius:16px;padding:1.5rem;border:1px solid var(--accent-color);width:90%;max-width:500px;max-height:80vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.picker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.picker-header h4{font-size:1rem;color:var(--text-primary);margin:0}.close-picker{background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;padding:.25rem;transition:color .3s ease}.close-picker:hover{color:var(--text-primary)}.upload-section{margin-bottom:1.5rem;text-align:center}.upload-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 2rem;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-dark) 100%);color:#fff;border-radius:10px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.upload-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--accent-rgb),.4)}.existing-images h5{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.75rem}.selectable-image{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid transparent;position:relative}.selectable-image:hover{border-color:var(--accent-color);transform:scale(1.05)}.selectable-image img{width:100%;height:100%;object-fit:cover}.selectable-image .image-name{position:absolute;bottom:0;left:0;right:0;background:#000000b3;color:#fff;font-size:.65rem;padding:.25rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.no-images{color:var(--text-secondary);text-align:center;padding:2rem;background:var(--bg-primary);border-radius:8px}@media(max-width:600px){.slots-grid{grid-template-columns:1fr}}.step-categories{display:flex;flex-direction:column;gap:1rem}.categories-intro{display:flex;justify-content:space-between;align-items:center;padding:.5rem;margin-bottom:.5rem}.intro-text{text-align:left}.categories-intro h3{font-size:1.1rem;color:var(--text-primary);margin:0}.categories-intro p{color:var(--text-secondary);font-size:.85rem;margin:0}.add-category-btn-top{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--accent-color);color:var(--primary-color);border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--accent-rgb),.2)}.add-category-btn-top:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(var(--accent-rgb),.3);filter:brightness(1.1);background:var(--accent-color);color:var(--primary-color)}@media(max-width:768px){.categories-intro{flex-direction:column;text-align:center;gap:1rem}.intro-text{text-align:center}.add-category-btn-top{width:100%;justify-content:center}}.categories-list{display:flex;flex-direction:column;gap:.75rem}.empty-categories{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:var(--bg-secondary);border-radius:12px;border:2px dashed var(--border-color);text-align:center}.empty-categories .icon{font-size:2rem;opacity:.5;margin-bottom:.5rem}.empty-categories p{color:var(--text-secondary);margin-bottom:1rem}.category-card{background:var(--bg-secondary);border-radius:12px;padding:1rem 1.25rem;border:1px solid var(--border-color);transition:all .3s ease}.category-card:hover{border-color:var(--accent-color)}.category-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.category-number{font-size:.8rem;color:var(--text-secondary);background:var(--bg-hover);padding:.25rem .5rem;border-radius:6px}.category-header h4{flex:1;font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.category-actions{display:flex;gap:.25rem}.category-actions .btn-icon{padding:.5rem;border-radius:8px}.category-actions .btn-icon.danger:hover{background:#ef44441a;color:#ef4444}.category-details{display:flex;flex-wrap:wrap;gap:1rem}.detail-item{font-size:.85rem;color:var(--text-primary)}.detail-item label{color:var(--text-secondary);margin-right:.25rem}.detail-item.groups{background:rgba(var(--accent-rgb),.1);padding:.25rem .5rem;border-radius:6px;color:var(--accent-color)}.add-category-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem;background:transparent;border:2px dashed var(--border-color);border-radius:12px;color:var(--text-secondary);font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.add-category-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:rgba(var(--accent-rgb),.05)}.category-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.category-form{background:#1e1e2e;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;width:90%;max-width:550px;box-shadow:0 20px 60px #00000080;animation:slideUp .3s ease}.form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.form-header h4{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.close-btn{background:transparent;border:none;color:#ffffff80;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.close-btn:hover{color:#fff}.form-content{display:flex;flex-direction:column;gap:1.25rem}.type-selector{display:flex;gap:.5rem}.type-option{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:10px;cursor:pointer;color:#fff;transition:all .3s ease;opacity:.6}.type-option:hover{border-color:var(--accent-color);opacity:1}.type-option.selected{border-color:var(--accent-color);background:rgba(var(--accent-rgb),.2);color:#fff;opacity:1}.type-option input{display:none}.type-option .icon{font-size:1.25rem}.form-section-divider{padding:1rem 0;border-top:1px solid var(--border-color);margin-top:1rem}.toggle-option{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--text-primary);font-weight:500}.toggle-option input{display:none}.toggle-switch{width:48px;height:26px;background:var(--border-color);border-radius:13px;position:relative;transition:all .3s ease}.toggle-switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;background:#fff;border-radius:50%;transition:all .3s ease}.toggle-option.active .toggle-switch{background:var(--accent-color)}.toggle-option.active .toggle-switch:after{left:25px}.group-phase-config{background:var(--bg-primary);border-radius:12px;padding:1rem;margin-top:1rem;border:1px solid var(--border-color);animation:slideUp .3s ease}.group-info{font-size:.85rem;color:var(--text-secondary);margin-top:.5rem;padding:.5rem;background:rgba(var(--accent-rgb),.05);border-radius:8px}.form-actions-footer{display:grid;grid-template-columns:1fr 2fr;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}.category-form .form-group label,.category-form label{font-size:.85rem;color:#fff!important;margin-bottom:.4rem;display:block;font-weight:500}.category-form input[type=text],.category-form input[type=number],.category-form select{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem}.category-form input:focus,.category-form select:focus{outline:none;border-color:var(--accent-color)}.btn-cancel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.75rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#ffffff1a}@media(max-width:768px){.type-selector{flex-direction:column;gap:.4rem}.category-form{padding:1rem;width:95%}.form-header{margin-bottom:1rem}.form-header h4{font-size:1rem}.form-content{gap:.85rem}.category-form .form-group label,.category-form label{margin-bottom:.25rem;font-size:.8rem}.type-option{padding:.5rem;font-size:.85rem}.type-option .icon{font-size:1.1rem}.form-actions-footer{margin-top:1rem;padding-top:1rem;gap:.5rem}.btn-cancel,.category-form .btn-primary{padding:.6rem;font-size:.85rem}}.step-players{display:flex;flex-direction:column;gap:.75rem}.players-intro{text-align:center;padding:.25rem}.players-intro h3{font-size:1.1rem;color:var(--text-primary);margin-bottom:.25rem}.players-intro p{color:var(--text-secondary);font-size:.85rem}.no-categories-warning{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;background:#fbbf241a;border-radius:12px;border:1px solid rgba(251,191,36,.3);text-align:center}.no-categories-warning .icon{font-size:2rem;margin-bottom:.5rem}.no-categories-warning p{color:#f59e0b;font-weight:500}.players-container{display:flex;flex-direction:column;gap:1rem}.category-tabs{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.5rem}.category-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .3s ease;white-space:nowrap}.category-tab:hover{border-color:var(--accent-color);color:var(--text-primary)}.category-tab.active{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.player-count{background:#fff3;padding:.125rem .5rem;border-radius:10px;font-size:.8rem}.category-tab:not(.active) .player-count{background:var(--bg-hover);color:var(--text-secondary)}.category-players-panel{display:grid;grid-template-columns:1fr;gap:.75rem;min-height:250px}.players-list-section{background:var(--bg-secondary);border-radius:12px;padding:1rem;border:1px solid var(--border-color);display:flex;flex-direction:column}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:.5rem}.section-header h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:1rem}.add-player-btn{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;background:var(--accent-color);color:var(--primary-color);border:none;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--accent-rgb),.2)}.add-player-btn:hover{transform:translateY(-2px);box-shadow:0 6px 15px rgba(var(--accent-rgb),.3);filter:brightness(1.1);background:var(--accent-color);color:var(--primary-color)}.capacity-wrapper{display:flex;align-items:center;gap:.75rem}.over-capacity-text{color:#ef4444;font-size:.8rem;font-weight:600;animation:fadeIn .3s ease}.capacity-badge{font-size:.8rem;padding:.25rem .6rem;background:var(--bg-hover);border-radius:6px;color:var(--text-secondary);font-weight:500}.capacity-badge.over-capacity{background:#ef4444;color:#fff;box-shadow:0 0 10px #ef44444d}.empty-players{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:.9rem}.players-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;max-height:500px}.player-item{display:flex;align-items:center;gap:.5rem;padding:.35rem .5rem;background:var(--bg-primary);border-radius:6px;transition:all .2s ease}.player-item:hover{background:var(--bg-hover)}.player-number{font-size:.7rem;color:var(--text-secondary);background:var(--bg-hover);padding:.125rem .375rem;border-radius:4px;min-width:20px;text-align:center}.player-info{flex:1;display:flex;align-items:center;gap:.5rem}.player-name{font-size:.85rem;color:var(--text-primary);font-weight:500}.player-type{font-size:.65rem;color:var(--text-secondary);background:var(--bg-hover);padding:.125rem .375rem;border-radius:4px}.player-type.external{color:#f59e0b;background:#f59e0b1a}.player-seed{font-size:.75rem;color:var(--accent-color);font-weight:600}.seed-btn{padding:.25rem .5rem;background:var(--bg-hover);border:1px solid var(--border-color);border-radius:4px;font-size:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;min-width:32px;text-align:center}.seed-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:rgba(var(--accent-rgb),.1)}.seed-btn.has-seed{background:rgba(var(--accent-rgb),.15);border-color:var(--accent-color);color:var(--accent-color);font-weight:600}.seed-modal .seed-input-group{margin-bottom:1.5rem}.seed-modal .seed-input{width:100%;padding:.75rem 1rem;background:#fff;border:2px solid var(--accent-color);border-radius:8px;font-size:1.25rem;font-weight:600;color:#1a1a2e;text-align:center;margin-bottom:.5rem;transition:border-color .3s ease}.seed-modal .seed-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.2)}.seed-modal .seed-input::placeholder{font-size:.9rem;font-weight:400;color:#888}.seed-modal .seed-hint{display:block;font-size:.75rem;color:var(--text-secondary);text-align:center}.confirm-modal-actions .btn-primary{background:var(--accent-color);color:#fff}.confirm-modal-actions .btn-primary:hover{opacity:.9}.player-item .remove-btn{opacity:1;padding:.35rem .6rem;background:#ef444426;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:6px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;font-size:.8rem;line-height:1}.player-item .remove-btn:hover{background:#ef4444;color:#fff;transform:scale(1.05)}.add-player-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.add-player-panel{background:#1e1e2e;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.add-player-panel .panel-header h4{font-size:.95rem;font-weight:600;color:#fff;margin:0}.close-btn{background:transparent;border:none;color:var(--text-secondary);font-size:1.25rem;cursor:pointer}.player-type-toggle{display:flex;gap:.5rem;margin-bottom:1rem}.toggle-btn{flex:1;padding:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.85rem;color:#fff9;cursor:pointer;transition:all .3s ease}.toggle-btn:hover{border-color:var(--accent-color);color:#fff}.toggle-btn.active{background:rgba(var(--accent-rgb),.2);border-color:var(--accent-color);color:#fff}.member-search{display:flex;flex-direction:column;gap:.75rem;flex:1}.member-search input{padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.9rem;color:#fff;transition:border-color .3s ease}.member-search input:focus{outline:none;border-color:var(--accent-color)}.members-list{flex:1;overflow-y:auto;max-height:200px;display:flex;flex-direction:column;gap:.25rem}.no-results{text-align:center;color:var(--text-secondary);padding:1rem;font-size:.9rem}.member-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background:#ffffff08;border-radius:6px;cursor:pointer;transition:all .2s ease}.member-item:not(.registered):hover{background:rgba(var(--accent-rgb),.1)}.member-item.registered{opacity:.6;cursor:not-allowed}.member-info{display:flex;flex-direction:column;gap:.125rem}.member-name{font-size:.9rem;color:#fff}.member-email{font-size:.75rem;color:#fff9}.registered-badge{font-size:.75rem;color:#22c55e}.add-badge{font-size:.75rem;color:var(--accent-color);font-weight:500}.external-form{display:flex;flex-direction:column;gap:.75rem}.external-form .form-group{display:flex;flex-direction:column;gap:.25rem}.external-form .form-group label,.external-form label{font-size:.8rem;color:#fff!important;font-weight:500}.external-form input{padding:.625rem .75rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:.9rem;color:#fff}.external-form input:focus{outline:none;border-color:var(--accent-color)}.external-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-actions{display:grid;grid-template-columns:1fr 2fr;gap:.75rem;margin-top:.5rem}.panel-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end}.btn-cancel{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;padding:.625rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .2s ease}.btn-cancel:hover{background:#ffffff1a;border-color:#fff3}.confirm-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .2s ease}.confirm-modal{background:#1e1e2e;border-radius:16px;padding:2rem;max-width:400px;width:90%;text-align:center;box-shadow:0 20px 60px #00000080;border:1px solid rgba(255,255,255,.1);animation:slideUp .3s ease}.confirm-modal-icon{font-size:3rem;margin-bottom:1rem}.confirm-modal h4{font-size:1.25rem;color:#fff;margin-bottom:.75rem;font-weight:600}.confirm-modal p{color:#a0a0b0;font-size:.95rem;margin-bottom:1.5rem;line-height:1.5}.confirm-modal p strong{color:#fff}.confirm-modal-actions{display:flex;gap:.75rem;justify-content:center}.confirm-modal-actions .btn{padding:.625rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.confirm-modal-actions .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-modal-actions .btn-secondary:hover{background:var(--bg-hover)}.confirm-modal-actions .btn-danger{background:#ef4444;color:#fff}.confirm-modal-actions .btn-danger:hover{background:#dc2626}@media(max-width:768px){.category-players-panel{grid-template-columns:1fr}.category-tabs{flex-wrap:nowrap}.section-header{flex-direction:column;align-items:stretch;gap:1rem}.header-actions{flex-direction:column;align-items:stretch}.add-player-btn{width:100%;justify-content:center;order:-1}.add-player-btn{width:100%;justify-content:center;margin-top:1rem}.add-player-panel{position:fixed;top:2rem;bottom:0;left:0;right:0;z-index:10001;background:#1e1e2e;border-radius:16px 16px 0 0;padding:1.5rem;height:auto;width:100%;max-width:none;margin:0;border:none;overflow-y:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease;padding-bottom:calc(3rem + env(safe-area-inset-bottom));box-shadow:0 -10px 40px #00000080}.add-player-panel .panel-header{position:static;margin-top:0;padding-top:0;top:auto}.add-player-panel .panel-header h4{font-size:1.1rem}.add-player-panel .member-search{flex:1;overflow-y:hidden;display:flex;flex-direction:column}.add-player-panel .members-list{flex:1;max-height:none;overflow-y:auto}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.tournament-wizard-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000}.tournament-wizard{background:var(--bg-color);width:95%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;overflow:hidden;position:relative;animation:wizardFadeIn .3s ease-out}.step-connector{position:absolute;top:18px;left:calc(50% + 22px);width:calc(100% - 44px + 1.5rem);height:2px;background:var(--border-color);z-index:0}.wizard-content{flex:1;padding:1.25rem 1.5rem;padding-bottom:100px;overflow-y:auto;overflow-x:hidden;position:relative;-webkit-overflow-scrolling:touch;touch-action:pan-y}.wizard-navigation{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:var(--bg-color);border-top:1px solid var(--border-color);position:absolute;bottom:0;left:0;right:0;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;box-shadow:0 -4px 15px #0000000d}.wizard-navigation.nav-hidden{transform:translateY(100%);opacity:0;pointer-events:none}.nav-center{color:var(--text-color-light);font-size:.85rem}.spinner-small{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem}.wizard-navigation .btn-primary,.wizard-navigation .btn-secondary{padding:.875rem 1.75rem;border-radius:12px;font-size:.95rem}.wizard-form{display:flex;flex-direction:column;gap:1.5rem}.form-section-title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;color:var(--text-color);margin-bottom:1rem}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-row:last-child{margin-bottom:0}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-color-light)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;font-size:.95rem;color:var(--text-color);transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.form-group input::placeholder{color:var(--text-color-light)}.checkbox-group{display:flex;flex-wrap:wrap;gap:.75rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease}.checkbox-item:hover{border-color:var(--accent-color)}.checkbox-item.selected{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-color)}.checkbox-item input[type=checkbox]{display:none}.checkbox-item .checkbox-icon{width:20px;height:20px;border-radius:4px;border:2px solid var(--border-color);display:flex;align-items:center;justify-content:center;transition:all .3s ease}.checkbox-item.selected .checkbox-icon{background:var(--accent-color);border-color:var(--accent-color);color:#fff}.radio-group{display:flex;gap:.75rem}.radio-item{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;cursor:pointer;transition:all .3s ease}.radio-item:hover{border-color:var(--accent-color)}.radio-item.selected{background:rgba(var(--accent-rgb),.1);border-color:var(--accent-color)}.radio-item input[type=radio]{display:none}.dynamic-list{display:flex;flex-direction:column;gap:.5rem}.dynamic-list-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:8px}.dynamic-list-item input{flex:1;background:transparent;border:none;font-size:.95rem;color:var(--text-color)}.dynamic-list-item input:focus{outline:none}.dynamic-list-item .remove-btn{padding:.25rem .5rem;background:#ef44441a;color:#ef4444;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease}.dynamic-list-item .remove-btn:hover{background:#ef444433}.add-item-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:transparent;border:2px dashed var(--border-color);border-radius:8px;color:var(--text-color-light);font-size:.9rem;cursor:pointer;transition:all .3s ease}.add-item-btn:hover{border-color:var(--accent-color);color:var(--accent-color);background:rgba(var(--accent-rgb),.05)}@media(max-width:768px){.tournament-wizard{position:fixed;top:0;left:0;width:100%;height:100svh;z-index:1000;border-radius:0;margin:0}.wizard-steps{padding:.75rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.wizard-step{padding:0 .5rem}.step-circle{width:44px;height:44px;font-size:1.1rem;flex-shrink:0}.step-name{font-size:.65rem;margin-top:.4rem;white-space:nowrap}.wizard-content{padding-bottom:140px}.wizard-navigation{padding:1rem;padding-bottom:calc(1.5rem + env(safe-area-inset-bottom));transform:none!important;opacity:1!important;pointer-events:auto!important}.form-row{grid-template-columns:1fr}}.public-link-info{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border-color)}.public-link-info label{display:block;font-size:.85rem;font-weight:500;color:var(--text-color-light);margin-bottom:.5rem}.link-preview{display:flex;align-items:center;gap:.75rem;background:var(--bg-color);padding:.75rem 1rem;border-radius:8px;border:1px solid var(--border-color)}.link-preview a{color:var(--accent-color);text-decoration:none;font-size:.9rem;font-family:monospace;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-preview a:hover{text-decoration:underline}.link-preview .copy-btn{padding:.4rem .8rem;background:var(--bg-color-alt);border:1px solid var(--border-color);border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.link-preview .copy-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.warning-text{margin-top:.75rem;font-size:.8rem;color:#f59e0b;font-weight:500}.tournament-table-container{background:var(--card-bg);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;overflow-x:auto;border:1px solid var(--border-color)}.tournament-table{width:100%;border-collapse:collapse;min-width:800px}.tournament-table th{background-color:var(--bg-color-alt);color:var(--text-color-light);font-weight:600;text-align:left;padding:1rem 1.5rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-color)}.tournament-table td{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);color:var(--text-color);vertical-align:middle}.tournament-table tr:last-child td{border-bottom:none}.tournament-table tr:hover{background-color:var(--bg-hover)}.td-name{min-width:200px}.tournament-name{font-weight:600;color:var(--text-color);font-size:1rem}.date-badge,.location-info{display:flex;align-items:center;gap:.5rem;color:var(--text-color-light);font-size:.9rem}.status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.status-draft{background-color:#94a3b81a;color:#94a3b8}.status-open{background-color:#22c55e1a;color:#22c55e}.status-finished{background-color:#eab3081a;color:#eab308}.status-cancelled{background-color:#ef44441a;color:#ef4444}.text-right{text-align:right}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s;background:var(--bg-secondary, #ffffff);color:var(--primary-color)}.action-btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.tournament-list.empty{text-align:center;padding:4rem 2rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color)}.empty-icon{color:var(--text-color-light);margin-bottom:1rem;opacity:.5}@media(max-width:1024px){.tournament-table-container{background:transparent;border:none;box-shadow:none;overflow-x:hidden;margin:0;width:100%;box-sizing:border-box}.tournament-table,.tournament-table thead,.tournament-table tbody,.tournament-table th,.tournament-table td,.tournament-table tr{display:block;width:100%!important;min-width:0!important;box-sizing:border-box}.tournament-table thead tr{display:none}.tournament-table tr{background:var(--card-bg, #ffffff);border:1px solid var(--border-color);border-radius:12px;padding:1rem;margin-bottom:1rem;box-shadow:0 2px 4px #0000000d;width:100%;box-sizing:border-box;overflow:hidden}.tournament-table td{border:none;padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.tournament-table td:before{content:attr(data-label);font-weight:700;text-transform:uppercase;font-size:.7rem;color:var(--text-color-light, #64748b);flex-shrink:0;margin-right:1rem}.tournament-table td.td-name{display:block;padding-top:0;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;text-align:left}.tournament-table td.td-name:before{display:block;margin-bottom:.25rem}.tournament-table .tournament-name{font-size:1.1rem;font-weight:700;color:var(--accent-color, #1a1a1a);display:block;line-height:1.3;word-break:break-word;overflow-wrap:break-word}.date-badge,.status-badge,.location-info{word-break:break-word;text-align:right;display:flex;justify-content:flex-end}.tournament-table td[data-label=Acciones]{margin-top:.5rem;padding-top:1rem;border-top:1px dashed var(--border-color);justify-content:center;gap:.75rem}.tournament-table td[data-label=Acciones]:before{display:none}.actions-cell{display:flex;justify-content:center;width:100%;gap:.75rem}.action-btn{width:40px;height:40px;background:var(--bg-color-alt, #f8fafc)}}.bracket-view{display:flex;gap:1.5rem;padding:.5rem 0;min-width:max-content}.bracket-view-page{display:flex;flex-direction:column;min-height:100vh;background:var(--bg-color);color:var(--text-color);width:100%;max-width:100vw;overflow-x:hidden;position:relative}.bracket-header,.bracket-header-new{position:relative;top:0;z-index:100}.bracket-header{display:flex;align-items:center;gap:.75rem;padding:.4rem 1rem;background:linear-gradient(135deg,var(--primary-color) 0%,#7a171a 100%);color:#fff;margin-bottom:.5rem}.btn-back{background:#fff3;border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.btn-back:hover{background:#ffffff4d}.tournament-info{flex:1}.tournament-info h1{font-size:1.25rem;font-weight:700;margin:0}.tournament-dates{font-size:.85rem;opacity:.9}.status-badge{padding:.5rem 1rem;background:#fff3;border-radius:20px;font-size:.85rem;font-weight:600}.status-badge.in_progress{background:#ef4444;animation:pulse 2s infinite}.status-badge.success{background:#dcfce7;color:#15803d}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}.bracket-header-new{background:linear-gradient(135deg,var(--primary-color) 0%,#7a171a 100%);width:100%;box-shadow:0 4px 12px #0003;display:flex;flex-direction:column;position:sticky;top:0;z-index:100}.header-top-nav.public-mode{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.header-top-nav.public-mode .header-tournament-name{font-size:1.1rem;font-weight:700;color:#fff;display:flex;align-items:center;gap:.5rem}.header-top-nav.public-mode .user-nav{display:flex;align-items:center;gap:1rem}.header-top-nav.public-mode .user-info{display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:#fff}.header-top-nav.public-mode .header-login-btn{display:inline-flex;align-items:center;gap:.3rem;padding:.4rem .8rem;background-color:#ffffff1a;color:#fff!important;text-decoration:none;border-radius:6px;font-weight:600;font-size:.8rem;transition:all .2s ease;border:1px solid rgba(255,255,255,.3)}.header-top-nav.public-mode .header-logout-btn{display:flex;align-items:center;gap:.3rem;padding:.35rem .7rem;background:#f1f5f9;color:#ef4444;border:1px solid #fee2e2;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.header-top-nav{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid rgba(255,255,255,.1);background:transparent}.btn-nav-transparent{background:transparent;border:none;color:#fff;font-size:.85rem;font-weight:500;cursor:pointer;text-decoration:none;display:flex;align-items:center;gap:.4rem;padding:.4rem 0;opacity:.9;transition:opacity .2s}.header-tabs-row{display:flex;align-items:center;padding:.25rem 1.5rem .5rem;gap:1.5rem;overflow:hidden;background:transparent}.category-tabs{display:flex;gap:.5rem;overflow-x:auto;flex:1;scrollbar-width:none;-ms-overflow-style:none;padding:0;background:transparent!important;border-radius:0!important;border:none!important;box-shadow:none!important}.category-tabs::-webkit-scrollbar{display:none}.category-tab{padding:.45rem .9rem;border-radius:8px;border:none;background:#fff;color:var(--primary-color);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;display:flex;align-items:center;gap:.4rem;box-shadow:0 1px 3px #0000001a}.category-tab.active{background:var(--accent-color);color:var(--primary-color);box-shadow:0 2px 8px #0003}.category-tab.info-tab{background:#fff}.category-tab.info-tab.active{background:var(--accent-color);color:var(--primary-color)}.tabs-right-actions{display:flex;align-items:center;flex-shrink:0}.detailed-score-toggle{display:flex;align-items:center;gap:.35rem;cursor:pointer;padding:.4rem .6rem;background:#fff;border-radius:6px;color:var(--primary-color);border:1px solid white;font-weight:600}.detailed-score-toggle .toggle-label{font-size:.7rem;font-weight:600}@media(max-width:600px){.header-top-nav,.header-tabs-row{padding:.5rem .75rem}.category-tab{padding:.4rem .6rem;font-size:.75rem}}.public-info-view{padding:1.5rem;flex:1;width:100%;box-sizing:border-box}.info-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;width:100%;max-width:1400px;margin:0 auto;align-items:start}.info-main,.info-sidebar{display:flex;flex-direction:column;gap:2rem}.info-section{background:var(--card-bg);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.info-section h3{margin-bottom:1.5rem;display:flex;align-items:center;gap:.5rem;color:var(--primary-color);font-size:1.1rem}.info-top-row{display:flex;gap:2rem;align-items:stretch}.details-section{flex:1}.logo-section{width:220px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center}.club-logo-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fdfdfd;border-radius:8px;padding:1rem}.club-logo-img{max-width:150px;width:100%;height:auto;object-fit:contain}.info-items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-size:.7rem;font-weight:700;color:#888;letter-spacing:.05em}.info-item .value{font-size:1rem}.public-categories{display:flex;flex-direction:column;gap:.8rem}.public-category-card{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.2rem;background:var(--bg-color-alt);border-radius:8px;border:1px solid var(--border-color);transition:transform .2s ease}.public-category-card:hover{border-color:var(--accent-color)}.cat-info{display:flex;align-items:center;gap:.8rem}.cat-icon{font-size:1.2rem;background:var(--card-bg);padding:.4rem;border-radius:50%;border:1px solid var(--border-color)}.cat-text{display:flex;flex-direction:column}.cat-name{font-weight:600;font-size:.95rem}.cat-details{font-size:.75rem;color:var(--text-color-light)}.registration-panel{animation:fadeIn .3s ease}.registration-form{display:flex;flex-direction:column;gap:1rem}.form-group label{font-size:.85rem;font-weight:500;margin-bottom:.3rem;display:block}.form-group input{width:100%;padding:.6rem;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color);font-size:.9rem}.form-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:600px){.form-row-grid{grid-template-columns:1fr}}@media(max-width:768px){.info-grid{grid-template-columns:1fr;gap:1rem}.info-main,.info-sidebar{gap:1.25rem}.info-top-row{flex-direction:column;gap:1rem}.logo-section{width:100%;order:-1}.public-info-view{padding:.75rem;overflow-x:hidden;width:100%;box-sizing:border-box}.info-section{padding:1.2rem 1rem;overflow:hidden}.info-items-grid{grid-template-columns:1fr;gap:1.25rem}.info-items{grid-template-columns:1fr}.public-category-card{padding:.75rem}}@media(max-width:600px){.public-category-card{flex-direction:column;align-items:flex-start;gap:1rem}.public-category-card button,.public-category-card .status-badge{width:100%;text-align:center}}.brackets-container{flex:1;padding:.5rem;overflow-x:auto;margin-top:.5rem}.bracket-section{margin-bottom:1rem}.bracket-section h2{font-size:1rem;font-weight:600;margin-bottom:.5rem;color:var(--text-color);padding-left:.5rem;border-left:3px solid var(--accent-color);display:flex;align-items:center;gap:.5rem}.round-header{font-size:.75rem;font-weight:700;color:var(--accent-color);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem;text-align:center;padding:.2rem .5rem;background:rgba(var(--accent-rgb),.05);border-radius:4px;border:1px solid rgba(var(--accent-rgb),.1)}.bracket-section.consolation h2{color:#f59e0b}.bracket-view.live-mode .match-card.clickable{cursor:pointer;position:relative}.bracket-view.live-mode .match-card.clickable:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.enter-score-hint{position:absolute;bottom:0;left:0;right:0;background:var(--primary-color);color:#fff;text-align:center;padding:.25rem;font-size:.7rem;opacity:0;transition:opacity .3s ease;border-radius:0 0 7px 7px}.match-card.clickable:hover .enter-score-hint{opacity:1}.match-court{position:absolute;top:0;right:0;background:#0009;color:#fff;font-size:.65rem;padding:.125rem .375rem;border-radius:0 0 0 6px}.score-display{display:flex;gap:.25rem}.score-display .set-score{font-size:.75rem;padding:.125rem .375rem;background:var(--border-color);border-radius:3px}.score-display .set-score.won{background:#22c55e33;color:#22c55e;font-weight:600}.no-brackets{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.no-brackets .icon{font-size:4rem;opacity:.5;margin-bottom:1rem}.no-brackets p{color:var(--text-color-light)}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.score-modal{background:var(--card-bg);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:20px;padding:1.5rem;width:100%;max-width:500px;color:var(--text-color);animation:modalSlide .3s ease}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.modal-header h3{font-size:1.25rem;color:var(--text-color);margin:0}.modal-header .close-btn{background:transparent;border:none;font-size:1.5rem;color:var(--text-color-light);cursor:pointer}.match-players{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:1rem;background:var(--bg-color-alt);border-radius:12px}.player-retirement-group{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.player-label{width:100%;text-align:center;font-weight:600;color:var(--text-color)}.btn-retire{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;font-size:.75rem;padding:.25rem .6rem;border-radius:4px;cursor:pointer;transition:all .2s ease}.btn-retire:hover{background:#ef4444;color:#fff}.player-label.p1{text-align:left}.player-label.p2{text-align:right}.vs{font-size:.85rem;color:var(--text-secondary);padding:0 1rem}.score-inputs{background:var(--bg-color-alt);border-radius:12px;padding:1rem;margin-bottom:1rem}.sets-header{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:.75rem;padding-left:100px}.set-header{width:50px;text-align:center;font-size:.75rem;color:var(--text-color-light);text-transform:uppercase}.player-scores{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.player-scores .player-name{width:100px;font-size:.85rem;color:var(--text-color);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-scores .sets{display:flex;gap:.5rem;flex:1;justify-content:flex-end}.player-scores input{width:50px;height:40px;text-align:center;font-size:1.1rem;font-weight:600;border:2px solid var(--border-color);border-radius:8px;background:var(--input-bg);color:var(--text-color);transition:all .3s ease}.player-scores input:focus{outline:none;border-color:var(--accent-color)}.player-scores input.winning{background:#22c55e1a;border-color:#22c55e;color:#22c55e}.winner-preview{text-align:center;padding:.75rem;background:var(--bg-color-alt);border-radius:8px;margin-bottom:1rem}.winner-text{color:#22c55e;font-weight:600}.incomplete-text{color:var(--text-color-light);font-size:.9rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end}.modal-actions button{padding:.75rem 1.5rem}@media(max-width:768px){.category-tabs-scrollable{padding:.4rem .5rem;flex-wrap:nowrap;gap:.4rem}.category-tabs-scrollable .btn-back,.category-tab{padding:.25rem .5rem;font-size:.7rem}.detailed-score-toggle{padding:.2rem .4rem;font-size:.65rem;margin-left:auto}.public-link-btn{display:none}.brackets-container{padding:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.bracket-view{min-width:500px;gap:1rem}.bracket-round{min-width:260px;max-width:300px;gap:.5rem}.round-header{font-size:.6rem;padding:.15rem .3rem;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.match-card{min-width:250px;max-width:300px}.player-slot{padding:4px 6px}.player-name{font-size:.75rem;max-width:220px!important}.set-score{font-size:.6rem;min-width:18px}.score-modal{padding:1rem}.sets-header{padding-left:80px}.player-scores .player-name{width:80px;font-size:.8rem}.player-scores input{width:40px;height:36px;font-size:1rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.classification-label{display:block;width:100%;text-align:center;font-size:.7rem;font-weight:700;color:var(--accent-color);text-transform:none;letter-spacing:.3px;margin-top:6px;padding:4px 8px;background:rgba(var(--accent-rgb, 255, 193, 7),.15);border-radius:4px}.round-matches{display:flex;flex-direction:column;height:100%;min-height:300px;gap:1rem;position:relative}.bracket-round{display:flex;flex-direction:column;min-width:280px;padding:0 .5rem}.round-matches>div{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative;padding:.5rem 0;min-height:80px}.match-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow:visible;box-shadow:var(--shadow-sm);transition:all var(--transition-normal);position:relative}.match-card.completed{border-left:3px solid #22c55e}.match-card.in_progress{border-left:3px solid #f59e0b}.player-slot{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border-bottom:1px solid var(--border-color)}.player-slot:last-child{border-bottom:none}.player-slot.winner{background:#22c55e14}.player-slot.winner .player-name{color:#22c55e;font-weight:700}.groups-view{display:flex;flex-wrap:wrap;gap:1.5rem;padding:1rem;align-items:flex-start}.group-card{background:var(--card-bg);border-radius:12px;padding:1rem;border:1px solid var(--border-color);min-width:320px;flex:1 1 320px;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.group-title{font-size:1.1rem;font-weight:700;color:var(--accent-color);margin-bottom:1rem;text-align:center;border-bottom:2px solid rgba(var(--accent-rgb),.1);padding-bottom:.5rem}.standings-table{width:100%;font-size:.85rem;border-collapse:collapse;margin-bottom:1.5rem}.standings-table th,.standings-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color)}.standings-table th{color:var(--text-color-light);font-weight:600;font-size:.7rem;text-transform:uppercase}.standings-table td.center{text-align:center}.group-matches-preview{margin-top:auto;background:var(--bg-color-alt);border-radius:8px;padding:.8rem;border:1px solid var(--border-color)}.mini-header{font-size:.75rem;color:var(--text-color-light);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.mini-matches-list{display:flex;flex-direction:column;gap:.5rem}.mini-match-row{font-size:.85rem;position:relative;color:var(--text-color);padding:0;border-radius:6px;transition:all .2s ease;border:1px solid transparent;overflow:hidden;background:var(--bg-color)}.mini-match-row .match-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:.5rem .8rem;width:100%;gap:.5rem}.mini-match-row .match-content>span:first-child{text-align:right}.mini-match-row .match-content>span:last-child{text-align:left}.mini-match-row.clickable{cursor:pointer}.mini-match-row.clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-color);z-index:10}.mini-match-row .vs{color:var(--text-color-light);font-size:.7rem;padding:0 .5rem}.mini-match-row.completed .vs{display:none}.mini-match-row.completed{border-left:3px solid #22c55e}.mini-match-row .score-summary{font-size:.8rem;font-weight:700;color:var(--text-color);background:var(--bg-color-alt);padding:.2rem .6rem;border-radius:4px;border:1px solid var(--border-color)}.mini-match-row .enter-score-hint{position:absolute;bottom:0;left:0;right:0;background:rgba(var(--primary-rgb),.9);font-size:.65rem;padding:.2rem .15rem .15rem;opacity:0;transform:translateY(100%);transition:all .2s ease}.mini-match-row:hover .enter-score-hint{opacity:1;transform:translateY(0)}} .player-name{font-size:.9rem;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.set-score{font-size:.75rem;font-weight:700;color:var(--text-color-light);background:#0000000d;padding:.1rem .4rem;border-radius:4px;min-width:1.2rem;text-align:center}.player-slot.winner .set-score{background:#22c55e33;color:#22c55e}.player-slot.bye .player-name{color:var(--text-color-light);font-style:italic;font-weight:400}.header-actions{display:flex;align-items:center;gap:1.5rem}.detailed-score-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.85rem;font-weight:600;color:#fff;background:#ffffff1a;padding:.4rem .8rem;border-radius:20px;transition:all .2s ease}.detailed-score-toggle:hover{background:#fff3}.detailed-score-toggle input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent-color)}.public-link-btn{display:flex;align-items:center;gap:.5rem;background:#ffffff26;color:#fff;padding:.4rem .8rem;border-radius:20px;text-decoration:none;font-size:.85rem;font-weight:600;transition:all .2s ease;border:1px solid rgba(255,255,255,.2)}.public-link-btn:hover{background:#ffffff40;transform:translateY(-1px);border-color:#fff6}.set-score.empty{background:transparent;padding:0;min-width:auto}.detailed-sets{display:flex;gap:4px}.detailed-sets{display:flex;gap:4px;align-items:center}.mini-set{font-size:.8rem;font-family:JetBrains Mono,Fira Code,Roboto Mono,monospace;background:#0000000d;width:1.6rem;height:1.4rem;display:flex;align-items:center;justify-content:center;border-radius:3px;color:var(--text-color-light);border:1px solid var(--border-color);font-variant-numeric:tabular-nums}.mini-set.won{background:#22c55e26;color:#22c55e;font-weight:700;border-color:#22c55e66}.match-card.detailed-mode{min-width:200px}@media(max-width:768px){.header-actions{flex-direction:column;align-items:flex-end;gap:.5rem}.detailed-score-toggle{padding:.3rem .6rem;font-size:.75rem}}.main-bracket-area{position:relative;display:flex;flex-direction:column;margin-bottom:2rem;padding:.5rem .5rem 1.5rem}.classification-label{position:absolute;top:100%;left:0;right:0;margin-top:4px;font-size:.65rem;font-weight:800;text-align:center;background:transparent;color:var(--text-color-light);text-transform:uppercase;letter-spacing:.8px;pointer-events:none;line-height:1}.detailed-sets{display:flex;gap:4px;align-items:center;justify-content:flex-end;min-width:max-content}.match-card{margin-bottom:2rem!important}.match-slot-3rd-place{margin-top:1rem;padding-top:1rem;display:flex;flex-direction:column;align-items:flex-end;width:100%;border-top:1px dashed rgba(0,0,0,.1)}.match-slot-3rd-place .match-card{border:1px solid rgba(205,127,50,.4);box-shadow:0 4px 6px #0000000d;margin-bottom:2rem!important;width:220px;max-width:100%}.match-slot-3rd-place .classification-label{color:#cd7f32;font-weight:900}@media(max-width:1024px){.main-bracket-area{padding-bottom:0}.third-place-minimal{position:relative;bottom:auto;right:auto;align-self:center;margin-top:2rem;margin-bottom:2rem}}.photos-section{display:flex;flex-direction:column;gap:2rem;align-items:center}.tournament-poster-container{width:100%;max-width:600px;margin:0 auto;border-radius:12px;overflow:hidden;box-shadow:var(--shadow-md)}.tournament-poster{width:100%;height:auto;display:block}.sponsors-container{width:100%;text-align:center}.sponsors-container h4{font-size:1rem;color:var(--text-color-light);margin-bottom:1rem;text-transform:uppercase;letter-spacing:1px}.sponsors-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem;align-items:center}.sponsor-item{background:#fff;padding:1rem;border-radius:8px;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;width:140px;height:100px;transition:transform .2s ease}.sponsor-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.sponsor-item img{max-width:100%;max-height:100%;object-fit:contain}.sponsor-carousel-img{animation:fadeIn .5s ease-in-out}.seed-badge{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-color);color:var(--primary-color);font-size:.65rem;font-weight:800;padding:.1rem .35rem;border-radius:4px;margin-left:.5rem;vertical-align:middle;line-height:1;box-shadow:0 1px 2px #0003}.player-slot.seed-player{position:relative;border-left:3px solid var(--accent-color)!important;background:rgba(var(--accent-rgb),.03)!important}.player-slot.seed-player .player-name{color:var(--text-color);font-weight:600}.standings-table .seed-badge{margin-left:.5rem;font-size:.6rem}.match-card{display:flex;align-items:stretch;overflow:hidden}.match-content-col{flex:1;display:flex;flex-direction:column;min-width:0;position:relative}.referee-sidebar-btn{position:absolute;left:0;top:0;bottom:0;width:32px;background:#3b82f6;color:#fff;text-decoration:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:width .2s,background-color .2s;border-top-left-radius:7px;border-bottom-left-radius:7px;z-index:5}.referee-sidebar-btn:hover{background-color:#2563eb;width:36px}.referee-sidebar-btn img{width:20px;height:20px;object-fit:contain}.match-card.bracket-match.with-referee .match-content-col{margin-left:32px}@media(min-width:769px){.bracket-round{min-width:240px!important;width:240px}.match-card{width:100%}.player-name{max-width:none!important;flex:1;font-size:.95rem}}.draw-control-panel{background:#fff;padding:1rem;border-radius:12px;margin-bottom:2rem;box-shadow:0 4px 6px -1px #0000001a;border:1px solid var(--border-color)}.draw-control-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.draw-control-header h3{font-size:1.1rem;color:var(--text-color);margin:0;display:flex;align-items:center;gap:.5rem}.draw-config-row{display:flex;gap:1.5rem;align-items:flex-end;flex-wrap:wrap}.config-item{display:flex;flex-direction:column;gap:.5rem}.config-item label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.config-item select,.config-item input{padding:.6rem;border:1px solid var(--border-color);border-radius:8px;min-width:140px;background:var(--bg-color);color:var(--text-color)}.btn-generate{background:var(--primary-color);color:#fff;border:none;padding:.6rem 1.5rem;border-radius:8px;font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;height:42px}.btn-generate:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.btn-generate:disabled{opacity:.6;cursor:not-allowed;background:var(--text-muted)}.regeneration-warning{margin-top:1rem;padding:.75rem;background:#fff3cd;border:1px solid #ffeeba;color:#856404;border-radius:6px;font-size:.9rem;display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.draw-config-row{flex-direction:column;align-items:stretch}.config-item,.config-item input,.config-item select{width:100%}.btn-generate{width:100%;justify-content:center;margin-top:.5rem}}.player-slot.pos-editable{transition:all .2s ease;border:1px dashed transparent;cursor:pointer}.player-slot.pos-editable:hover{background-color:#931c1f0d;border-color:var(--primary-color)}.player-slot.selected-pos{background-color:#931c1f26!important;border:2px solid var(--primary-color)!important;box-shadow:0 0 10px #931c1f33;position:relative;z-index:50!important}.pos-controls{position:absolute;right:5px;top:50%;transform:translateY(-50%);display:flex;flex-direction:row;gap:4px;z-index:1000!important;background:#fff;border-radius:20px;padding:2px;box-shadow:0 2px 8px #0003}.pos-controls button{background:var(--primary-color);color:#fff;border:none;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.pos-controls button:hover{background:#7a171a;transform:scale(1.1)}@media(max-width:768px){.match-card.edit-mode{overflow:visible}.pos-controls{right:5px;top:50%;flex-direction:row;transform:translateY(-50%)}}.tournaments-page{padding:.5rem;max-width:1400px;margin:0 auto;overflow-x:hidden;width:100%}.page-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-dark) 100%);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--accent-rgb),.4)}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--accent-color)}.btn-danger{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-danger:hover{background:#ef444433;border-color:#ef4444}.btn-icon{padding:.5rem;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;color:var(--text-secondary)}.btn-icon:hover{background:var(--bg-hover);color:var(--accent-color)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite}.access-denied{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;color:var(--text-secondary)}.access-denied .icon{font-size:4rem;margin-bottom:1rem}.access-denied h2{font-size:1.5rem;color:var(--text-primary);margin-bottom:.5rem}.tournament-list{display:grid;gap:1rem}.tournament-list.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;background:var(--bg-secondary);border-radius:16px;border:2px dashed var(--border-color)}.tournament-list.empty .icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.tournament-list.empty h3{color:var(--text-primary);margin-bottom:.5rem}.tournament-list.empty p{color:var(--text-secondary)}.tournament-card{background:var(--bg-secondary);border-radius:16px;padding:1.5rem;border:1px solid var(--border-color);transition:all .3s ease}.tournament-card:hover{border-color:var(--accent-color);box-shadow:0 4px 20px #0000001a}.tournament-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.tournament-card-title{display:flex;align-items:center;gap:.75rem}.tournament-card-title h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.tournament-status{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.tournament-status.draft{background:#94a3b833;color:#94a3b8}.tournament-status.open{background:#22c55e33;color:#22c55e}.tournament-status.in_progress{background:#fbbf2433;color:#f59e0b}.tournament-status.finished{background:#6366f133;color:#6366f1}.tournament-status.cancelled{background:#ef444433;color:#ef4444}.tournament-card-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1rem}.tournament-info-item{display:flex;flex-direction:column;gap:.25rem}.tournament-info-item .label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.tournament-info-item .value{font-size:.95rem;color:var(--text-primary);font-weight:500}.tournament-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .75rem;background:var(--bg-hover);border-radius:20px;font-size:.8rem;color:var(--text-primary)}.category-tag .type-icon{font-size:.7rem}.tournament-card-actions{display:flex;gap:.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}@media(max-width:768px){.tournaments-page{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:1.5rem}.tournament-card-info{grid-template-columns:1fr 1fr}.tournament-card-actions{flex-wrap:wrap}}.league-wizard-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:2000}.league-wizard-container{background:var(--bg-color);width:95%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d;overflow:hidden;position:relative;animation:wizardFadeIn .3s ease-out}@keyframes wizardFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.wizard-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-hover) 100%);color:#fff}.wizard-header h2{font-size:1.1rem;font-weight:700;margin:0}.btn-close{background:#fff3;border:none;color:#fff;width:28px;height:28px;border-radius:50%;font-size:.9rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.btn-close:hover{background:#ffffff4d;transform:rotate(90deg)}.wizard-steps{display:flex;justify-content:center;align-items:center;padding:.5rem 1rem;background:var(--bg-color-alt);border-bottom:1px solid var(--border-color);gap:0}.wizard-step{display:flex;flex-direction:column;align-items:center;position:relative;cursor:pointer;flex:0 0 auto;padding:0 .75rem;transition:all .3s ease}.wizard-step:hover{transform:translateY(-1px)}.step-circle{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;background:var(--bg-color);border:2px solid var(--border-color);color:var(--text-color-light);transition:all .3s ease;z-index:2}.wizard-step.active .step-circle{border-color:var(--accent-color);background:var(--accent-color);color:#fff;box-shadow:0 3px 8px rgba(var(--accent-rgb),.4)}.wizard-step.completed .step-circle{border-color:#22c55e;background:#22c55e;color:#fff}.step-name{margin-top:.25rem;font-size:.7rem;font-weight:500;color:var(--text-color-light);transition:color .3s ease}.wizard-step.active .step-name,.wizard-step.completed .step-name{color:var(--text-color);font-weight:600}.step-connector{position:absolute;top:18px;left:calc(50% + 18px);width:calc(100% - 36px + 1.5rem);height:2px;background:var(--border-color);z-index:1}.wizard-step.completed .step-connector{background:#22c55e}.wizard-body{flex:1;overflow-y:auto;padding:1.25rem 1.5rem;background:var(--bg-color);-webkit-overflow-scrolling:touch}.wizard-footer{padding:.75rem 1.5rem;background:var(--bg-color);border-top:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;box-shadow:0 -4px 15px #0000000d}.step-counter{color:var(--text-color-light);font-size:.85rem;font-weight:500}.wizard-form{display:flex;flex-direction:column;gap:1rem}.form-section{background:var(--bg-color-alt);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;margin-bottom:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:600;color:var(--text-color-light)}.form-group input,.form-group select,.form-group textarea{padding:.75rem 1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:10px;font-size:.95rem;transition:all .3s ease}.form-group input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1);outline:none}.category-card{background:var(--bg-color-alt);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1rem;transition:all .3s ease}.category-card:hover{border-color:var(--accent-color);background:rgba(var(--accent-rgb),.05)}.category-header{display:flex;align-items:center;gap:1rem;margin-bottom:.75rem}.category-number{background:var(--primary-color);color:#fff;padding:.3rem .6rem;border-radius:6px;font-size:.7rem;font-weight:700;letter-spacing:.5px}.category-header h4{margin:0;font-size:1rem;font-weight:600;color:var(--text-color)}.category-actions{margin-left:auto;display:flex;gap:.5rem}.btn-icon{background:var(--bg-color);border:1px solid var(--border-color);color:var(--primary-color);width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;font-size:1rem}.btn-icon:hover:not(:disabled){background:var(--bg-color-alt);border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-icon.danger{background:#fef2f2;border:1px solid #fee2e2;color:#ef4444}.btn-icon.danger:hover:not(:disabled){background:#fee2e2;border-color:#fecaca;color:#dc2626}.category-details{display:flex;gap:1.5rem;padding-top:.75rem;border-top:1px dashed var(--border-color)}.detail-item{font-size:.85rem;color:var(--text-color);display:flex;align-items:center;gap:.4rem}.detail-item label{color:var(--text-color-light);font-weight:500}@media(max-width:768px){.league-wizard-container{width:100%;height:100svh;border-radius:0}.wizard-footer{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.wizard-steps{padding:.5rem}.step-name{display:none}.wizard-body{padding:1.25rem}}.league-modal-form{background:#1e1e2e;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;width:90%;max-width:550px;box-shadow:0 20px 60px #00000080;animation:slideUpModal .3s ease}.league-modal-form .form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.league-modal-form .form-header h4{font-size:1.1rem;font-weight:600;color:#fff;margin:0}.league-modal-form .close-btn{background:transparent;border:none;color:#ffffff80;font-size:1.25rem;cursor:pointer;transition:all .2s ease}.league-modal-form .close-btn:hover{color:#fff}.league-modal-form .form-content{display:flex;flex-direction:column;gap:1.25rem}.league-modal-form .form-group label{font-size:.85rem;color:#fff!important;margin-bottom:.4rem;display:block;font-weight:500;text-align:left}.league-modal-form input[type=text],.league-modal-form input[type=number],.league-modal-form input[type=date],.league-modal-form select{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.9rem}.league-modal-form .form-actions-footer{display:grid;grid-template-columns:1fr 2fr;gap:.75rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.1)}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes slideUpModal{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.leagues-page{padding:1rem;max-width:1400px;margin:0 auto;width:100%}.leagues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;background:var(--bg-color-alt);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.leagues-header h1{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.leagues-table-container{background:var(--bg-secondary);border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden;margin-top:1rem;border:1px solid var(--border-color)}.leagues-table{width:100%;border-collapse:collapse}.leagues-table th,.leagues-table td{padding:1.25rem 1.5rem;text-align:left;border-bottom:1px solid var(--border-color)}.leagues-table th{background-color:var(--bg-color-alt);font-weight:600;color:#64748b;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em}.leagues-table tr:last-child td{border-bottom:none}.leagues-table tr:hover{background-color:rgba(var(--accent-rgb),.02)}.league-name-cell{display:flex;align-items:center;gap:1rem}.mini-logo{width:32px;height:32px;border-radius:8px;object-fit:contain;background:var(--bg-primary);padding:2px}.league-name{font-weight:700;color:var(--text-primary);font-size:.95rem}.actions-cell{display:flex;justify-content:center;gap:.5rem}.action-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:1px solid var(--border-color);cursor:pointer;transition:all .2s;background:var(--bg-secondary);color:var(--primary-color)}.action-btn:hover{transform:translateY(-2px);background:var(--bg-hover);border-color:var(--accent-color);color:var(--accent-color);box-shadow:0 4px 12px #0000001a}.action-btn.delete{background:#fef2f2;border-color:#fee2e2;color:#ef4444}.action-btn.delete:hover{background:#fee2e2;border-color:#fecaca;color:#dc2626}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#22c55e33;color:#22c55e}.status-badge.draft{background:#94a3b833;color:#94a3b8}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary)}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1rem}@media(max-width:1024px){.leagues-header{flex-direction:column;align-items:center;text-align:center;padding:1.5rem 1rem}.leagues-header h1{justify-content:center;width:100%}.leagues-header .btn-primary{width:100%;justify-content:center;margin-top:1rem}.leagues-table-container{background:transparent;border:none;box-shadow:none;overflow-x:hidden;margin:0;width:100%;box-sizing:border-box}.leagues-table{display:block;width:100%!important;border-collapse:separate!important;border-spacing:0!important;border:none!important}.leagues-table thead{display:none!important}.leagues-table tbody{display:block;width:100%}.leagues-table tr{display:block;background:var(--card-bg, #ffffff);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 2px 8px #0000000d;width:100%;box-sizing:border-box;overflow:hidden;position:relative}.leagues-table td{border:none;padding:.5rem 0;display:flex;justify-content:space-between;align-items:center;width:100%;box-sizing:border-box}.leagues-table td:before{content:attr(data-label);font-weight:700;text-transform:uppercase;font-size:.7rem;color:var(--text-color-light, #64748b);flex-shrink:0;margin-right:1rem}.leagues-table td.td-name{display:block;padding-top:0;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;text-align:left}.leagues-table td.td-name:before{content:"LIGA";display:block;margin-bottom:.25rem}.league-name-cell{display:flex;align-items:center;gap:.75rem;width:100%}.leagues-table .league-name{font-size:1.1rem;font-weight:700;color:#eab308;display:block;line-height:1.3;word-break:break-word;overflow-wrap:break-word}.text-right-mobile{text-align:right;display:flex;justify-content:flex-end;width:100%}.leagues-table td[data-label=Acciones]{margin-top:.5rem;padding-top:1rem;border-top:1px dashed var(--border-color);justify-content:center;gap:.75rem}.leagues-table td[data-label=Acciones]:before{display:none}.actions-cell{display:flex;justify-content:center;width:100%;gap:.75rem}.action-btn{width:40px;height:40px;background:var(--bg-color-alt, #f8fafc)}}.league-modal-form{background:#161625!important;border:1px solid rgba(255,255,255,.1);border-radius:20px!important;padding:2rem!important}.league-modal-form .form-header h4{font-size:1.25rem!important;font-weight:700!important}.league-modal-form .form-group label{color:#fff!important;font-size:.9rem!important;font-weight:600!important;margin-bottom:.75rem!important}.league-modal-form input,.league-modal-form select{background:#fff!important;border:1px solid #d1d5db!important;border-radius:8px!important;color:#1a1a1a!important;padding:.8rem 1rem!important;font-size:1rem!important}.league-modal-form .form-actions-footer{display:flex!important;justify-content:flex-end!important;gap:1rem!important;border-top:1px solid rgba(255,255,255,.1)!important;padding-top:1.5rem!important}.league-modal-form .btn-cancel{background:#ffffff0d!important;border:1px solid rgba(255,255,255,.2)!important;color:#fff!important;padding:.8rem 1.5rem!important;border-radius:12px!important;font-weight:600!important}.league-modal-form .btn-primary{background:#ffb400!important;color:#6a1b1b!important;border:none!important;padding:.8rem 2rem!important;border-radius:12px!important;font-weight:700!important;font-size:1rem!important;cursor:pointer!important;box-shadow:0 4px 15px #ffb4004d!important}.league-modal-form .close-btn{font-size:1.5rem!important;opacity:.7!important}.leagues-table td .leagues-actions{opacity:1!important;visibility:visible!important}.leagues-table .btn-icon{opacity:1!important;display:inline-flex!important}.text-center{text-align:center}.text-success{color:var(--success-color, #22c55e)}.text-danger{color:var(--danger-color, #ef4444)}.font-bold{font-weight:700}.league-detail-page-v2{min-height:100vh;background:var(--bg-color);color:var(--text-color)}.league-header-new{background:linear-gradient(135deg,var(--primary-color) 0%,#7a171a 100%);position:sticky;top:0;z-index:100;width:100%;color:#fff}.header-top-row{display:flex;align-items:center;padding:.75rem 1.5rem;gap:1.5rem;border-bottom:1px solid rgba(255,255,255,.1)}.btn-nav-transparent{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-nav-transparent:hover{background:#fff3}.header-title-section{display:flex;align-items:center;gap:1rem}.header-title-section h1{font-size:1.25rem;margin:0;font-weight:700}.season-badge{background:var(--accent-color);color:var(--primary-color);padding:.2rem .6rem;border-radius:4px;font-size:.75rem;font-weight:800}.header-tabs-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;gap:2rem;flex-wrap:wrap}.nav-selectors{display:flex;gap:1.5rem}.header-select-group{display:flex;align-items:center;gap:.75rem}.header-select-group label{font-size:.7rem;font-weight:800;color:#fff9;letter-spacing:1px}.header-select-group select{background:#fff;border:none;border-radius:6px;padding:.4rem .8rem;color:var(--primary-color);font-size:.85rem;font-weight:700;cursor:pointer;outline:none;min-width:140px}.header-view-tabs{display:flex;gap:.5rem;background:#0003;padding:.3rem;border-radius:10px}.header-tab{background:transparent;border:none;color:#ffffffb3;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s}.header-tab.active{background:var(--accent-color);color:var(--primary-color);box-shadow:0 2px 8px #0003}.league-content-v2{max-width:1400px;margin:2rem auto;padding:0 1.5rem}.card-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;padding:1.5rem;box-shadow:0 4px 15px #0000000d}.section-header h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:700}.table-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color)}.premium-table{width:100%;border-collapse:collapse}.premium-table th{background:var(--bg-hover);padding:1rem;font-size:.75rem;text-transform:uppercase;color:var(--text-secondary);border-bottom:1px solid var(--border-color)}.premium-table td{padding:1rem;border-bottom:1px solid var(--border-color)}.rank-badge{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;background:var(--bg-hover);font-weight:700;font-size:.85rem}.player-name{font-weight:600;color:var(--text-primary)}.player-info-cell{display:flex;align-items:center;gap:.5rem}.injury-tag{font-size:.6rem;background:#ef4444;color:#fff;padding:2px 6px;border-radius:4px;font-weight:700;flex-shrink:0}.matches-modern-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.match-card-v2{background:var(--bg-hover);border:1px solid var(--border-color);border-radius:12px;padding:1rem;transition:transform .2s}.match-card-v2:hover{transform:translateY(-3px);border-color:var(--accent-color)}.match-card-header{display:flex;justify-content:space-between;font-size:.7rem;color:var(--text-secondary);margin-bottom:.75rem;text-transform:uppercase}.match-actions{display:flex;align-items:center;gap:12px}.match-actions .btn-icon-small{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.match-actions .btn-icon-small:hover{background:#0000000d;color:var(--primary-color)}.match-actions .btn-icon-small.delete:hover{color:var(--danger-color);background:#dc35451a}.team-row{display:flex;justify-content:space-between;margin-bottom:.5rem}.team-score{background:var(--bg-secondary);width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:4px;font-weight:700}.is-winner .team-name{color:var(--text-primary);font-weight:700}.is-winner .team-score{background:var(--accent-color);color:var(--primary-color)}.league-sponsors-footer{margin-top:4rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:3rem 1.5rem;text-align:center}.footer-content p{font-size:.7rem;font-weight:800;letter-spacing:2px;color:var(--text-secondary);margin-bottom:2rem;opacity:.6}.animate-fade-in{animation:fadeIn .4s ease-out}.matrix-wrapper{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);margin-bottom:1.5rem;background:var(--bg-secondary)}.matrix-table{width:100%;border-collapse:collapse;font-size:.9rem}.matrix-corner{background:var(--bg-hover)!important;color:var(--text-secondary);font-size:.7rem;padding:1rem;border-bottom:2px solid var(--border-color);border-right:2px solid var(--border-color);position:sticky;left:0;z-index:10;text-transform:none}.matrix-header-col{background:var(--bg-hover);padding:.75rem 1rem;border-bottom:2px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:middle;text-align:center;min-width:100px;text-transform:none}.player-name-header{white-space:nowrap;font-size:.85rem;font-weight:700;color:var(--text-primary);margin:0 auto;overflow:hidden;text-overflow:ellipsis;max-width:150px;text-transform:none}.matrix-header-row{background:var(--bg-hover);padding:.75rem 1rem;border-bottom:1px solid var(--border-color);border-right:2px solid var(--border-color);position:sticky;left:0;z-index:5;white-space:nowrap;font-weight:700;color:var(--text-primary);font-size:.85rem;text-transform:none}.matrix-cell{text-align:center;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);transition:all .2s;font-size:.85rem}.matrix-cell.diagonal{background:var(--border-color);opacity:.3}.matrix-cell.empty{color:var(--text-secondary);opacity:.5}.matrix-cell.result{font-weight:700}.matrix-cell.result.win{background:#22c55e1a;color:#22c55e}.matrix-cell.result.loss{background:#ef44441a;color:#ef4444}.matrix-score-display{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.85rem;font-weight:700}.matrix-legend{display:flex;gap:1.5rem;padding:.5rem;font-size:.8rem;color:var(--text-secondary);justify-content:center}.legend-item{display:flex;align-items:center;gap:.5rem}.legend-box{width:12px;height:12px;border-radius:3px}.legend-box.win{background:#22c55e}.legend-box.loss{background:#ef4444}.legend-box.empty{background:var(--border-color)}.modal-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:1000;display:flex;align-items:center;justify-content:center;animation:fadeIn .2s ease}.modal-content-dark{background:#1e1e2e;padding:2rem;border-radius:12px;width:90%;max-width:550px;max-height:90vh;overflow-y:auto;border:1px solid rgba(255,255,255,.1);box-shadow:0 20px 60px #00000080;color:#fff;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header-dark{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}.modal-header-dark h2{color:#fff;margin:0;font-size:1.25rem}.btn-close-white{background:transparent;border:none;color:#fff9;cursor:pointer;transition:color .2s;padding:4px}.btn-close-white:hover{color:#fff}.form-group-dark{margin-bottom:1.25rem}.form-group-dark label{display:block;margin-bottom:.5rem;color:#fff;font-weight:500;font-size:.9rem}.input-dark,.select-dark{width:100%;padding:.75rem 1rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:.95rem;transition:border-color .2s}.input-dark:focus,.select-dark:focus{outline:none;border-color:var(--accent-color);background:#ffffff1a}.sets-grid{display:grid;gap:.75rem;background:#ffffff08;padding:1rem;border-radius:8px;margin-bottom:1.5rem}.set-row{display:grid;grid-template-columns:80px 1fr 1fr;gap:1rem;align-items:center}.set-label{color:#ffffffb3;font-weight:600;font-size:.9rem}.withdrawal-note{font-size:.85rem;color:#fff9;margin-top:1rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;line-height:1.4}@media(max-width:768px){.header-top-row{padding:.75rem 1rem}.header-tabs-row{padding:.75rem 1rem;flex-direction:column;align-items:stretch;gap:1rem}.nav-selectors{flex-direction:column;gap:.75rem}.header-select-group select{flex:1}.header-view-tabs{justify-content:center}.league-content-v2{padding:0 .5rem;margin-top:.5rem}.card-section{padding:.75rem;border-radius:10px}}@media(max-width:640px){.premium-table th,.premium-table td{padding:.6rem .2rem;font-size:.75rem}.player-name{max-width:90px}.premium-table th:nth-child(7),.premium-table td:nth-child(7),.premium-table th:nth-child(8),.premium-table td:nth-child(8){display:none}.player-name-header .full-name{display:none}.player-name-header .initials{display:inline-block;font-size:.75rem;font-weight:800;color:var(--accent-color)}.matrix-corner{padding:.4rem;min-width:40px!important;font-size:0}.matrix-corner:before{content:attr(data-mobile-text);font-size:.75rem;font-weight:800}.matrix-header-col,.matrix-cell{min-width:32px!important;padding:.4rem .1rem}.matrix-header-row{min-width:45px!important;max-width:65px!important;padding:.4rem}.player-name-full{font-size:.6rem;max-width:55px;display:block;overflow:hidden;text-overflow:ellipsis}.matrix-score-display{font-size:.65rem}}@media(max-width:400px){.premium-table th,.premium-table td{font-size:.7rem}.player-name{max-width:70px}.matrix-header-col,.matrix-cell{min-width:30px!important}.matrix-header-row{min-width:40px!important;max-width:60px!important}.player-name-full{max-width:50px;font-size:.55rem}}.digital-card-container{perspective:1000px;display:flex;justify-content:center;padding:20px}.digital-card{width:340px;min-height:230px;height:auto;background:linear-gradient(135deg,var(--card-primary) 0%,#000000 100%);border-radius:16px;box-shadow:0 10px 30px #0006;color:#fff;position:relative;overflow:hidden;display:flex;flex-direction:column;font-family:Inter,sans-serif;transition:transform .3s ease}.digital-card:hover{transform:translateY(-5px) scale(1.02)}.digital-card:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:#ffffff1a;border-radius:50%}.digital-card:after{content:"";position:absolute;bottom:-30px;left:-30px;width:100px;height:100px;background:#ffffff0d;border-radius:50%}.card-header{padding:15px 20px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.1);background:#0003}.card-logo{width:32px;height:32px;object-fit:contain;background:#fff;border-radius:50%;padding:2px}.card-club-name{font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.card-body{flex:1;padding:15px 20px;display:flex;gap:15px;align-items:center}.card-photo-wrapper{flex-shrink:0}.card-photo{width:80px;height:80px;border-radius:12px;object-fit:cover;border:2px solid white;box-shadow:0 4px 8px #0000004d;background:#fff}.card-photo-placeholder{width:80px;height:80px;border-radius:12px;background:#fff3;border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:#fff}.card-info{flex:1;display:flex;flex-direction:column;gap:4px}.card-member-name{font-size:1.1rem;font-weight:800;margin:0 0 4px;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.5);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-detail-row{display:flex;gap:8px;align-items:center;font-size:.8rem}.card-label{opacity:.7;font-size:.7rem;text-transform:uppercase;min-width:45px}.card-value{font-weight:600}.card-value.number{font-family:monospace;font-size:.9rem;letter-spacing:1px}.card-value.badge{background:#fff3;padding:1px 6px;border-radius:4px;font-size:.65rem}.card-status-row{margin-top:6px;display:flex;gap:8px}.status-badge{font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:10px;text-transform:uppercase}.status-badge.active{background:#22c55e;color:#fff;box-shadow:0 2px 5px #22c55e66}.status-badge.inactive{background:#ef4444;color:#fff}.payment-badge{font-size:.65rem;font-weight:800;padding:2px 8px;border-radius:10px;border:1px solid rgba(255,255,255,.4)}.payment-badge.paid{background:#ffffffe6;color:var(--card-primary)}.payment-badge.unpaid{background:transparent;color:#fca5a5;border-color:#fca5a5}.card-footer{padding:8px 20px;background:#0006;text-align:right;font-size:.7rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;opacity:.8}.profile-page{text-align:center}.profile-card{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.profile-photo-large{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-bottom:var(--spacing-md);border:4px solid var(--primary-color)}.profile-name{margin-bottom:4px}.profile-role{color:var(--primary-color);font-weight:700;text-transform:uppercase;font-size:.9rem}.profile-number{color:var(--text-color-light);font-size:.85rem}.profile-settings{text-align:left;margin-bottom:var(--spacing-xl)}.profile-settings h3{font-size:.9rem;color:var(--text-color-light);margin-bottom:var(--spacing-sm);padding-left:var(--spacing-sm)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) 0}.setting-item:not(:last-child){border-bottom:1px solid var(--border-color)}.toggle-switch{width:50px;height:26px;background-color:var(--border-color);border-radius:13px;position:relative;transition:background-color var(--transition-normal)}.toggle-switch.on{background-color:var(--success-color)}.switch-knob{width:22px;height:22px;background-color:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform var(--transition-normal)}.toggle-switch.on .switch-knob{transform:translate(24px)}.logout-btn{width:100%;margin-bottom:var(--spacing-xl);color:var(--danger-color);border-color:var(--danger-color)}.app-info{color:var(--text-color-light);font-size:.8rem;margin-bottom:var(--spacing-xl)}.login-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-color);padding:var(--spacing-md)}.login-card{background-color:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;border:1px solid var(--border-color)}.login-header{text-align:center;margin-bottom:var(--spacing-xl)}.login-header h2{color:var(--primary-color);margin-bottom:var(--spacing-xs)}.login-header p{color:var(--text-color-light)}.login-form .form-group{margin-bottom:var(--spacing-md)}.login-error{background-color:#ff3b301a;color:var(--danger-color);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);text-align:center;font-size:.9rem}.btn-block{width:100%;justify-content:center;padding:var(--spacing-md);font-size:1rem}.register-container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;background-color:var(--bg-color);padding:var(--spacing-xl) var(--spacing-md)}.register-card{background-color:var(--card-bg);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:480px;border:1px solid var(--border-color)}.register-header{text-align:center;margin-bottom:var(--spacing-xl)}.register-header h2{color:var(--primary-color);margin-bottom:var(--spacing-xs);font-size:1.8rem}.register-header p{color:var(--text-color-light)}.register-form .form-group{margin-bottom:var(--spacing-md)}.register-form label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;font-size:.9rem;color:var(--text-color)}.register-form input,.register-form select{width:100%;padding:.8rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-color);color:var(--text-color);font-size:1rem;transition:all .2s ease}.register-form input:focus{border-color:var(--primary-color);outline:none;box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.password-requirements{margin-top:var(--spacing-xs);font-size:.8rem;color:var(--text-color-light);line-height:1.4;background:var(--bg-color-alt);padding:var(--spacing-sm);border-radius:var(--radius-sm);border:1px dashed var(--border-color)}.requirement{display:block;margin-bottom:2px}.requirement.met{color:#22c55e}.register-error{background-color:#ff3b301a;color:var(--danger-color);padding:var(--spacing-sm);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);text-align:center;font-size:.9rem}.register-footer{margin-top:var(--spacing-xl);text-align:center;font-size:.9rem;color:var(--text-color-light)}.register-footer a{color:var(--primary-color);text-decoration:none;font-weight:600}.register-footer a:hover{text-decoration:underline}.btn-register{width:100%;display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm);padding:1rem;font-size:1rem;font-weight:600;margin-top:var(--spacing-lg)}@media(max-width:480px){.register-card{padding:var(--spacing-lg)}.register-header h2{font-size:1.5rem}}.tournament-public-page{min-height:100vh;background:var(--bg-color);color:var(--text-color);width:100%}.public-page-header{background:linear-gradient(135deg,var(--primary-color) 0%,#7a171a 100%)!important;border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:1000;display:flex!important;flex-direction:column!important;width:100%;padding-top:env(safe-area-inset-top)}.public-page-header .header-top-row{width:100%!important;border-bottom:1px solid rgba(255,255,255,.05);min-height:36px!important;display:flex!important;flex-direction:row!important;align-items:center!important;padding:0;justify-content:flex-start!important}.public-page-header .header-content{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;justify-content:space-between!important;align-items:center!important;width:100%!important;max-width:1400px!important;margin:0 auto!important;padding:0 1.5rem!important;box-sizing:border-box!important;gap:1rem!important}.public-page-header .header-tournament-name{font-size:.95rem!important;font-weight:700!important;color:#fff!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;display:block!important;flex:1!important;min-width:0!important;max-width:calc(100% - 150px)!important;text-align:left!important}.public-page-header .header-actions{margin-left:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;flex-shrink:0!important;justify-content:flex-end!important;color:#fff!important}.public-page-header .user-nav{display:flex;align-items:center;gap:1rem;color:#fff!important}.public-page-header .user-info{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:#fff!important}.public-page-header .user-info svg{stroke:#fff!important;color:#fff!important}.public-page-header .header-logout-btn{display:flex!important;align-items:center!important;justify-content:center!important;gap:.4rem!important;padding:.3rem .6rem!important;background:transparent!important;color:#fff!important;border:1px solid rgba(255,255,255,.3)!important;border-radius:6px!important;font-size:.75rem!important;font-weight:600!important;cursor:pointer!important;transition:all .2s ease!important}.public-page-header .header-logout-btn:hover{background:#ffffff1a!important;border-color:#fff!important}.public-page-header .header-logout-btn svg{stroke:#fff!important;color:#fff!important}.public-page-header .header-login-btn{display:inline-flex!important;align-items:center!important;gap:.3rem!important;padding:.4rem .8rem!important;background-color:#ffffff1a!important;color:#fff!important;text-decoration:none!important;border-radius:6px!important;font-weight:600!important;font-size:.8rem!important;transition:all .2s ease!important;border:1px solid rgba(255,255,255,.3)!important}.public-page-header .header-tabs-row{width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem .25rem;box-sizing:border-box}.public-page-header .tabs-container{display:flex;align-items:center;gap:.8rem;overflow-x:auto;scrollbar-width:none}.public-page-header .tabs-container::-webkit-scrollbar{display:none}.public-page-header .category-tab{padding:0 1rem;height:34px;border-radius:8px;font-size:.85rem;font-weight:600;white-space:nowrap;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:var(--primary-color);border:1px solid rgba(0,0,0,.05);cursor:pointer;box-sizing:border-box}.public-page-header .category-tab.active{background:var(--accent-color);color:var(--primary-color);border-color:var(--accent-color);box-shadow:0 4px 12px rgba(var(--accent-rgb),.3)}.public-page-header .category-tab.info-tab{min-width:80px}@media(max-width:768px){.public-page-header .header-top-row{min-height:38px!important}.public-page-header .header-content{padding:0 .75rem!important;gap:.5rem!important;justify-content:space-between!important}.public-page-header .header-tournament-name{font-size:.85rem!important;display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;flex:1!important;min-width:0!important;max-width:calc(100% - 80px)!important;text-align:left!important}.public-page-header .header-actions{margin-left:auto!important;flex-shrink:0!important}.public-page-header .user-info svg,.public-page-header .header-logout-btn svg{stroke:#fff!important}.public-page-header .user-name,.public-page-header .logout-text{display:none!important}.public-page-header .user-nav{gap:.4rem!important}.public-page-header .header-logout-btn{width:32px!important;height:32px!important;padding:0!important;background:transparent!important;border:1px solid rgba(255,255,255,.4)!important}.public-page-header .header-tabs-row{padding:0 .75rem .25rem!important;margin-top:-1px!important}.public-page-header .category-tab{height:30px!important;padding:0 .75rem!important;font-size:.8rem!important}}.public-container{width:100%;max-width:1400px;margin:0 auto;padding:0 1.5rem;box-sizing:border-box;overflow-x:hidden}:root{--referee-bg: #0f172a;--referee-card-bg: rgba(255, 255, 255, .05);--referee-accent: #3b82f6;--referee-text: #f8fafc;--referee-text-muted: #94a3b8;--referee-border: rgba(255, 255, 255, .1)}.match-referee-container{width:100%;height:100%;background-color:var(--referee-bg);color:var(--referee-text);font-family:Inter,sans-serif;display:flex;flex-direction:column}.referee-settings{padding:20px;height:100%;display:flex;flex-direction:column;gap:24px}.settings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.settings-header h2{font-size:1.25rem;font-weight:700}.settings-section h3{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--referee-text-muted);margin-bottom:16px;border-bottom:1px solid var(--referee-border);padding-bottom:8px}.player-config{display:flex;flex-direction:column;gap:16px}.player-row{display:flex;align-items:center;gap:12px;background:var(--referee-card-bg);padding:12px;border-radius:12px}.player-color-group{display:flex;flex-direction:column;gap:8px}.color-bubbles{display:flex;gap:6px}.color-bubble{width:20px;height:20px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:all .2s}.color-bubble.active{border-color:#fff;transform:scale(1.2);box-shadow:0 0 10px #ffffff4d}.player-row input{flex:1;background:transparent;border:none;color:#fff;font-size:1rem;outline:none}.handicap-control{display:flex;align-items:center;gap:8px}.handicap-control label{font-size:.7rem;color:var(--referee-text-muted)}.handicap-control button{width:28px;height:28px;border-radius:6px;background:#ffffff1a;border:none;color:#fff}.config-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-item{display:flex;flex-direction:column;gap:8px}.config-item label{font-size:.8rem;color:var(--referee-text-muted)}.counter,.options{display:flex;background:var(--referee-card-bg);border-radius:8px;overflow:hidden}.counter button,.options button{flex:1;padding:8px;background:transparent;border:none;color:#fff;cursor:pointer;font-size:.9rem;transition:all .2s}.counter span{flex:1;display:flex;align-items:center;justify-content:center;font-weight:600}.options button.active{background:var(--referee-accent)}.referee-warmup{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:space-around;padding:40px 20px;text-align:center}.warmup-timer{display:flex;flex-direction:column;align-items:center;gap:20px}.warmup-timer .time-display{font-size:5rem;font-weight:800;font-variant-numeric:tabular-nums;text-shadow:0 0 20px rgba(255,255,255,.1)}.btn-timer{width:64px;height:64px;border-radius:50%;background:var(--referee-accent);border:none;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 16px #0000004d}.who-serving-prompt h3{margin-bottom:24px;color:var(--referee-text-muted)}.serving-options{display:flex;gap:20px;margin-bottom:20px}.serving-options button{flex:1;display:flex;flex-direction:column;align-items:center;gap:12px;padding:24px;border-radius:20px;border:none;color:#fff;cursor:pointer;transition:transform .2s}.serving-options button:active{transform:scale(.95)}.referee-match-main{height:100%;display:flex;flex-direction:column}.match-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:#0003}.game-info{font-weight:600;color:var(--referee-accent)}.match-header-actions{display:flex;gap:12px}.btn-exit{padding:4px 12px;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:transparent;color:#fff;font-size:.8rem}.scoring-area{flex:1;display:flex;padding:20px;gap:10px;position:relative}.player-box{flex:1;display:flex;flex-direction:column;gap:20px;transition:opacity .3s}.player-box.serving{opacity:1}.player-box:not(.serving){opacity:.7}.player-header{display:flex;align-items:center;gap:12px}.p2 .player-header{justify-content:flex-end}.player-avatar{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid;background:#ffffff0d}.player-name{font-weight:600;font-size:.9rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-display{flex:1;background:var(--referee-card-bg);border-radius:24px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8rem;font-weight:900;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .2s}.score-display:active{background:#ffffff1a}.serving-side-badge{position:absolute;top:10px;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:800;box-shadow:0 4px 8px #0000004d;cursor:pointer;z-index:10}.serving-side-badge.side-L{left:10px}.serving-side-badge.side-R{right:10px}.serving-label{font-size:.8rem;font-weight:400;color:var(--referee-text-muted);position:absolute;bottom:20px}.rally-actions{display:flex;flex-direction:column;gap:8px}.rally-actions button{padding:12px;border-radius:12px;border:none;font-weight:700;font-size:.8rem;cursor:pointer}.btn-won{background:transparent;border:2px solid #fbbf24!important;color:#fbbf24}.btn-let{background:transparent;border:2px solid #64748b!important;color:#64748b}.btn-other{background:transparent;border:2px solid #f43f5e!important;color:#f43f5e}.history-center{width:4px;position:relative;display:flex;flex-direction:column;align-items:center;margin:50px 40px 0;padding-top:0;overflow:visible}.history-line{display:block;position:absolute;top:30px;bottom:0;width:4px;background:#ffffff1a;left:50%;transform:translate(-50%);z-index:0}.center-game-info{position:absolute;top:-90px;left:50%;transform:translate(-50%);width:140px;background:var(--referee-card-bg);border:1px solid var(--referee-border);border-radius:12px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px;z-index:10;box-shadow:0 4px 6px #0000004d}.game-label{font-size:.8rem;color:var(--referee-text-muted);text-transform:uppercase}.games-score{font-size:1.5rem;font-weight:800;color:#fff}.history-start-dot{width:12px;height:12px;background:#eab308;border-radius:50%;margin-top:24px;margin-bottom:24px;flex-shrink:0;position:relative;z-index:1;box-shadow:0 0 0 4px #eab30866,0 0 0 8px #eab30833,0 0 0 12px #eab3081a}.history-points{width:100%;display:flex;flex-direction:column;gap:16px;padding-bottom:20px}.history-pt{position:relative;width:100%;height:10px;display:flex;align-items:center;justify-content:center}.pt-dot{width:12px;height:12px;border-radius:50%;background:var(--referee-bg);border:3px solid white;z-index:2}.pt-pill{position:absolute;top:50%;transform:translateY(-50%);padding:2px 10px;border-radius:12px;font-size:.85rem;font-weight:700;white-space:nowrap;box-shadow:0 2px 4px #0003}.history-pt.left .pt-pill{right:100%;margin-right:12px;border-top-right-radius:0;border-bottom-right-radius:0}.history-pt.right .pt-pill{left:100%;margin-left:12px;border-top-left-radius:0;border-bottom-left-radius:0}.side-selector-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#1e293b;padding:20px;border-radius:16px;z-index:10;text-align:center;box-shadow:0 0 40px #00000080;border:1px solid var(--referee-border);width:200px}.side-buttons{display:flex;gap:12px;margin-top:16px}.side-buttons button{flex:1;padding:16px;font-size:1.5rem;font-weight:800;border-radius:12px;background:var(--referee-accent);border:none;color:#fff}.match-footer{padding:16px 20px;background:#1e293b;border-top:1px solid rgba(255,255,255,.05);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.match-timers{display:flex;gap:32px;grid-column:1}.timer-box{display:flex;flex-direction:column}.timer-box .label{font-size:.65rem;color:var(--referee-text-muted)}.timer-box .value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:8px}.btn-mini-timer{background:transparent;border:none;color:var(--referee-text-muted)}.btn-undo{background:var(--referee-card-bg);border:1px solid var(--referee-border);color:#fff;padding:8px 16px;border-radius:8px;display:flex;align-items:center;gap:8px;font-weight:600}.centered-undo{grid-column:2}.referee-overlay{position:absolute;inset:0;background:#0f172af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:100;overflow-y:auto}.overlay-content{text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;padding:30px}.final-score{font-size:4rem;font-weight:900;display:flex;gap:20px}.rest-timer .time{font-size:2.5rem;font-weight:800}.match-summary{width:100%;background:var(--referee-card-bg);padding:20px;border-radius:16px;display:flex;flex-direction:column;gap:12px}.summary-row{display:flex;justify-content:space-between;gap:40px}.btn-icon{background:transparent;border:none;color:#fff;cursor:pointer}.btn-primary{background:var(--referee-accent);color:#fff;border:none;padding:12px 24px;border-radius:12px;font-weight:700;cursor:pointer}.scrollable{overflow-y:auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.overlay-content>*{animation:fadeIn .5s ease forwards}.color-picker-popover{position:absolute;top:50%;left:48px;transform:translateY(-50%);background:#1e293b;border:1px solid var(--referee-border);padding:12px;border-radius:16px;display:grid;grid-template-columns:repeat(7,1fr);gap:8px;z-index:50;box-shadow:0 10px 25px -5px #00000080;width:max-content}.player-config .player-row{position:relative;gap:16px}.color-bubble.small{width:24px;height:24px}.color-bubble.main-selector{width:32px;height:32px;border:2px solid rgba(255,255,255,.2);box-shadow:0 2px 4px #0003}.player-name-badge{padding:8px 16px;border-radius:8px;font-weight:700;font-size:1.1rem;text-transform:uppercase;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;min-width:120px;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-info-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--referee-text-secondary);font-size:.9rem;gap:4px}.games-score-footer{color:#fff;font-weight:700;font-size:1.1rem}@media(max-width:768px)and (orientation:portrait){.match-header{padding:10px}.match-header-actions button{padding:4px 8px}.scoring-area{padding:10px 5px;gap:0;min-height:0;overflow:hidden}.player-box{justify-content:flex-start;gap:8px}.player-header{justify-content:center;margin-bottom:20px}.p2 .player-header{justify-content:center}.player-name-badge{font-size:.85rem;min-width:unset;width:100%;max-width:120px;padding:6px 8px}.score-display{font-size:6.25rem;line-height:.9;flex:0 0 auto;width:auto;min-width:80px;background:transparent!important;border-radius:0;align-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding-bottom:15px;margin-bottom:30px;margin-top:60px}.serving-label{font-size:.6rem;position:absolute;bottom:-16px;width:100%;text-align:center;opacity:.8}.history-center{margin:60px 4px 0;width:100px;overflow-y:scroll;height:100%;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:40px;position:relative;z-index:5}.history-center::-webkit-scrollbar{display:none}.center-game-info{top:-65px;width:100px;padding:4px}.game-label{font-size:.6rem}.games-score{font-size:1.1rem}.serving-side-badge{width:28px;height:28px;font-size:.9rem;top:-50px}.serving-side-badge.side-L{left:-20px}.serving-side-badge.side-R{right:-20px}.match-footer{padding:8px;display:grid;grid-template-columns:1fr auto 1fr;grid-template-areas:"undo undo undo" "gametime centerinfo matchtime";gap:8px;align-items:end}.match-timers{display:contents}.match-timers .timer-box:first-child{grid-area:matchtime;align-items:flex-end;justify-self:end;text-align:right}.match-timers .timer-box:last-child{grid-area:gametime;align-items:flex-start;justify-self:start;text-align:left}.timer-box .label{font-size:.6rem;opacity:.7}.timer-box .value{font-size:.9rem;font-variant-numeric:tabular-nums}.centered-undo{grid-area:undo;width:100%;justify-content:center;margin-bottom:2px;padding:8px;height:36px}.match-info-footer{grid-area:centerinfo;display:flex;flex-direction:column;align-items:center;justify-content:center;width:auto;margin:0;line-height:1.1}.game-label{font-size:.7rem;margin-bottom:2px}.games-score-footer{font-size:.9rem;white-space:nowrap}.pt-pill{padding:1px 6px;font-size:.7rem}.history-pt.right .pt-pill{left:50%;margin-left:8px;right:auto;border-top-left-radius:0;border-bottom-left-radius:0}.history-pt.left .pt-pill{right:50%;margin-right:8px;left:auto;border-top-right-radius:0;border-bottom-right-radius:0}.special-event-pill{padding:1px 6px;font-size:.65rem}.special-event-row.left .special-event-pill{right:50%;margin-right:8px;left:auto;border-top-right-radius:0;border-bottom-right-radius:0}.special-event-row.right .special-event-pill{left:50%;margin-left:8px;right:auto;border-top-left-radius:0;border-bottom-left-radius:0}}.player-actions{margin-top:auto;display:flex;flex-direction:column;gap:12px;width:100%;padding:0 10px;margin-bottom:10px}.btn-action{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-radius:8px;border:none;font-weight:600;cursor:pointer;width:100%;transition:all .2s;font-size:.9rem;color:#1e293b}.btn-let{background-color:var(--warning-bg-subtle, #fef9c3);color:var(--warning-text, #854d0e)}.btn-retire{background-color:var(--error-bg-subtle, #fee2e2);color:var(--error-text, #991b1b)}.special-event-row{width:100%;display:flex;align-items:center;margin:0;position:relative;height:30px}.special-event-pill{position:absolute;top:50%;transform:translateY(-50%);padding:2px 10px;border-radius:12px;font-size:.75rem;font-weight:800;white-space:nowrap;background:transparent;border:1.5px solid #fbbf24;color:#fbbf24;text-transform:uppercase;z-index:5}.special-event-row.left .special-event-pill{right:16px;border-top-right-radius:0;border-bottom-right-radius:0}.special-event-row.right .special-event-pill{left:16px;border-top-left-radius:0;border-bottom-left-radius:0}.let-menu-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:3000}.let-menu-content{background:#1e293b;padding:24px;border-radius:16px;width:90%;max-width:400px;display:flex;flex-direction:column;gap:16px;text-align:center;color:#fff}.let-menu-content h3{margin:0;font-size:1.2rem;color:#fff}.let-options{display:grid;grid-template-columns:1fr;gap:12px}.let-options .btn-let{padding:16px;font-size:1.1rem;color:#fff}.btn-let.no-let{background:#ef4444}.btn-let.yes-let{background:#3b82f6}.btn-let.stroke{background:#10b981}.btn-let-cancel{background:transparent;border:1px solid #475569;padding:12px;border-radius:8px;color:#94a3b8;cursor:pointer}.match-over-summary{max-width:500px!important;text-align:center;padding:1.5rem 2rem!important;max-height:90vh;overflow-y:auto;scrollbar-width:thin}.match-winner{margin-bottom:1rem;font-size:1rem}.match-winner strong{display:block;font-size:1.5rem;margin-top:.25rem}.final-games-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#ffffff0d;border-radius:12px}.game-count{font-size:3rem;font-weight:800}.game-label{font-size:.9rem;text-transform:uppercase;opacity:.6;letter-spacing:2px}.stats-grid{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:1rem}.stat-item{display:flex;align-items:center;justify-content:space-around;padding:.75rem;background:#ffffff08;border-radius:8px}.stat-value{font-size:1.2rem;font-weight:700}.stat-label{font-size:.75rem;text-transform:uppercase;opacity:.5}.game-history-list{text-align:left;margin-bottom:1rem}.game-history-list h4{margin-bottom:1rem;opacity:.7;font-size:.9rem;text-transform:uppercase}.game-history-list .history-table{width:100%;display:flex;flex-direction:column}.history-header{display:flex;justify-content:space-between;padding:.5rem .75rem;font-size:.75rem;text-transform:uppercase;opacity:.5;background:#ffffff0d;border-radius:4px}.history-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid rgba(255,255,255,.05)}.history-row span:first-child{flex:1;font-size:.9rem;opacity:.8}.history-row strong{flex:1;text-align:center;font-size:1.1rem;color:var(--referee-accent)}.history-row .duration{flex:1;text-align:right;font-size:.85rem;font-family:monospace;opacity:.6}.summary-actions{margin-top:1rem}@media screen and (orientation:landscape)and (max-height:900px){.match-referee-container{height:100dvh;min-height:100%;overflow-y:auto;display:flex;flex-direction:column;-webkit-overflow-scrolling:touch}.match-header{padding:4px 20px;height:auto;min-height:30px;flex-shrink:0}.match-header h2{font-size:.9rem;margin:0}.match-header-actions button{padding:2px 8px;font-size:.75rem}.scoring-area{flex:1;padding:5px 10px;gap:10px;min-height:200px;align-items:stretch;overflow:visible;height:auto}.player-box{gap:8px;height:auto;display:flex;flex-direction:column;justify-content:flex-start;position:relative;padding-bottom:25px}.player-header{flex-shrink:0;margin-bottom:5px;z-index:10;display:flex;justify-content:center;width:100%}.player-name-badge{padding:4px 10px;font-size:.85rem}.score-display{flex:1;min-height:120px;width:100%;font-size:7rem;border-radius:0!important;background:transparent!important;box-shadow:none!important;border:none!important;line-height:.9;display:flex;flex-direction:column;justify-content:center;padding-bottom:20px}.serving-label{font-size:.7rem;bottom:5px}.serving-side-badge{width:45px;height:45px;font-size:1.2rem;top:10px;position:absolute;z-index:20;cursor:pointer}.serving-side-badge.side-L{left:0}.serving-side-badge.side-R{right:0}.player-actions{flex-direction:row;gap:8px;margin-top:5px;flex-shrink:0;padding:0}.btn-action{flex:1;padding:8px 4px;font-size:.8rem;white-space:nowrap;height:36px}.history-center{margin:10px 10px 0;width:90px;height:100%;overflow-y:auto;scrollbar-width:none}.history-center::-webkit-scrollbar{display:none}.center-game-info{display:none}.match-footer{padding:4px 15px;height:auto;min-height:40px;flex-shrink:0;gap:12px;flex-direction:row;align-items:center;background:#1e293b;margin-top:10px}.match-timers{gap:12px}.timer-box{display:flex;flex-direction:row;align-items:center;gap:6px}.timer-box .label{display:block;font-size:.7rem;opacity:.7;text-transform:uppercase}.timer-box .value{font-size:1rem;font-weight:600}.btn-mini-timer{padding:3px}.btn-undo{padding:4px 10px;font-size:.8rem;height:auto}.match-info-footer{flex-direction:row;gap:10px;font-size:.8rem;align-items:center}.games-score-footer{font-size:1rem}.game-label{font-size:.7rem}.history-pt.left .pt-pill{right:50%;margin-right:4px;left:auto;border-radius:8px 0 0 8px}.history-pt.right .pt-pill{left:50%;margin-left:4px;right:auto;border-radius:0 8px 8px 0}.pt-pill{padding:1px 4px;font-size:.65rem}}.match-referee-page{width:100%;height:100vh;height:100dvh;background-color:#000;color:#fff;overflow:hidden;position:fixed;top:0;left:0;z-index:1000}.referee-loading,.referee-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background:#111;color:#fff}.referee-loading .spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid var(--primary-color, #e31e24);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.referee-error .icon{font-size:3rem;margin-bottom:1rem}.referee-error h2{margin-bottom:1.5rem;font-size:1.2rem}.referee-error button{padding:.8rem 2rem;background:var(--primary-color, #e31e24);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer}.referee-dashboard{padding:24px;max-width:1200px;margin:0 auto;color:var(--text-primary)}.dashboard-info{margin-bottom:2rem;color:var(--text-secondary)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1.5rem;background:var(--bg-color-alt);border-radius:12px;border:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.matches-list-section h2{font-size:1.5rem;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.empty-state{text-align:center;padding:40px;background:var(--bg-card);border-radius:12px;color:var(--text-secondary)}.matches-grid{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-card)}.ref-match-card{background:var(--bg-card);border:none;border-bottom:1px solid var(--border-color);border-radius:0;padding:8px 16px;cursor:pointer;transition:all .2s;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;min-height:48px}.ref-match-card:last-child{border-bottom:none}.ref-match-card:hover{background:var(--bg-hover)}.ref-match-header{display:flex;flex-direction:row;align-items:center;gap:12px;width:170px;flex-shrink:0}.match-date{font-size:.75rem;color:var(--text-secondary);opacity:.7;white-space:nowrap}.match-status-badge{padding:2px 6px;border-radius:4px;font-size:.65rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.match-status-badge.completed{background:#dcfce7;color:#166534}.match-status-badge.setup,.match-status-badge.match,.match-status-badge.warmup{background:#3b82f61a;color:#3b82f6}.ref-match-players{display:flex;flex-direction:row;flex:1;justify-content:center;align-items:center;gap:0;padding:0;margin:0}.ref-player-row{flex:1;display:flex;align-items:center;gap:10px;min-width:0;margin:0;padding:0}.ref-player-row.p1{justify-content:flex-end}.ref-player-row.p2{justify-content:flex-start}.ref-player-row .p-name{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-primary)}.ref-player-row .p-score{font-weight:800;font-size:.95rem;background:#3b82f61a;color:#3b82f6;padding:2px 8px;border-radius:4px;min-width:32px;text-align:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.vs-divider{font-size:.75rem;font-weight:700;color:var(--text-secondary);opacity:.4;width:40px;text-align:center;flex-shrink:0}.ref-match-footer{display:flex;align-items:center;width:170px;flex-shrink:0;justify-content:flex-end}.footer-actions{display:flex;align-items:center;gap:12px}.btn-delete-match{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center;opacity:.4}.btn-delete-match:hover{background:#ef44441a;color:#ef4444;opacity:1}.action-text{display:flex;align-items:center;gap:4px;font-size:.85rem;font-weight:600;color:var(--primary-color)}.spinner{width:30px;height:30px;border:3px solid rgba(0,0,0,.1);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.ref-match-card{flex-direction:column;align-items:stretch;padding:12px;gap:8px}.ref-match-header,.ref-match-footer{width:100%;justify-content:space-between}.ref-match-header{padding-bottom:4px;border-bottom:1px solid var(--border-color);margin-bottom:4px;opacity:.8}.ref-match-footer{padding-top:4px;border-top:1px solid var(--border-color);margin-top:4px}.ref-match-players{padding:8px 0}.ref-player-row .p-name{font-size:.85rem}.vs-divider{width:30px}}.normativas-page{padding:1rem;max-width:1200px;margin:0 auto}.page-header{margin-bottom:2rem;padding:1.5rem;background:var(--bg-color-alt);border-radius:12px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;gap:1rem}.normativas-page .header-content{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;width:100%}.normativas-page .header-content>div:first-child{flex:1}.normativas-page .header-actions{display:flex;align-items:center;gap:.75rem}.error-banner{background:#ef44441a;border:1px solid #ef4444;color:#ef4444;padding:1rem;border-radius:12px;margin-bottom:2rem;display:flex;flex-direction:column;align-items:center;text-align:center}.error-banner p{margin:.5rem 0;font-weight:500}.btn-small{padding:.4rem .8rem;font-size:.85rem;background:#ef4444;color:#fff;border:none;border-radius:6px;cursor:pointer}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.page-header h1{font-size:2rem;color:var(--text-color);margin-bottom:.5rem}.page-header p{color:var(--text-color-light);font-size:1.1rem}.normativas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.normativa-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;height:100%;position:relative;overflow:hidden}.normativa-card .admin-actions{position:absolute;top:10px;right:10px;display:flex;gap:.5rem;opacity:0;transition:opacity .2s ease;z-index:2}.normativa-card:hover .admin-actions{opacity:1}.icon-btn{width:30px;height:30px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--bg-color-alt);color:var(--text-color);box-shadow:0 2px 5px #0003}.icon-btn.edit-btn:hover{background:var(--accent-color);color:#fff}.icon-btn.delete-btn:hover{background:#ef4444;color:#fff}.normativa-card:hover{transform:translateY(-5px);box-shadow:0 10px 20px #0000001a;border-color:var(--accent-color)}.card-icon{font-size:2.5rem;margin-bottom:1rem}.card-content h3{font-size:1.25rem;color:var(--text-color);margin-bottom:.5rem;font-weight:600}.card-content p{color:var(--text-color-light);font-size:.95rem;margin-bottom:1rem;line-height:1.5;flex-grow:1}.card-date{font-size:.8rem;color:var(--text-color-light);opacity:.7;margin-top:auto;display:block}.card-action{margin-top:1rem;padding-top:1rem;border-top:1px dashed var(--border-color);color:var(--accent-color);font-weight:500;font-size:.9rem;display:flex;justify-content:flex-end}.normativa-card:hover .card-action{text-decoration:underline}.normativa-modal-overlay{position:fixed;inset:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn .2s ease}.normativa-modal{background:var(--card-bg);border-radius:16px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;border:1px solid var(--border-color);animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.5rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.5rem;color:var(--text-color)}.close-btn{background:transparent;border:none;font-size:2rem;color:var(--text-color-light);cursor:pointer;line-height:1;padding:0 .5rem}.close-btn:hover{color:var(--text-color)}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.normativa-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed var(--border-color);color:var(--text-color-light);font-size:.9rem}.badge{background:rgba(var(--accent-rgb),.1);color:var(--accent-color);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.normativa-text{color:var(--text-color);line-height:1.7;font-size:1rem}.normativa-text h3{margin-top:1.5rem;margin-bottom:.75rem;color:var(--accent-color);font-size:1.2rem}.normativa-text p{margin-bottom:1rem}.modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;background:var(--bg-color-alt);border-bottom-left-radius:16px;border-bottom-right-radius:16px;gap:1rem}.normativa-form{display:flex;flex-direction:column;flex:1;overflow:hidden}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--text-color);font-size:.95rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;background:var(--bg-color-alt);border:1px solid var(--border-color);border-radius:8px;color:var(--text-color);font-size:1rem;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}.form-group textarea{resize:vertical;min-height:200px;font-family:inherit}.help-text{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-color-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.page-header{padding:1.5rem 1rem}.normativas-page .header-content{flex-direction:column;align-items:center;text-align:center}.normativas-page .header-actions{width:100%;justify-content:center;margin-top:1rem}.header-actions .btn-primary,.header-actions .btn-secondary{width:100%;justify-content:center}.page-header h1{font-size:1.5rem;text-align:center}.page-header p{font-size:.95rem;text-align:center}.normativa-modal{height:100%;max-height:100vh;border-radius:0}.modal-footer{border-radius:0}}.privacy-page{max-width:1400px;margin:0 auto;padding:.5rem;width:100%;color:var(--text-primary);line-height:1.6}.privacy-page h1{font-size:1.75rem;font-weight:700;margin-bottom:0;color:var(--text-primary);text-align:left}.privacy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;background:var(--bg-color-alt);border-radius:12px;padding:1.5rem;border:1px solid var(--border-color)}.privacy-section{background:var(--card-bg);padding:2rem;border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);margin-bottom:2rem}.privacy-section p{margin-bottom:1.5rem;font-size:1rem;text-align:left}.privacy-section h2{font-size:1.25rem;margin-top:2rem;margin-bottom:1rem;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:.5rem}.privacy-rights-list{display:grid;gap:1.5rem;margin:2rem 0}.right-item{background:var(--bg-hover);padding:15px;border-radius:8px;border-left:4px solid var(--primary-color)}.right-item h3{font-size:1.1rem;margin-bottom:.5rem;color:var(--text-primary)}.right-item p{margin-bottom:0;font-size:.95rem;color:var(--text-secondary)}.legal-info{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color);font-size:.9rem;color:var(--text-secondary)}.contact-box{background:#3b82f61a;border:1px solid rgba(59,130,246,.2);padding:20px;border-radius:8px;margin:2rem 0}.back-button-container{margin-bottom:2rem}.btn-back{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1rem;display:flex;align-items:center;gap:8px;padding:8px 0;transition:color .2s}.btn-back:hover{color:var(--primary-color)}@media(max-width:768px){.privacy-page{padding:20px 16px}.privacy-header{flex-direction:column;align-items:center;text-align:center}.privacy-header h1{text-align:center;font-size:1.5rem}.privacy-header .btn-primary{width:100%;justify-content:center}.privacy-section{padding:20px}}.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);color:var(--text-color);padding:1rem 1.5rem;box-shadow:0 -4px 20px #00000026;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;z-index:9999;border-top:1px solid var(--accent-color);animation:slideUp .5s ease-out}.cookie-content{display:flex;align-items:center;gap:1rem;font-size:.9rem;line-height:1.4}.cookie-icon{font-size:1.5rem}.cookie-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .2s,background-color .2s}.cookie-btn:hover{transform:scale(1.05);filter:brightness(1.1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:600px){.cookie-banner{flex-direction:column;align-items:stretch;gap:1rem;text-align:center}.cookie-content{flex-direction:column;gap:.5rem}}
