@import url(https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.sidebar{background-color:#fff;box-shadow:2px 0 8px #0000001a;color:#333;flex-direction:column;overflow-x:visible;overflow-y:auto;padding-top:20px;transition:left .3s ease,width .2s ease;width:250px;z-index:1000}.sidebar,.sidebar-header{display:flex;position:relative}.sidebar-header{align-items:center;border-bottom:1px solid #eaeaea;justify-content:space-between;margin:0 15px 10px;padding:0 10px 15px}.sidebar-logo{color:#002855;display:block;font-size:26px;font-weight:700;padding:0 15px;text-decoration:none}.lang-switch{margin-left:auto;position:relative}.lang-trigger{align-items:center;background:#0000;border:none;border-radius:6px;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;padding:6px;transition:background-color .2s ease}.lang-trigger:hover{background-color:#f0f0f0}.lang-icon{font-size:16px}.lang-code{display:none}.lang-menu{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 2px 8px #0000001a;margin-top:6px;min-width:120px;position:absolute;right:0;top:100%;z-index:1000}.lang-item{background:none;border:none;color:#333;cursor:pointer;display:block;font-size:14px;padding:8px 12px;text-align:left;transition:background-color .2s ease;width:100%}.lang-item:hover{background-color:#f5f5f5}.logo-short,.sidebar.collapsed .lang-switch{display:none}.logo-full{display:inline}.sidebar-nav{display:flex;flex-direction:column;height:100%}.sidebar-nav>ul:first-child{flex-grow:1;list-style:none;margin:0;padding:0}.bottom-nav{list-style:none;margin:auto 0 0;padding:0 0 20px}.sidebar-nav li{margin-bottom:5px}.sidebar-nav .nav-link,.sidebar-nav .nav-link-wrapper{align-items:center;background:#0000;border:none;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:16px;font-weight:500;margin:0 15px;padding:12px 25px;position:relative;text-align:left;text-decoration:none;transition:background-color .2s ease,color .2s ease;white-space:nowrap;width:calc(100% - 30px)}.bottom-nav .nav-link,.bottom-nav .nav-link-wrapper{font-size:14px;margin:0 15px;padding:12px 25px;width:calc(100% - 30px)}.sidebar-nav .nav-link-wrapper:hover,.sidebar-nav .nav-link:hover{background-color:#f0f0f0;color:#002855}.sidebar-nav .nav-link.active{background-color:#002855;box-shadow:0 2px 8px #00000026;color:#fff;font-weight:600}.nav-icon{color:#777;font-size:20px;margin-right:14px;transition:color .2s ease}.sidebar-nav .nav-link.active .nav-icon{color:#fff}.has-submenu .dropdown-arrow{margin-left:auto;transition:transform .2s ease}.has-submenu.open .dropdown-arrow{transform:rotate(180deg)}.submenu{animation:fadeIn .25s ease-out forwards;border-left:2px solid #e0e0e0;list-style:none;margin:6px 0 8px 45px;padding:0 0 0 14px}.submenu li{margin-bottom:4px}.submenu-link{align-items:center;border-radius:6px;color:#666;display:flex;font-size:14px;gap:10px;padding:8px 10px;text-decoration:none;transition:background-color .2s ease,color .2s ease}.submenu-link:hover{background-color:#f5f5f5;color:#002855;margin-left:0;margin-right:15px;width:calc(100% - 15px)}.submenu .nav-icon{color:#888;font-size:16px;margin-right:10px}.submenu-link.active{background-color:#002855;color:#fff;font-weight:600;margin-left:0;margin-right:15px;width:calc(100% - 15px)}.submenu-link.active .nav-icon{color:#fff}.logout-button{align-items:center;background-color:initial;border:none;border-radius:8px;color:#d9534f;cursor:pointer;display:flex;font-size:16px;font-weight:500;margin:0 15px;padding:12px 25px;text-align:left;transition:background-color .2s ease,color .2s ease;width:calc(100% - 30px)}.logout-button .nav-icon{color:#d9534f;font-size:20px;margin-right:14px}.logout-button:hover{background-color:#ffeaea;color:#c9302c}.logout-button:hover .nav-icon{color:#c9302c}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-header{margin:0 15px 10px;padding:10px 10px 12px}.sidebar.collapsed .sidebar-logo{padding:0;text-align:center;width:100%}.sidebar.collapsed .logo-full{display:none}.sidebar.collapsed .logo-short{display:inline}.sidebar.collapsed .logout-button,.sidebar.collapsed .nav-link,.sidebar.collapsed .nav-link-wrapper{border-radius:12px;justify-content:center;margin:0 8px;padding:12px 0;width:calc(100% - 16px)}.sidebar.collapsed .nav-icon{margin-right:0}.sidebar.collapsed .dropdown-arrow,.sidebar.collapsed .logout-button span,.sidebar.collapsed .nav-link span,.sidebar.collapsed .nav-link-wrapper span{display:none}.sidebar.collapsed .submenu{display:none!important}@media (max-width:768px){.hide-on-mobile{display:none!important}.sidebar{left:0!important;width:100%!important}.sidebar.open{left:0}.sidebar-nav .nav-link,.sidebar-nav .nav-link-wrapper{border-radius:0;font-size:14px;margin:0;padding:15px 20px;width:100%}.bottom-nav .logout-button,.bottom-nav .nav-link,.bottom-nav .nav-link-wrapper{font-size:14px;margin:0;padding:15px 20px;width:100%}.sidebar-nav .nav-link.active{background-color:#002855;border-left:5px solid #4da8da;color:#fff}.submenu{margin-left:30px;padding-left:10px}.sidebar.collapsed{left:0;width:72px}}:root{--topbar-h:56px;--sidebar-w:250px;--sidebar-w-collapsed:72px}*,:after,:before{box-sizing:border-box}#root,body,html{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;color:#0f172a;font-family:Montserrat,sans-serif;margin:0;padding:0}.app-layout{background:#0000;display:grid;grid-template-columns:auto 1fr;grid-template-rows:1fr;height:100vh;overflow:hidden}.mobile-topbar{background:#fff;border-bottom:1px solid #eaeaea;display:none;height:56px;height:var(--topbar-h);left:0;position:fixed;right:0;top:0;z-index:1200}.mobile-topbar .topbar-inner{align-items:center;display:flex;height:100%;justify-content:space-between;padding:0 12px}.mobile-topbar .topbar-title{color:#002855;font-size:18px;font-weight:700;line-height:1;text-decoration:none}.mobile-topbar .topbar-title a{color:inherit;text-decoration:none}.topbar-actions{align-items:center;display:flex;gap:8px}.topbar-burger,.topbar-lang{align-items:center;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 6px #00000014;cursor:pointer;display:inline-flex;font-size:18px;justify-content:center;padding:8px 10px}.main-content{background-color:#f8f9fa;grid-column:2;grid-row:1;overflow:auto;transition:margin-left .2s ease,padding .2s ease}.overlay{background-color:#00000080;display:block;height:100%;left:0;position:fixed;top:0;transition:opacity .3s ease;width:100%;z-index:1250}.desktop-collapse-toggle{align-items:center;background:#fff;border:1px solid #e5e5e5;border-radius:50%;box-shadow:0 1px 4px #0000001a;cursor:pointer;display:flex;font-size:18px;height:36px;justify-content:center;left:238px;padding:0;position:fixed;top:50%;transform:translateY(-50%);transition:left .2s ease;width:36px;z-index:1200}.desktop-collapse-toggle.collapsed,.sidebar.collapsed~.desktop-collapse-toggle{left:60px;left:calc(var(--sidebar-w-collapsed) - 12px)}.hide-on-mobile{display:block}.main-content,.sidebar{-webkit-overflow-scrolling:touch}@media (max-width:768px){.app-layout{grid-template-columns:1fr;grid-template-rows:1fr}.mobile-topbar{display:block}.sidebar{background:#fff;border-bottom:1px solid #eaeaea;box-shadow:0 6px 20px #0000001f;grid-column:1;grid-row:1;height:auto;left:0;max-height:80vh;overflow:auto;padding-top:0;position:fixed;top:56px;top:var(--topbar-h);transform:translateY(-110%);transition:transform .28s ease;width:100%;z-index:1100}.sidebar-header,.sidebar-header:before,.sidebar:before{background:#0000!important;border:0!important;content:none!important;display:none!important;height:0!important;margin:0!important;padding:0!important}.sidebar .nav,.sidebar-nav{margin-top:0!important}.sidebar .nav-item:first-child,.sidebar .nav-link:first-child{border-top:0!important}.sidebar.open{transform:translateY(0)}.main-content{grid-column:1;grid-row:1;padding-top:56px;padding-top:var(--topbar-h)}.hide-on-mobile,.overlay{display:none!important}.desktop-collapse-toggle{display:none}.mobile-menu-toggle-fab{display:none!important}}.overlay.hidden{display:none}.create-league-container{align-items:center;background-color:#f8f9fa;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:0;width:100%}.create-league-form{background-color:#fff;border-radius:12px;box-shadow:0 4px 20px #00000014;margin:40px;max-width:700px;padding:40px;width:100%}.create-league-step{margin-bottom:30px}.create-league-container label{color:#333;display:block;font-size:1.2em;font-weight:600;margin-bottom:10px}.create-league-container input,.create-league-container select{border:1px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:16px;margin-bottom:15px;padding:12px 15px;transition:border-color .2s ease;width:100%}.create-league-container input:focus,.create-league-container select:focus{border-color:#4da8da;box-shadow:0 0 0 3px #4da8da1a;outline:none}.create-league-container .sport-option{border-radius:10px;cursor:pointer;margin:10px;overflow:hidden;text-align:center;transition:all .3s ease-in-out;width:250px}.create-league-container .sport-option img{height:auto;transition:all .3s ease-in-out;width:100%}.create-league-container .sport-option p{font-size:1.2em;margin-top:10px}.create-league-container .sport-option.selected{border:5px solid #4da8da}.create-league-container .sport-option.inactive img{filter:grayscale(100%);opacity:.6}.create-league-container .sport-option.active img{filter:none;opacity:1}.create-league-container .button-container{display:flex;gap:15px;justify-content:space-between;margin-top:30px}.create-league-container button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:12px 25px;transition:all .2s ease}.create-league-container button:not([type=button]),.create-league-container button[type=submit]{background-color:#4da8da;color:#fff}.create-league-container button:not([type=button]):hover,.create-league-container button[type=submit]:hover{background-color:#3a97c9}.create-league-container button[type=button]{background-color:#3a97c9;color:#fff}.create-league-container button[type=button]:hover{background-color:#2e87b8}.create-league-container button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6}.create-league-container button:disabled:hover{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;color:#721c24;margin-bottom:20px;padding:12px 15px}@media (max-width:768px){.create-league-container{padding:15px}.create-league-form{margin:10px;padding:20px}.create-league-container .button-container{flex-direction:column}.create-league-container button{width:100%}}.league-details-wrapper{animation:fadeIn .5s ease forwards;margin:0 auto;padding:20px 40px;width:100%}.matches-container.single-column{align-items:center;display:flex;flex-direction:column;gap:20px}.matches-container.two-columns{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.matches-container.two-columns .match-card{flex-basis:calc(50% - 20px);flex-grow:1;flex-shrink:1}.matches-container:not(.two-columns) .match-card{flex:1 1 100%}.league-header{align-items:center;display:flex;gap:20px;margin-bottom:20px}.league-header h2{color:#212529;margin:0}.header-left{gap:15px}.header-left,.header-right{align-items:center;display:flex}.header-right{position:relative}.back-link{align-items:center;border-radius:50%;color:#212529;display:inline-flex;font-weight:500;height:40px;justify-content:center;text-decoration:none;transition:all .3s ease;width:40px}.back-link:hover{background-color:#e0e0e0;color:#212529}.back-icon{font-size:20px;transition:transform .3s ease}.back-link:hover .back-icon{transform:translateX(-2px)}.tip-button:disabled{background-color:#ccc;cursor:not-allowed;opacity:.6;pointer-events:none}.ellipsis-icon{font-size:24px}.action-menu{margin-top:10px;min-width:180px}.action-menu-item{align-items:center;display:flex;gap:10px;padding:12px 15px}.action-menu-item.delete-item{color:#dc3545}.action-menu-item.delete-item:hover{background-color:#f8d7da}.menu-icon{font-size:16px;margin-right:5px}@media (max-width:1000px){.matches-container{align-items:center;display:flex;flex-direction:column}.matches-container.two-columns{align-items:center;display:flex!important;flex-direction:column}.back-to-leagues{margin-bottom:15px}.back-link{font-size:14px;padding:6px 10px}.league-details-wrapper{padding:15px}.matches-container{align-items:stretch!important}}@media (max-width:768px){.leagues-loading{min-height:40vh;padding:1rem}.loading-content{gap:1rem}.loading-text{font-size:1rem}.progress-percentage{font-size:.9rem}}.match-card{background:linear-gradient(145deg,#fff,#f9f9f9);border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin:20px auto;max-width:450px;padding:20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;width:100%}.match-card.with-animation{animation:fadeIn 1s ease forwards}.match-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px) scale(1.02)}.match-status-text{margin-top:8px}.match-status-not-started{border:2px solid #4da8da}.match-status-in-progress{border:2px solid #4caf50}.match-status-finished{border:2px solid #777;opacity:.8}.match-card.points-ten{animation:goldenGlow 2s ease-in-out infinite alternate;border:2px solid #e6b800;box-shadow:0 0 12px #ffd70099}.match-date{font-size:.85em;margin-bottom:8px}.prediction-percentage-line{align-items:center;display:flex;justify-content:space-between;line-height:1;margin-bottom:-25px}.percentage-slot{color:#333;display:flex;font-size:.8em;font-weight:700;height:1.5em;line-height:1.5em}.home-percentage-slot{flex:1 1;justify-content:flex-end}.draw-percentage-slot{justify-content:center;min-width:55px}.away-percentage-slot{flex:1 1;justify-content:flex-start}.away-percentage-slot .percentage-value,.home-percentage-slot .percentage-value{text-align:center;width:55px}.draw-percentage-slot .percentage-value{text-align:center}.score-line{justify-content:space-between;margin-bottom:5px}.score-line,.team-side{align-items:center;display:flex}.team-side{gap:10px}.home-side{justify-content:flex-end}.away-side{justify-content:flex-start}.team-block{align-items:center;display:flex;flex-direction:column;gap:2px}.team-name{font-size:.9em;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100px}.team-name-winner{font-weight:600}.team-name.clickable{color:inherit;cursor:pointer;text-decoration:none!important}.team-block.clickable:hover .team-name,.team-block.clickable:hover .team-name-winner,.team-name-winner.clickable:hover,.team-name.clickable:hover{color:#4da8da}.score-input{border:2px solid #4da8da;border-radius:4px;height:35px;margin-top:-4px;text-align:center;width:55px}.score-input.in-progress-input{background-color:#f8f8f8;border:2px solid #999!important;opacity:.6}.actual-score.in-progress-score{background-color:#eaffea;border:2px solid #4caf50!important;color:#1b5e20}.score-input.finished-input{background-color:#f2f2f2;border:1px solid #bbb!important;opacity:.7}.actual-score-center{align-items:center;display:flex;flex-direction:column;justify-content:center;min-width:55px}.actual-score{border:2px solid #bbb;border-radius:4px;font-size:1.2em;font-weight:700}.actual-score,.postponed-score{background:#f0f0f0;margin-top:30px;padding:4px 10px;width:fit-content}.postponed-score{border:1px solid #bbb;border-radius:4px;color:silver}.no-actual-score{color:#aaa;font-size:1.2em;padding:4px 10px;width:fit-content}.match-status-text{color:#666;display:block;font-size:.75em;line-height:1.2em;margin-top:4px;min-height:2.5em;text-align:center}.user-points-row{font-weight:700;margin-top:10px}.user-points-value{align-items:center;background:#e0f7e0;border:1px solid #9ad19a;border-radius:4px;color:#2f7a2f;cursor:pointer;display:inline-flex;justify-content:center;margin-left:5px;padding:2px 6px}.user-points-value.points-zero{background:#f8d7da;border-color:#f5c6cb;color:#721c24}.user-points-value.points-two{background:#d6e4ff;border-color:#4d73da;color:#1d3faa}.user-points-value.points-four-seven{background:#c2e6c2;border-color:#81c781;color:#1f5b1f}.user-points-value.points-ten{animation:goldenGlow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,gold,#ffed4a);border:2px solid #e6b800;box-shadow:0 2px 8px #ffd7004d;color:#b8860b;font-weight:700}@keyframes goldenGlow{0%{box-shadow:0 2px 8px #ffd7004d}to{box-shadow:0 4px 12px #ffd70099}}.points-row{display:flex;font-size:.9em;justify-content:space-around;margin-bottom:15px}.points-cell{text-align:center}.overtime-draw-checkbox{font-size:.75em;font-style:normal;margin-top:7px;text-align:center}.overtime-draw-checkbox.past{font-size:.75em;opacity:.5;text-align:center}.tip-button-row{margin-top:10px;text-align:center}.tip-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;line-height:1.2;min-height:32px;min-width:120px;padding:6px 12px;text-align:center;transition:background .3s;vertical-align:middle}.tip-button:hover{background:#218838}.tip-button.loading,.tip-button:disabled{background-color:#218838!important;cursor:not-allowed;opacity:.8}.tip-button-content{align-items:center;display:inline-flex;gap:8px;justify-content:center;width:100%}.button-spinner{animation:spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:#fff;display:inline-block;height:14px;width:14px}.blinking-minute{animation:blink 1s steps(2,start) infinite;display:inline-block}.points-tooltip-container{display:inline-block;position:relative}.points-tooltip{animation:tooltipFadeIn .3s ease-in-out forwards;background-color:#333;border-radius:6px;bottom:100%;box-shadow:0 4px 8px #0003;color:#fff;font-size:.8em;margin-bottom:8px;opacity:0;padding:8px 12px;white-space:nowrap;z-index:1000}.points-tooltip,.points-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.points-tooltip:after{border:5px solid #0000;border-top-color:#333;content:"";top:100%}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-5px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}@media (max-width:1000px){.points-tooltip{font-size:.7em;max-width:200px;padding:6px 10px;text-align:center;white-space:normal}.points-tooltip-container{position:relative}}@keyframes blink{to{visibility:hidden}}.match-card.loading{opacity:.9;pointer-events:auto}.score-input:disabled{background-color:#f5f5f5;border-color:#ddd}.overtime-draw-checkbox input:disabled,.score-input:disabled{cursor:not-allowed;opacity:.6}.overtime-draw-checkbox label{cursor:pointer}.overtime-draw-checkbox input:disabled+label{cursor:not-allowed;opacity:.6}.team-block:not(.clickable){cursor:default;opacity:.8}.tip-button.loading{display:inline-block}.match-card.loading .team-badge,.match-card.loading .team-name{opacity:.9}body.submitting-all-predictions{cursor:wait}.submitting-all-predictions .match-card:not(.loading){opacity:.7}.submitting-all-predictions .match-card.loading{border:2px solid #90ee90;opacity:1}@media (max-width:1000px){.match-card{flex:1 1 100%;margin:8px auto;max-width:98vw;padding:10px;width:100%}.score-line{grid-gap:0;align-items:center;display:grid;gap:0;grid-template-columns:1fr auto 1fr;text-align:center}.team-side{flex-direction:row;gap:15px;justify-content:center}.match-card .score-input{align-self:center;font-size:.9em!important;height:auto;line-height:1;margin:0;padding:4px!important;width:38px}.actual-score-center{align-items:center;justify-content:center}.actual-score{font-size:1em;padding:2px 6px}.match-status-text{color:#666;font-size:.6em;line-height:1.2}.no-actual-score{font-size:1em;margin-bottom:20px}.match-date{font-size:.85em}.team-block img{height:auto;max-width:18px}.team-block{width:40px}.team-name{font-size:.65em;max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-points-row{font-size:.85em}.prediction-percentage-line{align-items:center;display:flex;justify-content:space-between;line-height:1;margin-bottom:-25px}.away-percentage-slot .percentage-value,.home-percentage-slot .percentage-value{font-size:.85em;text-align:center;width:55px}.draw-percentage-slot .percentage-value{font-size:.85em;text-align:center}.match-date{font-size:.7em;margin-bottom:8px}.no-actual-score{margin-bottom:0;margin-top:0}.tip-button{font-size:.85em;min-height:28px;min-width:100px;padding:4px 8px}.button-spinner{height:12px;width:12px}}.match-days-strip{align-items:center;display:flex;justify-content:center;margin-bottom:20px}.strip-nav-button{background-color:#4da8da;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:16px;margin:0 10px;padding:5px 10px;transition:background-color .3s}.strip-nav-button:disabled{background-color:#ccc;cursor:not-allowed}.strip-nav-button:hover:not(:disabled){background-color:#4da8da}.match-days-container{-webkit-overflow-scrolling:touch;display:flex;gap:20px;overflow-x:auto;scroll-behavior:smooth;transition:transform .3s ease-in-out}.match-day{align-items:center;background:linear-gradient(145deg,#fff,#f9f9f9);border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 4px #0000001a;cursor:pointer;display:flex;flex-direction:column;height:100px;justify-content:center;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;width:100px}.match-day:hover{border-color:#4da8da;box-shadow:0 8px 16px #0003}.match-day.selected{background-color:#4da8da;border:2px solid #4da8da;color:#000}.match-day.past-day{color:#666;opacity:.6;pointer-events:auto}.day-name{font-size:.85em;font-weight:600;text-transform:uppercase}.day-number{font-size:1.3em;font-weight:700;margin:6px 0}.match-count{font-size:.8em}@media (max-width:1000px){.match-days-strip{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.match-days-container{display:flex;justify-content:center;overflow:hidden;width:100%}.match-day{flex:0 0 70px;font-size:.7em;height:70px;max-width:70px;min-width:70px;padding:4px}.strip-nav-button{margin:0 10px}}.leagues-loading{flex-direction:column}body.modal-open{overflow:hidden}.modal-overlay{align-items:center;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);background:#0009;display:flex;height:100%;justify-content:center;left:0;opacity:0;position:fixed;top:0;transition:opacity .3s ease,visibility .3s ease;visibility:hidden;width:100%;z-index:9999}.modal-overlay.show{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000004d;max-width:600px;opacity:0;padding:30px;transform:scale(.95);transition:transform .3s ease,opacity .3s ease;width:90%}.modal-content.show{opacity:1;transform:scale(1)}@supports (-webkit-touch-callout:none){.user-modal-table{display:table;table-layout:fixed;width:100%!important}.user-modal-table td,.user-modal-table th{-webkit-appearance:none;word-break:break-word}}@media (max-width:1000px){.user-modal{border-radius:8px;font-size:.85em;max-width:95vw;min-height:200px;padding:16px}.modal-content.user-modal{-webkit-overflow-scrolling:touch;max-height:80vh;overflow-y:auto;transform:translateZ(0)}.user-modal-title{font-size:1.1em;margin-bottom:10px;text-align:center}.user-modal-table{font-size:.75em;margin-top:20px;width:100%}.user-modal-table td,.user-modal-table th{-webkit-appearance:none;padding:6px 8px}}.login-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;align-items:center;background-color:#efefef;display:flex;flex-direction:column;font-family:Montserrat,sans-serif;height:100vh;justify-content:flex-start}.login-language-selector{position:absolute;right:20px;top:20px;z-index:10}.login-card-wrapper{margin-top:0;position:relative;width:450px}.login-card{background-color:#fff;border:1px solid #c8c8c8;border-radius:20px;box-shadow:0 5px 25px #0000001a;box-sizing:border-box;padding:40px;position:relative;text-align:center;width:100%;z-index:1}.login-header{margin-bottom:0;margin-top:30px;text-align:center}.login-header h2{color:#002855;font-size:48px;font-weight:800;margin-bottom:30px}.login-header h3{color:#212529;font-size:24px;font-weight:600;margin-bottom:5px}.login-header p{color:#212529;font-size:15px;line-height:1.5;margin-bottom:20px}.login-card h2{display:none}.forgot-password{font-size:14px;margin-bottom:12px;margin-top:-26px;text-align:right}.forgot-password a{color:#4da8da;font-weight:400;text-decoration:none}.forgot-password a:hover{text-decoration:underline}.register{font-size:14px;text-align:right}.register a{color:#4da8da;font-weight:400;text-decoration:none}.register a:hover{text-decoration:underline}.login-loading{flex-direction:column;margin-top:1rem}.login-divider,.login-loading{align-items:center;display:flex}.login-divider{color:#888;font-size:14px;font-weight:400;margin:20px 0;text-align:center}.login-divider:after,.login-divider:before{border-bottom:1px solid #c8c8c8;content:"";flex:1 1;margin:0 10px}.spinner{border:4px solid #f3f3f3;border-top-color:#3498db;height:30px;width:30px}.google-button-wrapper{display:flex;justify-content:center;width:100%}.google-button-wrapper>div{width:100%!important}.success-message-container .btn-primary{text-decoration:none}@media (max-width:1000px){.login-card-wrapper{width:90%}.login-card,.terms-card{padding:20px}}.register-container{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:flex;font-family:Montserrat,sans-serif;height:100vh;width:100%}.form-section{flex-direction:column;padding:20px}.form-section,.image-section{align-items:center;background-color:#efefef;display:flex;flex:1 1;justify-content:center}.image-section img{height:100%;object-fit:cover;width:100%}.register-language-selector{position:absolute;right:20px;top:20px;z-index:10}.language-toggle-btn{align-items:center;background-color:#002855;border:none;border-radius:50%;box-shadow:0 2px 5px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:16px;height:40px;justify-content:center;transition:background-color .3s;width:40px}.language-toggle-btn:hover{background-color:#003a7e}.language-dropdown{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #0000001a;min-width:150px;overflow:hidden;position:absolute;right:0;top:50px}.language-option{align-items:center;cursor:pointer;display:flex;padding:12px 16px;transition:background-color .2s}.language-option:hover{background-color:#f5f5f5}.language-flag{height:15px;margin-right:10px;width:20px}.register-card-wrapper{margin-top:0;max-width:450px;position:relative;width:100%}.register-card{background-color:#fff;border:1px solid #c8c8c8;border-radius:20px;box-shadow:0 5px 25px #0000001a;box-sizing:border-box;padding:40px;position:relative;text-align:center;width:100%;z-index:1}.register-header{margin-bottom:20px;text-align:center}.register-header h2{color:#002855;font-size:48px;font-weight:800;margin-bottom:40px}.register-header h3{color:#212529;font-size:24px;font-weight:600;margin-bottom:5px}.register-header p{color:#212529;font-size:15px;line-height:1.5;margin-bottom:20px}.input-group{margin-bottom:20px;position:relative;text-align:left}.input-group label{color:#333;display:block;font-size:15px;font-weight:700;margin-bottom:8px}.input-wrapper{align-items:center;background-color:#f9f9f9;border:1px solid #ddd;border-radius:8px;display:flex;padding-left:15px;position:relative}.input-group input{background-color:initial;border:none;border-radius:8px;box-sizing:border-box;flex-grow:1;font-size:16px;padding:12px 15px 12px 10px}.input-group input:focus{background-color:initial;outline:none}.input-wrapper:focus-within{background-color:#fff;border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.input-icon{color:#999;font-size:18px;margin-right:10px;pointer-events:none}.input-group input::placeholder{color:#bbb;opacity:1}.password-toggle-icon{color:#999;cursor:pointer;font-size:18px;margin-left:10px;margin-right:12px}.btn-primary{background-color:#4da8da;border:none;border-radius:8px;box-shadow:inset 0 1px 0 0 #00022240,inset 0 2px 0 0 #fff9,inset 0 -2px 4px 0 #1b92d4;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-top:20px;padding:14px;transition:background-color .2s ease;width:100%}.btn-primary:hover{background-color:#3a8bb8}.terms-card{background-color:#e3e3e3;border:1px solid #c8c8c8;border-radius:0 0 20px 20px;box-shadow:0 8px 20px #0000001a;box-sizing:border-box;margin-top:-10px;padding:25px 20px 20px;text-align:center;width:100%}.terms-card p{color:#888;font-size:13px;line-height:1.6}.terms-card a{color:#4da8da;text-decoration:none}.terms-card a:hover{text-decoration:underline}.error-message{color:red;font-size:14px;margin-top:15px}.success-message{color:#28a745;font-size:14px;margin-bottom:40px}.registration-success{text-align:center}.login-link{color:#4da8da;font-weight:700;text-decoration:none}.login-link:hover{text-decoration:underline}.signup-link{font-size:14px;margin-top:20px;text-align:center}.signup-link a{color:#4da8da;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media (max-width:768px){.register-container{flex-direction:column}.image-section{display:none}.form-section{flex:none;height:100vh;justify-content:flex-start;padding-top:60px;width:100%}.register-card-wrapper{width:90%}.register-card,.terms-card{padding:20px}.register-language-selector{right:20px}}@media (min-width:769px) and (max-width:1000px){.register-card,.terms-card{padding:30px}}.achievement-card{background-color:#fff;border:1px solid #e0e0e0;border-radius:10px;box-shadow:0 3px 10px #00000014;box-sizing:border-box;display:block;max-width:100%;padding:20px;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;width:100%}.achievement-card:hover{box-shadow:0 8px 20px #00000026;transform:translateY(-5px)}.achievement-card.completed{background-color:#e6ffe6;border-color:#66bb6a}.achievement-card.in-progress{background-color:#e3f2fd;border-color:#42a5f5}.achievement-card.not-started{background-color:#f0f0f0;border-color:#ccc;opacity:.9}.achievement-icon{flex-shrink:0;height:65px;margin-right:20px;object-fit:contain;width:65px}.achievement-content{flex-grow:1}.achievement-content h3{color:#2c3e50;font-size:1.4em;font-weight:600;margin-bottom:8px;margin-top:0}.achievement-content p{color:#7f8c8d;font-size:1em;line-height:1.4;margin-bottom:10px}.achievement-points{color:#3498db;font-size:1.2em;font-weight:700;margin-left:auto;white-space:nowrap}.achievement-status.completed{color:#28a745;font-size:1.1em;font-weight:700}.achievement-progress{margin-top:15px}.achievement-progress p{color:#555;font-size:1em;font-weight:700;margin-bottom:8px}.progress-bar-container{background-color:#e9ecef;border-radius:8px;height:12px;overflow:hidden;width:100%}.progress-bar-fill{background-color:#3498db;border-radius:8px;box-shadow:0 0 5px #3498db80;height:100%;transition:width .5s ease-in-out}@media (max-width:800px){.achievement-card{flex-direction:column;padding:15px;text-align:center}.achievement-icon{margin:0 auto 15px}.achievement-content h3{font-size:1.2em}.achievement-content p{font-size:.95em}}.achievements-page-container{margin:20px auto;max-width:1200px;padding:20px}.achievements-page-container h1{border-bottom:2px solid #eee;color:#333;font-size:2.8em;font-weight:700;margin-bottom:35px;padding-bottom:15px;text-align:center}.achievements-page-container h2{border-bottom:1px solid #ddd;color:#555;font-size:2em;font-weight:600;margin-bottom:25px;margin-top:40px;padding-bottom:10px}.achievement-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.error-message,.loading-spinner,.no-achievements-yet{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;color:#777;font-size:1.3em;margin-top:30px;padding:40px;text-align:center}.error-message{color:#d9534f;font-weight:700}.completed-achievements,.in-progress-achievements{margin-bottom:40px}.matches-container{margin:0 auto;max-width:1200px;padding:20px}.filters{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px}.filters>div{display:flex;flex-direction:column;width:200px}.filters label{font-weight:700;margin-bottom:8px}.filters select{border:1px solid #ccc;border-radius:4px;font-size:16px;padding:10px}.filters select:focus{border-color:#4da8da;outline:none}table{border-collapse:collapse;margin-top:20px;width:100%}table td,table th{border:1px solid #ddd;padding:10px;text-align:center}table th{background-color:#f4f4f4;font-weight:700}table tr:nth-child(2n){background-color:#f9f9f9}table tr:hover{background-color:#f1f1f1}.no-matches{color:#777;font-size:18px;margin-top:20px;text-align:center}.rules-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 8px #0000000d;color:#333;font-family:Segoe UI,sans-serif;margin:2rem auto;max-width:800px;padding:1.5rem}.rules-title{color:#1a1a1a;font-size:2rem;margin-bottom:1.5rem;text-align:center}.rules-section{margin-bottom:2rem}.rules-section h3{border-bottom:2px solid #dbe4ea;color:#0057a3;font-size:1.4rem;margin-bottom:.75rem;padding-bottom:.4rem}.rules-section p{line-height:1.6;margin:.5rem 0}.rules-list{line-height:1.6;list-style-type:disc;margin-left:1.5rem;padding-left:.5rem}.rules-list li{margin-bottom:.5rem}.rules-section img{border-radius:6px;box-shadow:0 2px 6px #0000001a;display:block;height:auto;margin:1rem auto;max-width:50%}.leaderboard-container{background-color:#f9f9f9;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin:0 auto;max-width:900px;padding:2rem}.leaderboard-title{color:#333;font-size:2.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.filter-section{align-items:center;display:flex;justify-content:center;margin-bottom:2rem}.filter-label{color:#555;font-size:1.2rem;margin-right:1rem}.modern-month-filter .placeholder-text,.modern-tournament-filter .placeholder-text{color:#9ca3af;font-style:italic;font-weight:400}.modern-month-filter .MuiSelect-select:focus,.modern-tournament-filter .MuiSelect-select:focus{outline:none}.modern-month-filter .MuiInputAdornment-root,.modern-tournament-filter .MuiInputAdornment-root{margin-right:0}.modern-month-filter{position:relative}.modern-month-filter .MuiChip-root{font-family:Montserrat,sans-serif}.tournament-select-dropdown{background-color:#fff;border:1px solid #ccc;border-radius:4px;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:border-color .3s}.tournament-select-dropdown:hover{border-color:#4da8da}.leaderboard-table-container{overflow-x:auto}.leaderboard-table{background-color:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000000d;overflow:hidden;width:100%}.leaderboard-table td,.leaderboard-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.leaderboard-table th{background-color:#4da8da;color:#fff;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.leaderboard-table tbody tr:nth-child(2n){background-color:#f8f8f8}.leaderboard-table tbody tr:hover{background-color:#f1f1f1}.leaderboard-table tbody tr:last-child td{border-bottom:none}.error-state,.loading-state,.no-data-message{color:#888;font-size:1.2rem;padding:2rem;text-align:center}.error-state{color:#dc3545}@media (max-width:768px){.modern-month-filter .MuiSelect-select,.modern-tournament-filter .MuiSelect-select{font-size:13px;min-width:200px}.modern-month-filter .placeholder-text,.modern-tournament-filter .placeholder-text{font-size:13px}.leagues-section>div:nth-child(2){align-items:stretch!important;flex-direction:column}.modern-month-filter,.modern-tournament-filter{width:100%}.modern-month-filter .MuiSelect-root,.modern-tournament-filter .MuiSelect-root{min-width:100%!important}}.modern-month-filter .MuiSelect-root,.modern-tournament-filter .MuiSelect-root{transition:all .2s cubic-bezier(.4,0,.2,1)}.modern-month-filter .MuiSelect-root:hover,.modern-tournament-filter .MuiSelect-root:hover{transform:translateY(-1px)}.month-chip{font-size:11px;height:20px;margin-left:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.leagues-container{background-color:#efefef;display:flex;flex-direction:column;flex-grow:1;margin:0;min-height:100%;padding:20px 40px;width:100%}.leagues-loading{align-items:center;display:flex;justify-content:center;min-height:50vh;padding:50px 0}.loading-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;max-width:400px;width:100%}.loading-info{text-align:center;width:100%}.loading-text{color:#666;font-size:1.1rem;font-weight:500;margin:0 0 1rem}.progress-bar{background-color:#e9ecef;border-radius:6px;box-shadow:inset 0 2px 4px #0000001a;height:12px;margin-bottom:.8rem;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#4da8da,#2e8bb5);border-radius:6px;height:100%;position:relative;transition:width .4s ease-in-out}.progress-fill:after{animation:shimmer 1.8s infinite;background:linear-gradient(90deg,#0000,#fff6,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.progress-percentage{color:#4da8da;font-size:1rem;font-weight:700;margin:0}.leagues-title{font-size:28px;font-weight:600;margin-bottom:25px;padding-bottom:12px;position:relative;text-align:center}.leagues-section{animation:fadeIn .5s ease forwards;margin-bottom:40px}.leagues-section:last-child{display:flex;flex-direction:column;flex-grow:1}.leagues-section-header{align-items:center;color:#212529;display:flex;margin-bottom:15px}.section-icon{color:#4da8da;font-size:20px;margin-right:10px}.leagues-section-title{color:#212529;font-size:24px;font-weight:800;margin-right:15px}.section-separator{background-color:#e0e0e0;flex-grow:1;height:1px}.add-league-button{align-items:center;background-color:#4da8da;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:background-color .2s ease}.add-league-button:hover{background-color:#3a97c9}.league-table-container{background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000014;display:flex;flex-direction:column;flex-grow:1;margin-top:20px;padding:1px 10px 10px}.league-table{border-collapse:initial;border-spacing:0;flex-grow:1;table-layout:fixed;width:100%}.league-table .sport-column{width:8%}.league-table .tournament-column{width:25%}.league-table .status-column{width:15%}.league-table .players-column{width:8%}.league-table th:nth-child(2){width:25%}.league-table th:last-child{width:auto}.league-table td,.league-table th{border:none;padding:15px 20px;text-align:left}.league-table .players-cell,.league-table .players-column,.league-table .sport-cell,.league-table .sport-column{text-align:center}.league-table .league-name-cell,.league-table .status-cell,.league-table .tournament-cell{text-align:left}.league-table .action-column,.league-table .actions-cell{text-align:center}.league-table th{background-color:#f9f9f9;color:#787878;font-size:14px;font-weight:300;letter-spacing:.5px;text-transform:uppercase;&:first-child{border-top-left-radius:8px}&:last-child{border-top-right-radius:8px}}.league-table tbody tr:last-child td{border-bottom:none}.league-table tbody tr{background-color:#fff!important;border-bottom:1px solid #e0e0e0}.league-table tbody tr:hover{background-color:#fcfcfc!important}.name-cell{color:#002855;font-weight:500}.privacy-cell .icon{font-size:18px;margin-right:5px;vertical-align:middle}.privacy-cell .public-icon{color:#4caf50}.privacy-cell .private-icon{color:#e74c3c}.players-cell{text-align:center}.players-info{gap:10px;justify-content:center}.players-count,.players-info{align-items:center;display:flex}.players-count{color:#777;font-size:14px}.player-icon{color:#888;margin-right:5px}.ranking-info{font-weight:600}.no-rank,.ranking-info{align-items:center;border-radius:4px;display:flex;font-size:13px;gap:3px;padding:3px 8px}.no-rank{color:#777}.finished-league{color:#999!important}.league-row.finished-league .league-description,.league-row.finished-league .league-name,.league-row.finished-league .no-rank,.league-row.finished-league .player-icon,.league-row.finished-league .ranking-info,.league-row.finished-league .sport-icon,.league-row.finished-league .status-cell,.league-row.finished-league .tournament-cell{opacity:.7}.trophy-icon{margin-right:3px}.join-league-button{align-items:center;background-color:#4caf50;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;position:relative;transition:all .2s ease}.join-league-button:hover{background-color:#218838;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.join-league-button .arrow-icon{align-items:center;background-color:#1e7e34;border-radius:50%;color:#fff;display:flex;font-size:14px;height:20px;justify-content:center;margin-left:4px;width:20px}.join-league-button:hover .arrow-icon{background-color:#155724}.member-badge{background-color:#e8f5e8;border-radius:12px;color:#4caf50;font-size:12px;font-weight:500;padding:2px 8px}.empty-state{align-items:center;color:#777;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:200px;padding:50px 0;text-align:center;width:100%}.spinner{animation:spin 1s linear infinite;border:4px solid #4da8da4d;border-radius:50%;border-top-color:#4da8da;height:40px;margin-bottom:15px;width:40px}.dashboard-empty-state{align-items:center;display:flex;justify-content:center;min-height:400px;padding:2rem}.empty-state-content{max-width:500px;text-align:center;width:100%}.empty-state-icon{font-size:4rem;margin-bottom:1.5rem;opacity:.8}.empty-state-title{color:#1a1a1a;color:var(--text-primary,#1a1a1a);font-size:1.5rem;font-weight:600;line-height:1.4;margin:0 0 1rem}.empty-state-description{color:#666;color:var(--text-secondary,#666);font-size:1rem;line-height:1.6;margin:0 0 2rem}.empty-state-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.clickable{cursor:pointer;transition:background-color .2s ease}.clickable:hover{color:#4da8da;cursor:pointer}.action-menu-container{display:inline-block;position:relative}.ellipsis-icon{border-radius:50%;color:#888;cursor:pointer;font-size:20px;padding:5px;transition:background-color .2s ease}.ellipsis-icon:hover{background-color:#e0e0e0}.action-menu{background-color:#fff;border-radius:5px;box-shadow:0 2px 10px #0000001a;min-width:150px;overflow:hidden;position:absolute;right:0;top:100%;z-index:10}.action-menu-item{color:#333;cursor:pointer;font-size:14px;padding:10px 15px;transition:background-color .2s ease}.action-menu-item:hover{background-color:#f0f0f0}.status-finished{color:#a3d55f}.status-in-progress{color:#4da8da;font-weight:700}.status-not-started{color:gray;font-weight:700}.ellipsis-btn{background:#0000;border:none;color:#888;cursor:pointer;font-size:18px;padding:8px;transition:color .2s ease}.ellipsis-btn:hover{color:#666}@media (max-width:1000px){.leagues-container{min-height:100%;padding:15px}.league-table-container{margin:0;overflow-x:auto;padding:10px;width:100%}.league-table{border-spacing:0;min-width:600px;table-layout:auto}.league-table td,.league-table th{font-size:13px;padding:10px;text-align:left;white-space:nowrap}.leagues-title{font-size:22px}.leagues-section-title{font-size:18px}.add-league-button{font-size:14px;padding:8px 15px}.players-cell,.tournament-cell{display:table-cell}}@media (max-width:768px){.league-table-container{max-width:100vw;overflow-x:visible!important;overflow-y:visible!important;padding:8px}.league-table{min-width:0!important;table-layout:fixed!important;width:100%}.league-table td,.league-table th{overflow-wrap:anywhere;white-space:normal!important;word-break:break-word}.league-table .sport-cell,.league-table .sport-column{padding-left:6px;padding-right:6px;text-align:center;width:10px!important}.league-table .action-column,.league-table .actions-cell{text-align:right;width:20px!important}.players-cell,.players-column,.status-cell,.status-column,.tournament-cell,.tournament-column{display:none!important}.league-name-cell .league-name{display:block;font-weight:400;margin-bottom:2px}.mobile-ranking{align-items:center;color:#666;display:flex;font-size:12px;gap:6px}.ellipsis-btn{align-items:center;background:#0000;border:0;border-radius:4px;color:#666;cursor:pointer;display:inline-flex;height:32px;justify-content:center;width:32px}.action-menu{background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 8px 25px #00000040!important;margin-top:5px;max-width:calc(100vw - 40px);min-width:160px;overflow:hidden;position:absolute!important;right:0;top:100%;white-space:nowrap;z-index:9999!important}.actions-cell{padding-left:0!important;padding-right:0!important;text-align:left!important}.action-menu-container{align-items:center;display:flex;justify-content:center;position:relative!important;z-index:1000!important}.mobile-join-button{font-size:12px!important;min-width:60px!important;padding:6px 16px!important;position:relative;z-index:1!important}.action-menu.mobile-menu{background-color:#fff!important;border:1px solid #e0e0e0!important;box-shadow:0 8px 25px #00000040!important;position:absolute!important;z-index:9999!important}.actions-cell{padding:8px!important;position:relative;text-align:center!important;z-index:100}}*{box-sizing:border-box;margin:0;padding:0}.App-header{padding:20px;text-align:center}.active-link{color:#61dafb;font-weight:700}
/*# sourceMappingURL=main.e51641dd.css.map*/