*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #17B15B;--green-dark: #128A47;--purple: #4A0061;--purple-mid: #65007F;--white: #ffffff;--light-bg: #f0f0f0;--card-bg: #ffffff;--text: #1a1a2e;--text-muted: #666;--border: #ddd;--red: #e53935;--yellow: #ffc107;--shadow: 0 2px 8px rgba(0,0,0,.1);--radius: 8px}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:var(--light-bg);color:var(--text);min-height:100vh;overflow-x:hidden}html{overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,select{font-family:inherit;outline:none}.container{max-width:1200px;margin:0 auto;padding:0 16px}.page{padding:24px 16px;max-width:1200px;margin:0 auto}.card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.btn{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:600;transition:opacity .2s}.btn:hover{opacity:.85}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--purple);color:var(--white)}.btn-green{background:var(--green-dark);color:var(--white)}.btn-danger{background:var(--red);color:var(--white)}.btn-outline{background:transparent;border:2px solid var(--purple);color:var(--purple)}.btn-secondary{background:#888;color:var(--white)}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700}.badge-gk{background:#ffd600;color:#333}.badge-def{background:#17b15b;color:#fff}.badge-mid{background:#003e69;color:#fff}.badge-fwd{background:#d84315;color:#fff}.error-msg{color:var(--red);font-size:13px;margin-top:8px}.loading{text-align:center;padding:40px;color:var(--text-muted)}@media(max-width:768px){.page{padding:16px 12px}.btn{min-height:44px;touch-action:manipulation}.btn-sm{min-height:36px}.card{padding:16px}}.navbar{background:var(--purple);color:var(--white);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px #0000004d}.navbar-inner{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;gap:24px;height:60px}.navbar-brand{display:flex;align-items:center;gap:8px;color:var(--green);font-weight:800;font-size:18px;white-space:nowrap}.brand-icon{height:28px;width:auto;vertical-align:middle}.navbar-links{display:flex;gap:2px;flex:1}.nav-link{padding:8px 10px;border-radius:6px;font-size:14px;font-weight:500;color:#fffc;transition:all .2s;white-space:nowrap}.nav-link:hover{background:#ffffff1a;color:var(--white)}.nav-link.active{background:var(--green);color:var(--purple);font-weight:700}.navbar-user{display:flex;align-items:center;gap:12px;white-space:nowrap}.user-name{font-size:14px;color:#ffffffb3}.btn-sm{padding:6px 14px;font-size:13px;border-color:#fff6;color:#fffc}.btn-sm:hover{border-color:var(--white);color:var(--white);opacity:1}.nav-link--admin{color:var(--green);font-weight:600}.nav-link--admin:hover{background:#ffffff1a;color:#c8ff80}.nav-link--admin.active{background:var(--green);color:var(--purple)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:6px 10px;border-radius:6px;transition:background .15s}.user-menu-trigger:hover{background:#ffffff1a}.user-menu-caret{font-size:9px;color:#ffffff80}.user-menu-dropdown{position:absolute;right:0;top:calc(100% + 6px);background:var(--bg-card, #fff);border:1px solid var(--border, #e0e0e0);border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:150px;z-index:200;overflow:hidden}.user-menu-item{display:block;width:100%;padding:11px 16px;font-size:14px;text-align:left;background:none;border:none;cursor:pointer;color:var(--text, #1a1a2e);text-decoration:none;transition:background .12s}.user-menu-item:hover{background:var(--bg-surface, #f5f5f5)}.user-menu-item--danger{color:var(--red, #e53935);border-top:1px solid var(--border, #e0e0e0)}.navbar-hamburger{display:none;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--white);font-size:22px;padding:8px 10px;line-height:1;border-radius:6px;transition:background .15s}.navbar-hamburger:hover{background:#ffffff1a}.navbar-mobile-menu{display:none}@media(max-width:768px){.navbar-links{display:none}.navbar-hamburger{display:flex}.navbar-inner{gap:4px}.navbar-brand{flex:1}.navbar-mobile-menu{display:flex;flex-direction:column;background:var(--purple-mid, #4a0560);border-top:1px solid rgba(255,255,255,.1);padding:8px 12px 16px;gap:2px}.mobile-nav-link{display:block;padding:13px 16px;color:#ffffffd9;font-size:15px;font-weight:500;border-radius:8px;transition:background .15s,color .15s;text-decoration:none}.mobile-nav-link:hover{background:#ffffff1a;color:var(--white)}.mobile-nav-link.active{background:var(--green);color:var(--purple);font-weight:700}.mobile-nav-link--admin{color:var(--green)}.mobile-nav-link--admin.active{background:var(--green);color:var(--purple)}}.auth-page{min-height:100vh;background:linear-gradient(160deg,var(--purple-mid) 0%,var(--purple) 60%,#360048 100%);display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{background:var(--white);border-radius:16px;padding:40px;width:100%;max-width:420px;box-shadow:0 20px 60px #0000004d}.auth-header{text-align:center;margin-bottom:32px}.auth-logo{height:64px;width:auto;margin-bottom:8px}.auth-header h1{font-size:28px;color:var(--purple);margin-bottom:4px}.auth-header p{color:var(--text-muted);font-size:15px}.auth-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:600;color:var(--text)}.form-group input,.form-group select{padding:12px 14px;border:2px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:var(--purple)}.input-readonly{background-color:var(--light-bg, #f0f0f0)!important;color:var(--text-muted)!important;cursor:not-allowed;opacity:.75}.btn-full{width:100%;padding:14px;font-size:15px;border-radius:8px;margin-top:4px}.auth-switch{text-align:center;margin-top:20px;font-size:14px;color:var(--text-muted)}.auth-switch a{color:var(--purple);font-weight:600}.auth-switch a:hover{text-decoration:underline}.auth-hint{font-size:12px;color:var(--text-muted);margin:-4px 0 0}.auth-success{text-align:center;color:var(--text);font-size:15px;line-height:1.5}.ppm-overlay{align-items:center;overflow-y:hidden}.ppm-modal{max-width:680px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;padding:0}.ppm-modal .modal-header{padding:14px 20px;flex-shrink:0;border-bottom:1px solid var(--border);margin-bottom:0}.ppm-body{flex:1;min-height:0;overflow-y:auto}@media(max-width:600px){.ppm-modal{max-height:calc(100dvh - 24px)}.ppm-overlay{padding:12px}}.ppm-loading{padding:32px;text-align:center;color:var(--text-muted)}.ppm-hero{display:flex;align-items:center;gap:16px;padding:16px 20px;border-bottom:1px solid var(--border)}.ppm-avatar{flex-shrink:0;width:64px;height:72px;border-radius:8px;overflow:hidden;background:var(--light-bg)}.ppm-avatar img,.ppm-avatar svg{width:100%;height:100%;object-fit:cover}.ppm-hero-info{flex:1;min-width:0}.ppm-name{font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px}.ppm-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:4px}.ppm-team{font-size:13px;color:var(--text-muted);font-weight:600}.ppm-status{font-size:11px;padding:2px 7px;border-radius:10px;background:#fef3c7;color:#92400e;font-weight:600;text-transform:capitalize}.ppm-availability-banner{display:flex;align-items:center;gap:6px;margin:12px 20px 0;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:600;line-height:1.3}.ppm-availability-icon{font-size:14px;flex-shrink:0}.ppm-availability-reason{font-weight:700}.ppm-availability-detail{font-weight:400;opacity:.85}.ppm-availability-banner--injured{background:#fff3e0;color:#b45309;border-left:4px solid #f97316}.ppm-availability-banner--suspended{background:#fef2f2;color:#b91c1c;border-left:4px solid #dc2626}.ppm-availability-banner--away{background:#eff6ff;color:#1d4ed8;border-left:4px solid #3b82f6}.ppm-availability-banner--deregistered{background:#faf5ff;color:#7e22ce;border-left:4px solid #9333ea}.ppm-availability-banner--unavailable{background:#f9fafb;color:#4b5563;border-left:4px solid #9ca3af}.ppm-honours{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:5px}.ppm-honour{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;padding:2px 8px;border-radius:4px}.ppm-honour--totw{background:#111;color:#fff}.ppm-honour--tots{background:#003e69;color:#f0c02e;border:1px solid #c8a217}.ppm-season-label{font-size:11px;color:var(--text-muted);margin-top:2px}.ppm-tabs{display:flex;gap:0;border-bottom:2px solid var(--border);padding:0 20px;overflow-x:auto}.ppm-tab{display:flex;align-items:center;gap:6px;padding:10px 16px;font-size:13px;font-weight:600;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;white-space:nowrap;transition:color .15s}.ppm-tab:hover{color:var(--text)}.ppm-tab--active{color:var(--purple);border-bottom-color:var(--purple)}.ppm-tab-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--purple);color:#fff;border-radius:8px;padding:1px 6px}.ppm-points-hero{flex-shrink:0;text-align:center;background:var(--purple);color:#fff;border-radius:10px;padding:10px 16px;min-width:64px}.ppm-points-num{font-size:26px;font-weight:800;line-height:1}.ppm-points-lbl{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;opacity:.85;margin-top:2px}.ppm-team-filter{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid var(--border);background:var(--light-bg)}.ppm-team-filter-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);white-space:nowrap}.ppm-team-filter-select{font-size:13px;font-weight:600;color:var(--text);background:var(--card-bg);border:1px solid var(--border);border-radius:6px;padding:4px 8px;cursor:pointer}.ppm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:4px 8px 16px}.ppm-stats-col{padding:12px}.ppm-stats-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--purple);margin-bottom:8px;padding-bottom:4px;border-bottom:2px solid var(--purple)}.ppm-stat-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--border);gap:8px}.ppm-stat-row:last-child{border-bottom:none}.ppm-stat-label{font-size:12px;color:var(--text-muted)}.ppm-stat-value{font-size:14px;font-weight:700;color:var(--text)}@media(max-width:480px){.ppm-stats{grid-template-columns:1fr}.ppm-stats-col{padding:8px 12px}}.gw-table-wrap{border-top:1px solid var(--border);padding:0 0 8px}.gw-table-heading{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--purple);padding:12px 20px 8px}.gw-table-empty{padding:16px 20px;font-size:13px;color:var(--text-muted)}.gw-table-scroll{overflow-x:auto;padding:0 12px}.gw-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}.gw-table thead th{padding:6px 8px;text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border);cursor:default;position:relative}.gw-table thead th[title]{text-decoration:underline dotted;text-underline-offset:3px}.gw-table thead th[title]:after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:500;text-transform:none;letter-spacing:0;padding:4px 8px;border-radius:5px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:10}.gw-table thead th[title]:hover:after{opacity:1}.gw-table thead th:first-child,.gw-col-gw{text-align:left}.gw-table tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.gw-table tbody tr:last-child{border-bottom:none}.gw-table tbody tr:hover{background:var(--light-bg)}.gw-table td{padding:7px 8px;text-align:center;color:var(--text)}.gw-col-gw{text-align:left;font-weight:700;color:var(--purple)}.gw-col-team{text-align:left;font-weight:600;color:var(--text-muted);font-size:11px}.gw-col-opp{text-align:left;font-size:11px;color:var(--text);min-width:90px}.gw-col-pts{font-weight:800;font-size:13px}.gw-result{display:inline-block;padding:2px 8px;border-radius:12px;font-size:12px;font-weight:700;min-width:36px;text-align:center}.gw-result--win{background:#dcfce7;color:#166534}.gw-result--draw{background:#fef9c3;color:#713f12}.gw-result--loss{background:#fee2e2;color:#991b1b}.gw-stat{font-weight:600}.gw-stat--zero{color:var(--text-muted)}.gw-stat--pos{color:#166534}.gw-stat--neg{color:#991b1b}.gw-row--borrowed{background:#dbeafe}.gw-row--borrowed:hover{background:#bfdbfe!important}.gw-row--bye{color:var(--text-muted);font-style:italic}.gw-row--dnp{color:var(--text-muted)}.gw-row--upcoming,.gw-col-pts--muted{color:var(--text-muted);font-style:italic}.gw-col-pts--dnp{color:#b45309;font-weight:700}.gw-col-opp--muted{color:var(--text-muted);font-style:italic}.opp-abbr{display:none}.opp-full{display:inline}@media(max-width:520px){.opp-abbr{display:inline}.opp-full{display:none}}.gw-totals-row{border-top:2px solid var(--border);background:var(--light-bg)}.gw-totals-row td{font-weight:800;font-size:12px}.gw-totals-label{text-align:left;padding-left:8px;color:var(--text-muted);font-size:10px!important;text-transform:uppercase;letter-spacing:.8px}.dashboard-header{margin-bottom:24px}.dashboard-header h1{font-size:26px;color:var(--purple)}.gw-info{color:var(--text-muted);font-size:14px;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;margin-bottom:24px}.stat-card{text-align:center;padding:20px}.stat-value{font-size:32px;font-weight:800;color:var(--purple)}.stat-value--countdown{font-size:20px;letter-spacing:-.5px}.stat-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}.stat-card--club{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.club-logo{width:52px;height:52px;object-fit:contain;border-radius:4px}.club-logo-placeholder{font-size:34px;line-height:1}.dash-main-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.dash-main-grid>*{min-width:0}.dash-left-col{display:flex;flex-direction:column;gap:16px;min-width:0}.totw-card{display:flex;flex-direction:column}.quick-links{padding:14px 16px}.links-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.quick-link{display:flex;flex-direction:column;align-items:center;gap:4px;padding:9px 6px;background:var(--light-bg);border-radius:10px;font-size:11px;font-weight:600;color:var(--text);transition:all .2s;position:relative}.quick-link:hover{background:var(--purple);color:var(--white);transform:translateY(-1px)}.ql-icon{font-size:20px}.ql-badge{position:absolute;top:5px;right:5px;background:var(--green-dark);color:#fff;font-size:10px;padding:2px 5px;border-radius:10px}.dash-section{padding:16px 18px}.dash-section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dash-section-title-row .dash-section-title{margin-bottom:0}.dash-section-link{font-size:11px;font-weight:600;color:var(--purple);text-decoration:none;white-space:nowrap;padding:2px 6px;border-radius:4px;border:1px solid var(--purple);opacity:.7;transition:opacity .15s;flex-shrink:0}.dash-section-link:hover{opacity:1;background:var(--purple);color:#fff}.dash-section-title{font-size:15px;font-weight:700;color:var(--purple);margin-bottom:12px}.dash-section-sub{font-size:12px;font-weight:400;color:var(--text-muted)}.highlight-row{display:flex;gap:8px;flex-wrap:wrap}.highlight-row--grid-5{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.highlight-card{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 6px;border-radius:8px;min-width:0;flex:1;text-align:center;background:var(--light-bg);border:1px solid var(--border);position:relative}.highlight-card.hc--totw{background:#111;border-color:#f0c02e66}.highlight-card.hc--totw .hc-name,.highlight-card.hc--totw .hc-team,.highlight-card.hc--totw .hc-pts,.highlight-card.hc--totw .hc-rank{color:#f0c02e}.highlight-card.hc--tots{background:#003e69;border-color:#c8a217}.highlight-card.hc--tots .hc-name,.highlight-card.hc--tots .hc-team,.highlight-card.hc--tots .hc-pts,.highlight-card.hc--tots .hc-rank{color:#f0c02e}.highlight-card.hc--totw-tots{background:linear-gradient(135deg,#111 50%,#003e69 50%);border-color:#c8a21799}.highlight-card.hc--totw-tots .hc-name,.highlight-card.hc--totw-tots .hc-team,.highlight-card.hc--totw-tots .hc-pts,.highlight-card.hc--totw-tots .hc-rank,.highlight-card.hc--totw .hc-pos,.highlight-card.hc--tots .hc-pos,.highlight-card.hc--totw-tots .hc-pos{color:#f0c02e}.hc-rank{position:absolute;top:4px;left:6px;font-size:10px;font-weight:700;color:var(--text-muted)}.hc-avatar{width:44px;height:44px;border-radius:50%;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-bottom:2px}.hc-avatar img,.hc-avatar svg{width:100%;height:100%;object-fit:cover}.hc-pos{font-size:10px;margin-bottom:1px}.hc-name{font-size:11px;font-weight:700;color:var(--text);line-height:1.2;height:27px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;width:100%}.hc-team{font-size:10px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;height:14px}.hc-pts{font-size:18px;font-weight:800;color:var(--purple);margin-top:2px}.hc-pts-label{font-size:10px;font-weight:600;color:var(--text-muted);margin-left:2px}.hc-stats{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:1px}.hc-stat{font-size:10px;color:var(--text-muted)}.hc-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#3c3c3c8c;-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;opacity:0;transition:opacity .2s ease,backdrop-filter .2s ease;z-index:2}@media(hover:hover){.highlight-card:hover .hc-overlay,.dash-ms-card:hover .hc-overlay{opacity:1;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}}@media(hover:none){.hc-overlay{display:none}}.hc-overlay-btn{background:#ffffffed;border:none;border-radius:6px;padding:4px 0;font-size:10px;font-weight:700;cursor:pointer;width:76%;color:var(--text);transition:background .15s}.hc-overlay-btn:hover{background:#fff}.hc-overlay-btn--transfer{background:var(--purple);color:#fff}.hc-overlay-btn--transfer:hover{background:var(--green);opacity:1}.hc-overlay-insquad{font-size:10px;font-weight:700;color:#fff;background:var(--green-dark, #16a34a);border-radius:6px;padding:4px 0;width:76%;text-align:center}.pitch-action-insquad{display:block;text-align:center;font-size:14px;font-weight:600;color:var(--green-dark, #16a34a);padding:10px 0 2px}.gw-winners-row{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.gw-winner-item{display:flex;flex-direction:column;align-items:center;gap:4px;flex:0 0 88px;min-width:88px}.gww-label{font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;white-space:nowrap}.gw-winner-item .highlight-card{width:100%;height:120px;overflow:hidden}.gw-winner-item .hc-stats{display:none}.totw-pitch{display:flex;flex-direction:column;flex:1;gap:0;background:linear-gradient(transparent calc(50% - 1px),rgba(255,255,255,.25) calc(50% - 1px),rgba(255,255,255,.25) calc(50% + 1px),transparent calc(50% + 1px)),repeating-linear-gradient(to bottom,rgba(0,0,0,.06) 0px,rgba(0,0,0,.06) 40px,transparent 40px,transparent 80px),linear-gradient(180deg,#1b5e20,#2e7d32,#1b5e20);border-radius:12px;padding:20px 16px 0;position:relative;overflow:hidden;border:2px solid rgba(255,255,255,.2)}.totw-pitch:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border:2px solid rgba(255,255,255,.22);border-radius:50%;pointer-events:none}.totw-pitch:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#ffffff59;border-radius:50%;pointer-events:none}.totw-row{display:flex;justify-content:center;gap:8px;flex-wrap:nowrap;padding:20px 0;position:relative;z-index:1}.totw-row+.totw-row{border-top:1px dashed rgba(255,255,255,.15)}.totw-row .highlight-card{background:#ffffffeb;border-color:#ffffff80;width:82px;flex:0 0 82px;height:168px;justify-content:flex-start;box-shadow:0 2px 8px #0000004d}.totw-row .highlight-card.hc--totw{background:#111;border-color:#f0c02e66}.totw-row .highlight-card.hc--tots{background:#003e69;border-color:#c8a217}.totw-row .highlight-card.hc--totw-tots{background:linear-gradient(135deg,#111 50%,#003e69 50%);border-color:#c8a21799}.totw-row .highlight-card.hc--totw .hc-name,.totw-row .highlight-card.hc--totw .hc-team,.totw-row .highlight-card.hc--totw .hc-pts,.totw-row .highlight-card.hc--tots .hc-name,.totw-row .highlight-card.hc--tots .hc-team,.totw-row .highlight-card.hc--tots .hc-pts,.totw-row .highlight-card.hc--totw-tots .hc-name,.totw-row .highlight-card.hc--totw-tots .hc-team,.totw-row .highlight-card.hc--totw-tots .hc-pts{color:#f0c02e}.totw-row .hc-pos{display:none}.totw-row .hc-name{height:32px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.35}.totw-row .hc-team{display:none}.totw-row .hc-stats{min-height:16px;flex-wrap:nowrap;gap:2px}.totw-row .hc-stat{font-size:9px}.totw-goal-line{height:32px;border-top:2px solid rgba(255,255,255,.3);margin:0 40px 12px;border-left:2px solid rgba(255,255,255,.3);border-right:2px solid rgba(255,255,255,.3);border-bottom:none;border-radius:0 0 6px 6px;flex-shrink:0}@media(max-width:768px){.dash-main-grid{grid-template-columns:1fr;align-items:start}.totw-card{display:block}.totw-pitch{flex:unset}.highlight-row--grid-5{grid-template-columns:repeat(3,1fr)}}@media(max-width:420px){.highlight-row--grid-5{grid-template-columns:repeat(2,1fr)}.totw-row .highlight-card{width:62px;flex:0 0 62px;height:155px}.totw-row{gap:3px}.dashboard-header h1{font-size:20px}.stat-value{font-size:26px}}@media(max-width:900px){.stats-grid,.links-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:400px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:14px 10px}.stat-value{font-size:24px}.stat-value--countdown{font-size:16px}.stat-label{font-size:10px}.club-logo{width:36px;height:36px}.links-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.links-grid{grid-template-columns:repeat(3,1fr)}.hc-avatar{width:36px;height:36px}.totw-row .hc-avatar{width:30px;height:30px}.hc-pts{font-size:15px}}.stat-note{font-size:11px;color:var(--amber, #f59e0b);margin-top:2px;font-weight:600}.dash-form-row{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:thin}.dash-form-item{flex:0 0 88px;min-width:88px}.dash-form-item .highlight-card{width:100%}.dash-ms-row{display:flex;gap:8px;overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:thin}.dash-ms-card{flex:0 0 88px;min-width:88px;display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 6px 8px;border-radius:8px;background:var(--light-bg);border:1px solid var(--border);text-align:center;border-top:3px solid var(--purple);justify-content:flex-start;position:relative}.dash-ms-card--goals{border-top-color:#dc2626}.dash-ms-card--assists{border-top-color:#1976d2}.dash-ms-card--wins{border-top-color:#d97706}.dash-ms-card--appearances{border-top-color:#16a34a}.dash-ms-card--first-appearance{border-top-color:var(--purple)}.dash-ms-icon{font-size:16px;line-height:1}.dash-ms-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.dash-ms-avatar img,.dash-ms-avatar svg{width:100%;height:100%;object-fit:cover}.dash-ms-name{font-size:10px;font-weight:700;color:var(--text);line-height:1.2;height:24px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.dash-ms-team{font-size:9px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-ms-label{font-size:9px;font-weight:700;color:var(--purple);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dash-ms-card--totw{background:#111;border-top-color:#f0c02e!important;border-color:#f0c02e59}.dash-ms-card--totw .dash-ms-name,.dash-ms-card--totw .dash-ms-team,.dash-ms-card--totw .dash-ms-label{color:#f0c02e}.dash-ms-card--tots{background:#003e69;border-top-color:#c8a217!important;border-color:#c8a217}.dash-ms-card--tots .dash-ms-name,.dash-ms-card--tots .dash-ms-team,.dash-ms-card--tots .dash-ms-label{color:#f0c02e}.dash-ms-card--totw-tots{background:linear-gradient(135deg,#111 50%,#003e69 50%);border-top-color:#c8a217!important;border-color:#c8a21780}.dash-ms-card--totw-tots .dash-ms-name,.dash-ms-card--totw-tots .dash-ms-team,.dash-ms-card--totw-tots .dash-ms-label{color:#f0c02e}.totw-gw-select{font-size:11px;font-weight:600;color:var(--purple);border:1px solid var(--purple);border-radius:4px;padding:2px 6px;background:transparent;cursor:pointer;max-width:130px}.totw-gw-label{font-size:11px;font-weight:600;color:var(--text-muted)}.totw-formation{font-size:12px;font-weight:600;color:var(--text-muted);text-align:center;margin-bottom:8px}.player-card{position:relative;background:#fff;border-radius:10px;box-shadow:0 2px 8px #0000001f;width:105px;display:flex;flex-direction:column;align-items:center;overflow:visible;border:2px solid transparent;transition:transform .15s,box-shadow .15s,border-color .15s;cursor:default}.player-card[draggable=true]{cursor:grab}.player-card[draggable=true]:active{cursor:grabbing}.pc--totw{background:#111;border-color:#f0c02e66}.pc--totw .pc-name,.pc--totw .pc-team,.pc--totw .pc-pts{color:#f0c02e}.pc--totw .pc-actions{border-top-color:#f0c02e33}.pc--totw .pc-btn{background:#f0c02e26;color:#f0c02e;border-color:#c8a21766}.pc--totw .pc-btn:hover{background:#f0c02e47}.pc--tots{background:#003e69;border-color:#c8a217}.pc--tots .pc-name,.pc--tots .pc-team,.pc--tots .pc-pts{color:#f0c02e}.pc--tots .pc-actions{border-top-color:#c8a2174d}.pc--tots .pc-btn{background:#f0c02e26;color:#f0c02e;border-color:#c8a21766}.pc--tots .pc-btn:hover{background:#f0c02e47}.pc--totw-tots{background:linear-gradient(135deg,#111 50%,#003e69 50%);border-color:#c8a21799}.pc--totw-tots .pc-name,.pc--totw-tots .pc-team,.pc--totw-tots .pc-pts{color:#f0c02e}.pc--totw-tots .pc-actions{border-top-color:#c8a2174d}.pc--totw-tots .pc-btn{background:#f0c02e26;color:#f0c02e;border-color:#c8a21766}.pc--totw-tots .pc-btn:hover{background:#f0c02e47}.pc-honour-tip{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:#111111eb;color:#f0c02e;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:200;letter-spacing:.3px}.player-card:hover .pc-honour-tip{opacity:1}.pc-stripe{width:100%;height:5px;border-radius:8px 8px 0 0;flex-shrink:0}.pc-stripe--gk{background:#f59e0b}.pc-stripe--def{background:#22c55e}.pc-stripe--mid{background:#3b82f6}.pc-stripe--fwd{background:#ef4444}.pc-cap-badge,.pc-vc-badge{position:absolute;top:8px;width:18px;height:18px;border-radius:50%;font-size:10px;font-weight:800;display:flex;align-items:center;justify-content:center;z-index:2}.pc-cap-badge{right:4px;background:#17b15b;color:#fff}.pc-vc-badge{right:4px;background:#ffc107;color:#333}.pc-autosub-badge{position:absolute;top:8px;left:4px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:2;cursor:default}.pc-autosub--in{background:#16a34a;color:#fff}.pc-autosub--out{background:#9ca3af;color:#fff}.pc-status-badge{position:absolute;top:8px;left:4px;width:18px;height:18px;border-radius:50%;font-size:11px;font-weight:900;display:flex;align-items:center;justify-content:center;z-index:2;cursor:default}.pc-status--injured{background:#f97316;color:#fff}.pc-status--suspended{background:#dc2626;color:#fff}.pc-status--away{background:#3b82f6;color:#fff}.pc-status--deregistered{background:#9333ea;color:#fff}.pc-status--unavailable{background:#6b7280;color:#fff}.pc-status-badge[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;font-size:10px;font-weight:500;padding:3px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.pc-status-badge[data-tooltip]:hover:after{opacity:1}.pc-avatar{margin:6px auto 4px;width:40px;height:40px;border-radius:50%;overflow:hidden;background:#f3f4f6;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pc-avatar-img{width:100%;height:100%;object-fit:cover}.pc-info{width:100%;padding:0 4px;text-align:center}.pc-name{font-size:11px;font-weight:700;color:#111;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.pc-team{font-size:10px;color:#6b7280;margin:1px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pc-team-short{display:none}@media(max-width:600px){.pc-team-full{display:none}.pc-team-short{display:inline}}.pc-stats{display:flex;justify-content:center;gap:5px;margin:2px 0 4px}.pc-price{font-size:10px;font-weight:600;color:#059669}.pc-pts{font-size:10px;font-weight:700;color:#7c3aed}.pc-actions{display:flex;flex-wrap:nowrap;justify-content:center;gap:3px;padding:4px 4px 5px;border-top:1px solid #f0f0f0;width:100%}.pc-btn{position:relative;width:22px;height:22px;border-radius:5px;font-size:11px;font-weight:700;background:#f3f4f6;color:#374151;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.pc-btn:hover{background:#e5e7eb}.pc-btn--on{background:#17b15b;color:#fff;border-color:#17b15b}.pc-btn--disabled,.pc-btn--disabled:hover{background:#e5e7eb;color:#9ca3af;border-color:#d1d5db;cursor:not-allowed;pointer-events:auto}.pc-btn--sub{background:#f59e0b;color:#fff;border-color:#f59e0b}.pc-btn--remove{background:#fee2e2;color:#dc2626;border-color:#fecaca}.pc-btn--remove:hover{background:#dc2626;color:#fff}.pc-btn[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;font-size:10px;font-weight:500;padding:3px 7px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.pc-btn[data-tooltip]:hover:after{opacity:1}.pc--dragging{opacity:.35;transform:scale(.94)}.pc--valid-target{border-color:#17b15b;box-shadow:0 0 0 3px #17b15b40;transform:translateY(-2px)}.pc--valid-target:hover,.pc--valid-target:active{transform:scale(1.12) translateY(-4px);box-shadow:0 6px 20px #17b15b59}.pc--drag-hovered{border-color:#17b15b;box-shadow:0 6px 20px #17b15b59;transform:scale(1.12) translateY(-4px)}.pc--blocked{opacity:.35;filter:grayscale(.4)}.pc--sub-selected{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b40}.pc--selected{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}@media(max-width:600px){.player-card{width:88px}.pc-avatar{width:34px;height:34px;margin:4px auto 3px}.pc-cap-badge,.pc-vc-badge,.pc-autosub-badge,.pc-status-badge{width:16px;height:16px;font-size:9px}.pc-actions{display:none}}@media(max-width:540px){.player-card{width:80px}.pc-avatar{width:30px;height:30px}}@media(max-width:480px){.player-card{width:76px}.pc-avatar{width:28px;height:28px;margin:3px auto 2px}.pc-name{font-size:10px}.pc-team{font-size:9px}.pc-cap-badge,.pc-vc-badge,.pc-autosub-badge,.pc-status-badge{width:14px;height:14px;font-size:8px;top:5px}}@media(max-width:420px){.player-card{width:64px}.pc-avatar{width:24px;height:24px;margin:3px auto 2px}.pc-name,.pc-team{font-size:9px}.pc-cap-badge,.pc-vc-badge,.pc-autosub-badge,.pc-status-badge{width:13px;height:13px;font-size:7px;top:4px}}.pitch-container{display:flex;flex-direction:column;gap:16px}.pitch{position:relative;background:linear-gradient(180deg,#2d8a3e,#3a9e4a,#2d8a3e,#3a9e4a,#2d8a3e);border-radius:12px;padding:20px 16px;display:flex;flex-direction:column;gap:16px;border:3px solid rgba(255,255,255,.3);min-height:460px;overflow:hidden}.pitch-markings{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.center-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border-radius:50%;border:2px solid rgba(255,255,255,.2)}.halfway-line{position:absolute;top:50%;left:0;right:0;height:2px;background:#fff3}.penalty-area{position:absolute;left:50%;transform:translate(-50%);width:60%;height:18%;border:2px solid rgba(255,255,255,.2)}.penalty-area.top{top:0;border-top:none}.penalty-area.bottom{bottom:0;border-bottom:none}.pitch-row{position:relative;z-index:1}.row-label{display:none}.row-players{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.bench{background:#f8f9fb;border-radius:12px;padding:14px 16px;border:2px dashed #d1d5db;display:flex;flex-direction:column;align-items:center;gap:12px}.bench-label{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:1px}.bench-players{display:flex;align-items:flex-end;justify-content:center;gap:0;flex-wrap:wrap;row-gap:12px}.bench-divider{width:1px;height:80px;background:#d1d5db;align-self:center;margin:0 12px;flex-shrink:0}.bench-slot{display:flex;flex-direction:column;align-items:center;gap:4px}.bench-slot--gk{margin-right:4px}.bench-slot-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#6b7280}.bench-subs{display:flex;align-items:flex-end;gap:12px}@media(max-width:600px){.pitch{padding:14px 10px;gap:12px;min-height:380px}.row-players{gap:5px}.bench{padding:10px 12px}.bench-subs{gap:8px}}@media(max-width:480px){.pitch{padding:12px 8px;gap:10px;min-height:340px}.row-players{gap:4px}.bench-divider{margin:0 8px}.bench-subs{gap:6px}}@media(max-width:420px){.pitch{padding:10px 6px;gap:8px;min-height:300px}.row-players{gap:3px}.bench{padding:8px}.bench-subs{gap:4px}.bench-divider{margin:0 4px}}.pitch-action-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:500;display:flex;align-items:flex-end;justify-content:center}.pitch-action-sheet{background:var(--card-bg, #fff);border-radius:16px 16px 0 0;padding:20px 20px 32px;width:100%;max-width:480px;display:flex;flex-direction:column;gap:10px;box-shadow:0 -4px 24px #0000002e}.pitch-action-header{display:flex;align-items:center;gap:10px;margin-bottom:4px}.pitch-action-name{font-size:17px;font-weight:700;color:var(--text);flex:1}.pitch-action-buttons{display:flex;flex-direction:column;gap:8px}.pitch-action-btn{width:100%;padding:14px 16px;text-align:left;font-size:15px;font-weight:600;border-radius:10px;border:none;background:var(--light-bg, #f0f0f0);color:var(--text);cursor:pointer;transition:background .15s}.pitch-action-btn:hover,.pitch-action-btn:active{background:#e0e0e0}.pitch-action-btn--active{background:#37003c1a;color:var(--purple)}.pitch-action-btn--danger{color:var(--red, #e53935)}.pitch-action-status{border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600}.pitch-action-status-label{display:block}.pitch-action-status--injured{background:#fff3ed;color:#c2410c}.pitch-action-status--suspended{background:#fef2f2;color:#dc2626}.pitch-action-status--away{background:#eff6ff;color:#1d4ed8}.pitch-action-status--deregistered{background:#faf5ff;color:#7e22ce}.pitch-action-status--unavailable{background:#f9fafb;color:#4b5563}.pitch-action-cancel{width:100%;padding:14px 16px;text-align:center;font-size:15px;font-weight:700;border-radius:10px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;margin-top:4px;transition:background .15s}.pitch-action-cancel:hover{background:var(--light-bg)}.manage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.manage-view-selector{display:flex;align-items:center;gap:8px}.manage-view-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.manage-view-select{background:var(--card-bg, #fff);color:var(--text, #111);border:1.5px solid var(--border, #d1d5db);border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;cursor:pointer;outline:none}.manage-view-select:focus{border-color:var(--purple)}.manage-header h1{font-size:24px;color:var(--purple)}.team-meta{font-size:13px;color:var(--text-muted);margin-top:4px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.squad-count{font-weight:700;padding:1px 7px;border-radius:10px;font-size:12px}.squad-count--valid{background:#e8f5e9;color:#2e7d32}.squad-count--incomplete{background:#fff3e0;color:#e65100}.squad-incomplete{max-width:420px;margin:60px auto;text-align:center;padding:40px 32px}.squad-incomplete-icon{font-size:48px;margin-bottom:12px}.squad-incomplete h2{font-size:22px;color:var(--purple);margin-bottom:10px}.squad-incomplete p{color:var(--text-muted);margin-bottom:24px;line-height:1.5}.team-pts{text-align:center;background:var(--purple);color:#fff;padding:12px 20px;border-radius:10px}.pts-number{font-size:32px;font-weight:800;color:var(--green)}.pts-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.pitch-hint{font-size:13px;color:var(--text-muted);margin-bottom:12px}.saving-msg{color:var(--purple);font-size:13px;margin-bottom:8px}.empty-state{text-align:center;padding:40px;color:var(--text-muted)}.empty-state a{color:var(--purple);font-weight:600}@media(max-width:600px){.pitch-hint{display:none}.manage-header{margin-bottom:10px}.team-pts{padding:8px 14px;border-radius:8px;display:flex;align-items:center;gap:10px}.pts-number{font-size:22px}.pts-label{font-size:10px}}.transfers-page{overflow-x:hidden}.transfers-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px;flex-wrap:wrap;gap:12px;min-width:0}.transfers-header h1{font-size:24px;color:var(--purple)}.transfers-meta{font-size:13px;color:var(--text-muted);margin-top:4px}.transfer-banner{background:var(--yellow);color:#333;padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:12px;font-size:14px;min-width:0;width:100%;box-sizing:border-box}.transfer-banner>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-banner--in{background:#ede9fe;color:#4c1d95;border:1px solid #c4b5fd}.transfer-locked-banner{background:#fef9c3;color:#854d0e;border:1px solid #fde047;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;margin-bottom:4px}.transfers-layout{display:grid;grid-template-columns:340px 1fr;gap:16px;align-items:start}.transfers-layout>*{min-width:0}.squad-panel h2{font-size:16px;color:var(--purple);margin-bottom:12px}.squad-pos-group{margin-bottom:12px}.squad-pos-label{margin-bottom:6px;font-size:11px}.squad-player{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border);gap:8px}.sp-avatar{width:36px;height:36px;border-radius:50%;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sp-avatar img,.sp-avatar svg{width:100%;height:100%;object-fit:cover}.squad-player.transferring-out{background:#ffc1071a;border-radius:6px;padding:8px;border-bottom:none}.sp-info{display:flex;flex-direction:column;min-width:0;flex:1}.sp-name-row{display:flex;align-items:center;gap:4px}.sp-name{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-team{font-size:11px;color:var(--text-muted);padding-left:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sp-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.sp-price{font-size:12px;color:var(--green-dark);font-weight:600}.sp-pts{font-size:12px;color:var(--text-muted)}.sp-btn{padding:4px 8px;font-size:11px}.empty-squad{color:var(--text-muted);font-size:13px;text-align:center;padding:20px 0}.players-panel{display:flex;flex-direction:column;gap:12px;min-width:0}.filter-row{display:flex;gap:10px;flex-wrap:wrap}.filter-input{flex:1;min-width:150px;padding:10px 12px;border:2px solid var(--border);border-radius:8px;font-size:14px;transition:border-color .2s}.filter-input:focus{border-color:var(--purple)}.filter-select{padding:10px 12px;border:2px solid var(--border);border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.players-table{overflow-x:auto;max-width:100%}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:10px 12px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);white-space:nowrap}.th-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.th-sortable:hover{color:var(--purple)}.sort-icon{display:inline-block;margin-left:3px;font-style:normal;font-size:11px}.sort-icon--neutral{opacity:.35}.sort-icon--active{color:var(--purple);opacity:1}.th-extra{color:var(--purple);text-align:center}.extra-col{font-weight:600;color:var(--purple);font-size:13px;text-align:center}.filter-select--extra{border-color:var(--purple);color:var(--purple);font-weight:600}tbody tr{border-bottom:1px solid var(--border);transition:background .15s}tbody tr:hover{background:var(--light-bg)}tbody tr.in-squad{background:#00c8530d}tbody tr.staged-transfer-in{background:#8b5cf61a;outline:2px solid var(--purple);outline-offset:-2px}tbody tr.tp-totw{background:#111}tbody tr.tp-totw td{color:#f0c02e}tbody tr.tp-totw:hover{background:#1a1a1a}tbody tr.tp-tots{background:#003e69}tbody tr.tp-tots td{color:#f0c02e}tbody tr.tp-tots:hover{background:#004e84}tbody tr.tp-totw-tots{background:linear-gradient(to top right,#111 50%,#003e69 50%)}tbody tr.tp-totw-tots td{color:#f0c02e}tbody tr.tp-totw-tots:hover{background:linear-gradient(to top right,#1a1a1a 50%,#004e84 50%)}tbody td{padding:10px 12px;font-size:14px}.player-name-cell{display:flex;flex-direction:row;align-items:center;gap:8px}.pl-avatar{width:32px;height:32px;border-radius:50%;overflow:hidden;background:var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0}.pl-avatar img,.pl-avatar svg{width:100%;height:100%;object-fit:cover}.player-name-texts{display:flex;flex-direction:column}.player-name-top-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.pn-web{font-weight:600}.pn-full{font-size:11px;color:var(--text-muted)}.tp-status-dot{position:relative;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;font-size:10px;font-weight:900;flex-shrink:0;cursor:default}.tp-status-dot[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 5px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;font-size:11px;font-weight:500;padding:3px 8px;border-radius:4px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.tp-status-dot[data-tooltip]:hover:after{opacity:1}.team-col{color:var(--text-muted)}.price-col{font-weight:600;color:var(--green-dark)}.pts-col{font-weight:700;text-align:center}.th-sortable.th-pts{text-align:center}.gw-col{font-weight:700;color:var(--purple);text-align:center}.th-sortable.th-gw{text-align:center}.th-gw-short{display:none}.th-gw-full{display:inline}.player-actions-cell{display:flex;align-items:center;gap:6px}.in-squad-badge{font-size:11px;color:var(--green-dark);font-weight:600}.invalid-pos{font-size:11px;color:var(--text-muted)}.cant-afford{font-size:11px;color:var(--red)}.squad-full{font-size:11px;color:var(--text-muted)}.add-btn{padding:6px 12px;font-size:12px}.squad-player.pending-out{background:#ef444412;border-radius:6px;padding:8px;opacity:.8;border-bottom:none}.squad-player.staged-add{background:#16a34a12;border-radius:6px;padding:8px;border-bottom:none}.staged-badge{font-size:11px;font-weight:600;color:var(--green-dark, #16a34a)}.sp-pending-in{font-size:11px;color:var(--green-dark, #16a34a);font-weight:600;margin-top:2px}.pick-team-pos-summary{display:flex;gap:14px;flex-wrap:wrap;align-items:center}.pick-pos{font-size:13px;font-weight:600;padding:3px 8px;border-radius:4px}.pick-pos--ok{color:var(--green, #22c55e)}.pick-pos--missing{color:var(--text-muted)}.pick-team-missing-msg{color:var(--red, #ef4444);font-size:13px;font-weight:600;margin:0;width:100%}.pending-transfers-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:16px;border-left:4px solid var(--purple);flex-wrap:wrap;min-width:0;overflow:hidden}.pending-transfers-list{display:flex;flex-direction:column;gap:6px;flex:1;min-width:0}.pending-transfer-item{display:flex;align-items:center;gap:10px;font-size:13px;flex-wrap:wrap}.pt-out,.pt-in{display:flex;align-items:center;gap:5px;min-width:0;overflow:hidden}.pt-dir{font-size:10px;font-weight:700;padding:1px 5px;border-radius:4px;text-transform:uppercase}.pt-dir--out{background:#ef44441f;color:#dc2626}.pt-dir--in{background:#16a34a1f;color:#16a34a}.pt-team{font-size:11px;color:var(--text-muted)}.pt-arrow{color:var(--text-muted);font-size:14px}.pt-remove{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:13px;padding:0 2px;line-height:1;opacity:.6;transition:opacity .15s}.pt-remove:hover{opacity:1;color:#dc2626}.pending-complete-btn{white-space:nowrap;flex-shrink:0}.transfer-confirm-modal{max-width:500px}.confirm-subtitle{font-size:14px;margin-bottom:16px;color:var(--text-muted)}.confirm-transfer-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.confirm-transfer-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--light-bg, #f8f8f8);border-radius:8px;flex-wrap:wrap}.confirm-player{display:flex;align-items:center;gap:6px;flex:1;min-width:150px}.confirm-player--out .confirm-name{text-decoration:line-through;color:var(--text-muted)}.confirm-player--in .confirm-name{font-weight:600}.confirm-dir{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;flex-shrink:0}.confirm-dir--out{background:#ef44441f;color:#dc2626}.confirm-dir--in{background:#16a34a1f;color:#16a34a}.confirm-team{font-size:12px;color:var(--text-muted)}.confirm-arrow{color:var(--text-muted);font-size:16px}.confirm-cost-note{font-size:13px;color:var(--text-muted);padding:8px 12px;background:#ef44440f;border-radius:6px;border-left:3px solid #ef4444}.confirm-cost-note--free{background:#16a34a0f;border-left-color:#16a34a;color:#16a34a}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid var(--border)}@media(max-width:900px){.transfers-layout{grid-template-columns:1fr}.pending-transfers-bar{flex-direction:column;align-items:stretch}.pending-complete-btn{width:100%}}@media(max-width:640px){.filter-row{flex-direction:column}.filter-input,.filter-select{width:100%;min-width:0}.transfers-header h1{font-size:20px}tbody td{padding:7px 6px;font-size:12px}thead th{padding:7px 6px;font-size:11px}.th-team,.team-col,.pn-full,.tp-actions-col{display:none}.tp-player-row{cursor:pointer}.tp-player-row:active{background:#4a006114}.pl-avatar{width:26px;height:26px}.sp-avatar{width:28px;height:28px}.sp-name{font-size:12px}.sp-pts{display:none}.sp-btn{padding:3px 5px;font-size:10px}.add-btn{padding:5px 8px;font-size:11px}.transfer-banner{font-size:12px;padding:8px 12px}}@media(max-width:480px){.transfers-header{margin-bottom:12px}.transfers-header h1{font-size:18px}.transfers-meta{font-size:11px}.squad-player{padding:7px 4px;gap:6px}.sp-avatar{width:28px;height:28px}.sp-name{font-size:12px}.sp-team{font-size:10px}.sp-pts{display:none}.sp-btn{padding:7px 10px;font-size:12px;min-width:36px;text-align:center}.squad-pos-label{font-size:10px}.squad-pos-group{margin-bottom:8px}.squad-panel h2{font-size:14px;margin-bottom:8px}.th-gw-full{display:none}.th-gw-short{display:inline}}.tp-sheet-stats{display:flex;gap:16px;font-size:13px;color:var(--text-muted);padding:6px 0 4px;border-bottom:1px solid var(--border, #e5e7eb);margin-bottom:2px}.tp-sheet-stats strong{color:var(--text)}.pitch-action-btn--transfer{background:var(--purple);color:#fff}.pitch-action-block-reason{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;padding:8px 12px;font-size:13px;font-weight:600;margin:6px 0 4px}.pitch-action-block-reason--in-squad{background:#f0fdf4;color:#16a34a;border-color:#86efac}.fixtures-page h1{font-size:24px;color:var(--purple);margin-bottom:20px}.gw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}.gw-tab{padding:7px 14px;border-radius:20px;font-size:13px;font-weight:600;background:var(--white);color:var(--text-muted);border:2px solid var(--border);transition:all .2s}.gw-tab:hover{border-color:var(--purple);color:var(--purple)}.gw-tab.active{background:var(--purple);color:var(--white);border-color:var(--purple)}.gw-tab.current{border-color:var(--green-dark)}.fixtures-list{display:flex;flex-direction:column;gap:16px}.gw-group{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.gw-header{background:var(--purple);color:var(--white);padding:10px 16px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:10px}.gw-current-badge{background:var(--green);color:var(--purple);font-size:10px;padding:2px 8px;border-radius:10px}.gw-finished-badge{background:#fff3;font-size:10px;padding:2px 8px;border-radius:10px}.fixture-row{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;padding:12px 16px;border-bottom:1px solid var(--border);gap:12px}.fixture-row:last-child{border-bottom:none}.fixture-row.played{background:#00000003}.fixture-team{font-size:14px;font-weight:700}.fixture-team--opponent{font-weight:400}.home-team{text-align:right}.away-team{text-align:left}.fixture-result-badge{width:22px;height:22px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;flex-shrink:0}.fixture-result-badge--w{background:#16a34a;color:#fff}.fixture-result-badge--d{background:#ca8a04;color:#fff}.fixture-result-badge--l{background:#dc2626;color:#fff}.fixture-score{text-align:center;min-width:60px}.score{font-size:18px;font-weight:800;color:var(--purple);background:var(--light-bg);padding:4px 12px;border-radius:6px;white-space:nowrap}.vs{font-size:14px;color:var(--text-muted);font-weight:600}.fixture-time{font-size:11px;color:var(--text-muted);white-space:nowrap}.bye-label{display:inline-block;padding:2px 10px;border-radius:4px;font-size:11px;font-weight:700;background:#f3e8ff;color:#7c3aed;letter-spacing:.5px}.fixture-wrapper{border-bottom:1px solid var(--border)}.fixture-wrapper:last-child{border-bottom:none}.fixture-wrapper .fixture-row{border-bottom:none}.stats-toggle-btn{background:none;border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:11px;color:var(--text-muted);cursor:pointer;line-height:1.4}.stats-toggle-btn:hover{background:var(--light-bg);color:var(--purple);border-color:var(--purple)}.fixture-stats-panel{padding:10px 16px 14px;background:var(--light-bg);border-top:1px solid var(--border)}.fixture-stats-sections{display:flex;flex-direction:column;gap:8px}.fixture-stats-section{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.fixture-stats-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);min-width:120px}.fixture-stats-chips{display:flex;flex-wrap:wrap;gap:5px}.fixture-stats-chip{background:var(--white);border:1px solid var(--border);border-radius:4px;padding:2px 8px;font-size:13px}.fixture-stats-chip--btn{cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.fixture-stats-chip--btn:hover{background:var(--light-bg);border-color:var(--purple);color:var(--purple)}.fixture-stats-loading,.fixture-stats-empty{font-size:13px;color:var(--text-muted)}@media(max-width:480px){.fixture-row{grid-template-columns:22px minmax(0,1fr) 54px minmax(0,1fr);gap:4px 6px;padding:10px}.fixture-row>.stats-toggle-btn,.fixture-row>.fixture-time{grid-column:1 / -1;justify-self:end}.fixture-team{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fixture-score{min-width:0}.score{font-size:14px;padding:3px 6px}.vs{font-size:13px}.gw-tabs{gap:4px}.gw-tab{padding:6px 10px;font-size:12px}}.league-page h1,.league-title-row h1{font-size:24px;color:var(--purple);margin-bottom:6px}.league-subtitle{color:var(--text-muted);font-size:14px;margin-bottom:20px}.league-table{overflow-x:auto;padding:0}.league-table table{width:100%;border-collapse:collapse}.league-table thead th{padding:14px 16px;font-size:12px;font-weight:700;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);text-align:left}.league-table tbody tr{border-bottom:1px solid var(--border);transition:background .15s}.league-table tbody tr:hover{background:var(--light-bg)}.league-table tbody tr.my-row{background:#37003c0a;font-weight:600}.league-table tbody td{padding:14px 16px;font-size:14px}.rank-badge{font-size:18px}.manager-name{font-weight:600}.you-badge{display:inline-block;margin-left:8px;background:var(--purple);color:#fff;font-size:10px;padding:2px 8px;border-radius:10px;font-weight:700}.team-name{color:var(--text-muted)}.gw-pts{font-weight:600;color:var(--purple)}.total-pts{font-size:18px;font-weight:800;color:var(--purple)}.league-pending-banner{background:color-mix(in srgb,var(--amber, #f59e0b) 15%,transparent);border:1px solid var(--amber, #f59e0b);border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:14px;color:var(--text)}.league-title-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.league-title-row h1{margin-bottom:0}.info-btn{background:none;border:none;font-size:22px;color:var(--purple);cursor:pointer;padding:0 4px;line-height:1;opacity:.7;transition:opacity .15s}.info-btn:hover{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.modal-card{background:var(--card-bg, #fff);border-radius:12px;box-shadow:0 8px 32px #0000002e;width:100%;max-width:420px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 12px;border-bottom:1px solid var(--border)}.modal-header h2{margin:0;font-size:18px;color:var(--purple)}.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-muted);line-height:1;padding:0}.modal-close:hover{color:var(--text)}.modal-body{padding:16px 20px 20px;overflow-y:auto}.info-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:14px}.info-label{color:var(--text-muted)}.info-value{font-weight:600}.info-divider{border:none;border-top:1px solid var(--border);margin:14px 0 10px}.info-section-title{font-weight:700;font-size:13px;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px}.info-subsection-title{font-weight:600;font-size:12px;text-transform:uppercase;color:var(--text-muted);margin:12px 0 4px;opacity:.7}@media(max-width:600px){.league-table thead th,.league-table tbody td{padding:10px 8px;font-size:13px}.league-table .team-name{display:none}.total-pts,.rank-badge{font-size:15px}}@media(max-width:420px){.league-table thead th,.league-table tbody td{padding:8px 6px;font-size:12px}.league-table thead th:nth-child(3),.league-table tbody td:nth-child(3){display:none}.total-pts{font-size:14px}.you-badge{display:none}}.points-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}.points-sidebar{display:flex;flex-direction:column;gap:12px;position:sticky;top:80px}.points-gw-card{background:var(--purple);color:#fff;border-radius:var(--radius);padding:20px;text-align:center}.points-gw-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;opacity:.75;margin-bottom:6px}.live-badge{display:inline-block;background:#e53935;color:#fff;font-size:9px;font-weight:800;letter-spacing:1px;padding:1px 5px;border-radius:3px;margin-left:5px;vertical-align:middle;animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.5}}.points-gw-name{font-size:18px;font-weight:800}.points-stat-card{background:var(--card-bg);border-radius:var(--radius);padding:16px 20px;box-shadow:var(--shadow);display:flex;align-items:center;gap:16px}.points-stat-num{font-size:36px;font-weight:800;color:var(--purple);line-height:1;min-width:60px}.points-stat-num--green{color:var(--green-dark)}.points-stat-num--muted{font-size:20px;color:var(--text-muted)}.points-stat-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.points-transfer-deduction{font-size:12px;font-weight:600;color:#e53935;margin-top:4px}.points-deadline-card{background:#fff8e1;border:1px solid #ffe082}.points-deadline-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:#b45309;margin-bottom:4px}.points-deadline-time{font-size:14px;font-weight:700;color:#92400e}.points-pitch-wrap{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.points-pitch-header{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border-bottom:1px solid var(--border)}.points-pitch-title{font-size:16px;font-weight:700;color:var(--purple)}.points-pitch-subtitle{font-size:12px;color:var(--text-muted)}.points-empty{max-width:400px;margin:60px auto;text-align:center;display:flex;flex-direction:column;gap:16px;align-items:center}@media(max-width:768px){.points-layout{grid-template-columns:1fr}.points-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px}.points-gw-card,.points-deadline-card{grid-column:1 / -1}}@media(max-width:420px){.points-sidebar{grid-template-columns:1fr}}.points-league-note{font-size:11px;color:var(--amber, #f59e0b);margin-top:4px;font-weight:600}.admin-page{max-width:1100px;margin:0 auto;padding:24px 16px}.admin-title{font-size:26px;color:var(--purple);margin-bottom:20px}.admin-tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px}.admin-tab{padding:10px 20px;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-muted);margin-bottom:-2px;transition:color .15s,border-color .15s}.admin-tab:hover{color:var(--purple)}.admin-tab.active{color:var(--purple);border-bottom-color:var(--purple)}.admin-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table th{text-align:left;padding:10px 12px;background:var(--light-bg);border-bottom:2px solid var(--border);font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.admin-table td{padding:10px 12px;border-bottom:1px solid var(--border);vertical-align:middle}.admin-table tbody tr:hover{background:var(--light-bg)}.actions-cell{display:flex;gap:6px;align-items:center;flex-wrap:wrap;white-space:nowrap}.actions-cell>div,.actions-cell>.inline-form{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.inline-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.admin-form{padding:20px;margin-bottom:20px}.admin-form h3{margin-bottom:16px;font-size:16px;color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px}.form-row{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.form-row label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px}.form-input{padding:8px 10px;border:1px solid var(--border);border-radius:6px;font-size:14px;background:var(--card-bg);color:var(--text)}.form-input--sm{width:160px}.form-input--xs{width:60px;text-align:center;padding:4px 6px}.form-input:focus{outline:none;border-color:var(--purple)}.form-input[type=number]::-webkit-inner-spin-button,.form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.form-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.result-table input[type=number]::-webkit-inner-spin-button,.result-table input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.result-table input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.form-actions{display:flex;gap:10px;margin-top:16px}.pos-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700}.pos-GK{background:#f9a825;color:#000}.pos-DEF{background:#003e69;color:#fff}.pos-MID{background:#2e7d32;color:#fff}.pos-FWD{background:#c62828;color:#fff}.role-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase}.role-member{background:var(--light-bg);color:var(--text-muted)}.role-teamadmin{background:#e3f2fd;color:#003e69}.role-clubadmin{background:#ede7f6;color:#5e35b1}.status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.status-played{background:#e8f5e9;color:#2e7d32}.status-upcoming{background:#fff3e0;color:#e65100}.status-tbc{background:#f5f5f5;color:#9e9e9e}.home-away-badge{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:4px;font-size:10px;font-weight:700;background:#e0e7ff;color:#4338ca}.status-available{background:#e8f5e9;color:#2e7d32}.status-injured{background:#fff3e0;color:#e65100}.status-suspended{background:#ffebee;color:#c62828}.status-away{background:#e3f2fd;color:#003e69}.status-deregistered{background:#f3e5f5;color:#6a1b9a}.status-unavailable{background:#f5f5f5;color:#757575}.fixture-label{margin:8px 0;padding:8px 12px;background:var(--light-bg);border-radius:6px;font-size:15px;font-weight:600;color:var(--text-primary)}.stats-table-wrap{overflow-x:auto}.stats-table input[type=number]{width:56px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:flex-start;justify-content:center;z-index:1000;overflow-y:auto;padding:32px 16px}.modal{background:var(--card-bg);border-radius:10px;padding:24px;width:100%;max-width:960px;box-shadow:0 8px 32px #0000002e}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-header h2{font-size:18px;color:var(--text);margin:0}.modal-score{display:flex;align-items:center;gap:12px;margin-bottom:20px}.modal-score label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;display:flex;flex-direction:column;gap:4px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}.result-table{overflow-x:auto}.result-table input[type=number]{width:52px;text-align:center}.result-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.result-table td{padding:8px 10px}.result-table tr.not-played{opacity:.45}.admin-error{background:#ffebee;color:#c62828;border:1px solid #ef9a9a;border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:13px}.admin-success{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:13px}.admin-warning{background:#fff8e1;color:#e65100;border:1px solid #ffe082;border-radius:6px;padding:10px 14px;margin-bottom:14px;font-size:13px}.btn-danger{background:#ef5350;color:#fff;border:none}.btn-danger:hover{background:#c62828}.btn-success{background:#43a047;color:#fff;border:none}.btn-success:hover{background:#2e7d32}.admin-page .btn-outline{background:#fff;border-color:#ccc;color:#333}.admin-page .btn-outline:hover{background:#f5f5f5;border-color:#999;color:#111}.accordion{display:flex;flex-direction:column;gap:8px}.accordion-item{border:1px solid var(--border);border-radius:8px;overflow:hidden}.accordion-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;cursor:pointer;background:var(--light-bg);-webkit-user-select:none;user-select:none;transition:background .12s}.accordion-header:hover{background:var(--border)}.accordion-title{font-weight:600;font-size:14px}.accordion-controls{display:flex;align-items:center;gap:8px}.accordion-chevron{font-size:11px;color:var(--text-muted);min-width:12px;text-align:center}.accordion-body{padding:16px;background:var(--card-bg);border-top:1px solid var(--border)}.accordion-item--nested{border-radius:6px;margin-bottom:6px}.accordion-item--nested .accordion-header{background:var(--card-bg);padding:10px 14px}.accordion-item--nested .accordion-header:hover{background:var(--light-bg)}.accordion-item--nested .accordion-body{padding:12px 14px;border-top:1px solid var(--border)}@media(max-width:640px){.form-grid{grid-template-columns:1fr}.admin-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:0}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{white-space:nowrap;flex-shrink:0;padding:10px 12px;font-size:13px}.modal{padding:16px}.modal-overlay{padding:16px 8px}.admin-toolbar{flex-wrap:wrap}}.admin-table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.fixture-arrow{display:none;font-size:10px;color:var(--text-muted);margin-right:4px;-webkit-user-select:none;user-select:none}.fixture-actions-row{display:none}.fixture-actions-panel{display:flex;flex-wrap:wrap;gap:8px;padding:8px 12px;background:var(--light-bg);border-top:1px solid var(--border)}@media(max-width:640px){.fixture-arrow{display:inline}.admin-table--fixtures tr.admin-fixture-row{cursor:pointer}.admin-table--fixtures th.actions-col-header,.admin-table--fixtures td.actions-cell{display:none}.fixture-actions-row.fixture-actions-row--open{display:table-row}.fixture-actions-panel .btn-sm{min-height:unset;padding:5px 10px;font-size:12px}}.admin-tab-select-wrap{display:none}.admin-tabs--desktop{display:flex}.mobile-detail-grid{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13px;margin-bottom:8px}.mobile-detail-label{color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.4px;font-weight:600;white-space:nowrap;align-self:center}.fixture-actions-panel-btns{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:640px){.admin-tab-select-wrap{display:block;margin-bottom:20px}.admin-tab-select{width:100%;padding:10px 12px;font-size:15px;font-weight:600;border:2px solid var(--border);border-radius:8px;background:var(--card-bg);color:var(--text);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.admin-tabs--desktop,.admin-table--gameweeks th.gw-col-start,.admin-table--gameweeks th.gw-col-end,.admin-table--gameweeks th.gw-col-deadline,.admin-table--gameweeks td.gw-col-start,.admin-table--gameweeks td.gw-col-end,.admin-table--gameweeks td.gw-col-deadline,.admin-table--gameweeks th.actions-col-header,.admin-table--gameweeks td.actions-cell,.admin-table--players th.players-col-team,.admin-table--players th.players-col-pts,.admin-table--players th.players-col-status,.admin-table--players td.players-col-team,.admin-table--players td.players-col-pts,.admin-table--players td.players-col-status,.admin-table--players th.actions-col-header,.admin-table--players td.actions-cell,.admin-table--users th.users-col-name,.admin-table--users th.users-col-email,.admin-table--users th.users-col-teams,.admin-table--users th.users-col-access,.admin-table--users td.users-col-name,.admin-table--users td.users-col-email,.admin-table--users td.users-col-teams,.admin-table--users td.users-col-access,.admin-table--users th.actions-col-header,.admin-table--users td.actions-cell,.admin-table--invites th.invites-col-expires,.admin-table--invites th.invites-col-used,.admin-table--invites td.invites-col-expires,.admin-table--invites td.invites-col-used,.admin-table--invites th.actions-col-header,.admin-table--invites td.actions-cell{display:none}.admin-table--gameweeks tr.admin-fixture-row,.admin-table--players tr.admin-fixture-row,.admin-table--users tr.admin-fixture-row,.admin-table--invites tr.admin-fixture-row{cursor:pointer}.admin-table{font-size:13px}.admin-table th,.admin-table td{padding:8px}}.remind-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px}.remind-modal{background:#fff;border-radius:10px;padding:24px 28px;width:100%;max-width:480px;box-shadow:0 8px 32px #0000002e}.remind-modal-title{margin:0 0 4px;font-size:17px;font-weight:700}.remind-modal-subtitle{margin:0 0 16px;font-size:13px;color:var(--text-muted, #888)}.remind-loading{color:var(--text-muted, #888);font-size:14px;margin:8px 0 16px}.remind-blocked{background:#fff8e1;border:1px solid #ffe082;border-radius:6px;padding:12px 14px;margin-bottom:16px;font-size:14px;color:#6d4c00}.remind-blocked-time{margin:6px 0 0;font-size:13px}.remind-all-done{color:var(--text-muted, #888);font-size:14px;margin-bottom:16px}.remind-intro{font-size:14px;margin-bottom:8px}.remind-team-list{margin:0 0 12px 20px;padding:0;font-size:14px}.remind-team-list li{padding:2px 0}.remind-once-note{font-size:12px;color:var(--text-muted, #888);margin-bottom:16px}.remind-error{color:#c62828;font-size:13px;margin:8px 0}.remind-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:16px}.remind-progress-wrap{margin:8px 0 16px}.remind-progress-label{font-size:13px;color:var(--text-muted, #888);margin-bottom:8px}.remind-progress-track{height:8px;background:#e0e0e0;border-radius:4px;overflow:hidden}.remind-progress-fill{height:100%;background:var(--accent, #4caf50);border-radius:4px;transition:width .3s ease}.remind-result{text-align:center}.remind-result-text{font-size:15px;font-weight:600;margin:8px 0 16px;color:#2e7d32}.bulk-invite-email-list{max-height:180px;overflow-y:auto;font-family:monospace;font-size:13px;border:1px solid var(--border, #e0e0e0);border-radius:6px;padding:8px 8px 8px 28px;margin-bottom:12px}.stats-page h1{font-size:24px;color:var(--purple);margin-bottom:4px}.stats-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;flex-wrap:wrap;gap:8px}.stats-subtitle{color:var(--text-muted);font-size:14px}.stats-count{font-size:13px;color:var(--text-muted);background:var(--light-bg);border:1px solid var(--border);border-radius:20px;padding:4px 12px;white-space:nowrap;align-self:center}.stats-filters{margin-bottom:16px;padding:16px 20px}.stats-filters-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:130px}.filter-group--search{flex:1;min-width:180px}.filter-group label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);letter-spacing:.04em}.stats-page .form-input{border:1px solid var(--border);border-radius:6px;padding:7px 10px;font-size:13px;background:var(--white);color:var(--text);width:100%}.stats-page .form-input:focus{border-color:var(--purple);box-shadow:0 0 0 2px #37003c1a}.stats-table-wrap{padding:0;overflow:hidden}.stats-loading,.stats-empty{padding:40px;text-align:center;color:var(--text-muted);font-size:14px}.stats-scroll{overflow-x:auto}.stats-error{background:#fee2e2;color:#991b1b;padding:10px 16px;border-radius:var(--radius);font-size:13px;margin-bottom:12px}.stats-table{width:100%;border-collapse:collapse;font-size:13px}.stats-table thead th{padding:11px 12px;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--text-muted);border-bottom:2px solid var(--border);text-align:center;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--white);position:sticky;top:0;z-index:1}.stats-table thead th:hover{color:var(--purple)}.stats-table thead th.col-player,.stats-table thead th.col-team{text-align:left}.stats-table tbody tr{border-bottom:1px solid var(--border);transition:background .12s}.stats-table tbody tr:last-child{border-bottom:none}.stats-table tbody tr:hover{background:var(--light-bg)}.stats-table td{padding:10px 12px;text-align:center;color:var(--text)}.stats-table td.col-player,.stats-table td.col-team{text-align:left}.col-player{min-width:160px}.col-season{min-width:60px;font-weight:600;color:var(--text-muted)}.col-team{min-width:140px;color:var(--text-muted);font-size:12px}.col-pos{min-width:48px}.player-link{background:none;border:none;padding:0;font-size:13px;font-weight:600;color:var(--purple);cursor:pointer;text-align:left}.player-link:hover{text-decoration:underline}.pos-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.03em}.pos-badge--gk{background:#fef9c3;color:#854d0e}.pos-badge--def{background:#dcfce7;color:#166534}.pos-badge--mid{background:#dbeafe;color:#1e40af}.pos-badge--fwd{background:#fee2e2;color:#991b1b}.stat--highlight{color:#166534;font-weight:700}.stat--warn{color:#854d0e;font-weight:700}.stat--danger{color:#991b1b;font-weight:700}.sort-icon{font-size:10px;color:var(--purple);margin-left:2px}.sort-icon--inactive{color:var(--border)}.settings-page{max-width:540px;margin:0 auto;padding:32px 16px}.settings-title{font-size:26px;color:var(--purple);margin-bottom:24px}.settings-card{padding:24px;margin-bottom:20px}.settings-section-title{font-size:16px;font-weight:700;color:var(--purple);margin-bottom:16px}.settings-field{margin-bottom:14px}.settings-label{display:block;font-size:13px;font-weight:600;color:var(--text-muted);margin-bottom:5px;text-transform:uppercase;letter-spacing:.5px}.settings-hint{font-size:12px;color:var(--text-muted);margin-top:4px}.settings-actions{margin-top:16px}.settings-error{color:var(--red, #e53935);font-size:13px;margin-bottom:8px}.settings-success{color:var(--green, #43a047);font-size:13px;margin-bottom:8px}.htp-page{max-width:760px;margin:0 auto;padding:32px 16px}.htp-header{margin-bottom:28px}.htp-header h1{font-size:28px;color:var(--purple);margin-bottom:6px}.htp-subtitle{color:var(--text-muted);font-size:15px}.htp-sections{display:flex;flex-direction:column;gap:16px}.htp-card{padding:24px}.htp-card h2{font-size:17px;font-weight:700;color:var(--purple);margin-bottom:12px}.htp-card p{color:var(--text-muted);margin-bottom:10px;line-height:1.6}.htp-card ol,.htp-card ul{padding-left:20px;color:var(--text-muted);line-height:1.8}.htp-card--admin{border-left:3px solid var(--purple)}.htp-card--admin h2{color:var(--purple)}.htp-admin-section{margin-top:16px}.htp-admin-section:first-of-type{margin-top:0}.htp-admin-section h3{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);margin-bottom:8px}.htp-admin-section+.htp-admin-section{margin-top:20px;padding-top:20px;border-top:1px solid var(--border, #e5e7eb)}@media(max-width:500px){.htp-page{padding:20px 12px}.htp-card{padding:16px}.htp-header h1{font-size:22px}}.ms-header{margin-bottom:24px}.ms-header h1{font-size:26px;color:var(--purple)}.ms-status{color:var(--text-muted);font-size:14px}.ms-status--error{color:var(--red)}.ms-section{margin-bottom:36px}.ms-section-title{font-size:18px;font-weight:700;color:var(--purple);margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid var(--green)}.ms-section-desc{font-size:13px;color:var(--text-muted);margin-top:-8px;margin-bottom:14px}.ms-empty{color:var(--text-muted);font-size:14px;font-style:italic;padding:8px 0}.ms-subsections{display:flex;flex-direction:column;gap:24px}.ms-subsection{border-radius:var(--radius);overflow:hidden}.ms-subsection-title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:var(--white);padding:8px 14px;margin-bottom:12px;border-radius:var(--radius);background:var(--purple)}.ms-subsection--appearances .ms-subsection-title{background:#16a34a}.ms-subsection--goals .ms-subsection-title{background:#dc2626}.ms-subsection--assists .ms-subsection-title{background:#1976d2}.ms-subsection--wins .ms-subsection-title{background:#d97706}.ms-subsection--first-appearance .ms-subsection-title{background:var(--purple)}.ms-subsection-icon{font-size:16px;line-height:1}.ms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}.ms-card{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;display:flex;align-items:center;gap:12px;border-left:4px solid var(--green)}.ms-card--goals{border-left-color:var(--red)}.ms-card--assists{border-left-color:#1976d2}.ms-card--wins{border-left-color:#f59e0b}.ms-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.ms-avatar--placeholder{width:48px;height:48px;flex-shrink:0}.ms-card-info{flex:1;min-width:0}.ms-card-name{font-weight:700;font-size:15px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-card-team{font-size:12px;color:var(--text-muted);margin-top:2px;margin-bottom:6px}.ms-card-badge{display:inline-flex;align-items:center;gap:5px;background:var(--light-bg);border-radius:4px;padding:3px 8px}.ms-icon{font-size:13px;line-height:1}.ms-label{font-size:12px;font-weight:600;color:var(--purple)}.ms-upcoming-list{display:flex;flex-direction:column;gap:10px}.ms-upcoming-row{background:var(--card-bg);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px 16px;display:flex;align-items:center;gap:12px}.ms-upcoming-info{flex:1;display:flex;flex-direction:column;min-width:0}.ms-upcoming-name{font-weight:600;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ms-upcoming-team{font-size:12px;color:var(--text-muted)}.ms-upcoming-progress{display:flex;align-items:baseline;white-space:nowrap}.ms-upcoming-current{font-weight:800;font-size:20px;color:var(--purple)}.ms-upcoming-sep{font-size:14px;color:var(--text-muted)}.ms-upcoming-next{font-weight:700;font-size:16px;color:var(--green-dark)}.ms-upcoming-label{font-size:11px;color:var(--text-muted);margin-left:3px}@media(max-width:600px){.ms-grid{grid-template-columns:1fr}}
