:root{--bg-color:#ffffff;--text-color:#000000;--header-bg:#1E1E1E;--row-even:#f0f0f0;--row-odd:#e0e0e0;--page-title-start:#266EFF;--page-title-end:#266EFF;--cell-pos-color:#00c06f;--cell-neg-color:#ff4c4c;--cell-zero-color:#000000;--btn-top-bg:#c8fbc8;--btn-bottom-bg:#ffe7e7;--sticky-header-height:56px;--ice-top:#00c06f;--ice-bottom:#ff4c4c;--img-box-bg:#ffffff;--time-box-bg:#ffffff;--time-box-text:#000000;--period-bg:#2a2a2a;--period-text:#ffffff;--w-nr:36px;--w-player:140px;--w-pos:60px;--table-scroll-offset:250px;--row-dark-even:#2a2a2a;--row-dark-odd:#3a3a3a;--row-even:#f7f7f7;--row-odd:#ededed}[data-theme="dark"]{--bg-color:#111111;--text-color:#ffffff;--header-bg:#1E1E1E;--row-even:#333333;--row-odd:#4a4a4a;--cell-pos-color:#00ff80;--cell-neg-color:#ff4c4c;--cell-zero-color:#ffffff;--img-box-bg:#1e1e1e;--time-box-bg:#1a1a1a;--time-box-text:#ffffff;--period-bg:rgba(255,255,255,0.05);--period-text:#ffffff}html{touch-action:manipulation}body{margin:0;font-family:"Segoe UI",sans-serif;background-color:var(--bg-color);color:var(--text-color);display:flex;justify-content:center;align-items:flex-start;min-height:100vh;padding:20px}.page{width:100%;max-width:1100px}.page-top{display:flex;flex-direction:column;align-items:center;margin-bottom:12px}h1{text-align:center;margin:12px 0 12px 0;text-transform:uppercase;font-weight:700;background:linear-gradient(135deg,var(--page-title-start) 0%,var(--page-title-end) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}#goalValuePage h1,#seasonPage h1,#seasonMapPage h1,#playerSelectionPage h1{font-family:"Astroz","Segoe UI",sans-serif;font-size:1.69em;margin:12px 0 12px 0;text-align:center}.center-text{text-align:center;color:#888;margin-top:6px}.player-list{list-style:none;padding:0;margin:20px auto;max-width:600px}.player-list li{display:flex;align-items:center;gap:10px;background:var(--header-bg);border:1px solid #333;border-radius:10px;padding:8px 12px;margin:6px 0}.player-list li span{color:#fff}#playerSelectionPage input[type="checkbox"]{width:18px;height:18px;accent-color:#e3fba7}.player-list .num{width:48px;text-align:center;font-weight:700;color:#fff}.player-list input[type="text"]{background:var(--row-even);color:var(--text-color);border:1px solid #444;border-radius:8px;padding:6px 8px;flex:1}#playerSelectionPage .current-team-info{text-align:center;margin-top:10px;margin-bottom:8px}#playerSelectionPage #currentTeamDisplay{font-family:"Astroz","Segoe UI",sans-serif;font-size:1.69em;font-weight:700;background:linear-gradient(135deg,var(--page-title-start) 0%,var(--page-title-end) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;display:inline-block}.top-bar{display:flex;flex-wrap:nowrap;gap:8px;justify-content:center;padding:8px 0;width:100%;max-width:900px;overflow-x:auto;-webkit-overflow-scrolling:touch}#statsPage .top-bar{max-width:100% !important;width:100% !important;display:flex !important;flex-wrap:nowrap !important;justify-content:space-between !important;align-items:center !important;gap:clamp(6px,1vw,10px) !important;overflow-x:hidden !important;padding:8px 0 !important}#statsPage .top-btn,#statsPage .import-csv-btn{flex:1 1 auto !important;min-width:auto !important;white-space:nowrap !important;font-size:clamp(0.80rem,1.0vw,0.95rem) !important;padding:clamp(6px,0.9vw,8px) clamp(8px,1.4vw,14px) !important;min-height:40px !important}#themeToggleBtn{background:linear-gradient(to bottom,#d0d0d0,#808080);color:#000;border:none;border-radius:8px;padding:8px 12px;cursor:pointer;font-size:1.2rem;min-width:40px !important;max-width:45px !important;flex:0 0 auto !important;display:flex;align-items:center;justify-content:center;text-shadow:none}#themeToggleBtn:hover{filter:brightness(1.1)}[data-theme="dark"] #themeToggleBtn{background:linear-gradient(to bottom,#4a4a4a,#2a2a2a);color:#fff}#seasonPage .top-bar{gap:12px;justify-content:center;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.top-btn,.import-csv-btn{background:#2b2b2b;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:0.95rem;transition:background 0.2s;height:40px;display:inline-flex;align-items:center;justify-content:center;font-weight:400;box-sizing:border-box;flex:0 0 auto;min-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-btn:hover,.import-csv-btn:hover{background:#3b3b3b}.top-btn.export-csv{background:#2FB7C8;color:#fff}.top-btn.export-csv:hover{filter:brightness(1.1)}.top-btn.season-highlight{background:#4C99FF;color:#fff}.top-btn.season-highlight:hover{filter:brightness(0.95)}.top-btn.export-season{background:#1B62E5;color:#fff}.top-btn.export-season:hover{filter:brightness(0.95)}.top-btn.back-btn{background:#3a3a3a;color:#fff}.top-btn.back-btn:hover{filter:brightness(1.1)}.import-csv-btn{background:#010741;color:#fff}#selectPlayersBtn{background:#1E2A44;color:#fff}#torbildBtn{background:#22335A;color:#fff}#goalValueBtn{background:#263D70;color:#fff}.danger-btn{background:#7F0000;color:#fff}.danger-btn:hover{background:#9F0000}.reset-btn{font-weight:700}.player-filter-btn{background:#6b6b6b !important;color:#fff;border:none;border-radius:8px;padding:8px 14px;cursor:pointer;font-size:0.95rem;transition:background 0.2s;height:40px;display:inline-flex;align-items:center;justify-content:center;font-weight:400;box-sizing:border-box;flex:0 0 auto;min-width:140px;appearance:none;-webkit-appearance:none;-moz-appearance:none;text-align:center;text-align-last:center}.player-filter-btn:hover{background:#7b7b7b !important}.player-filter-btn option{background:#2b2b2b;color:#fff}@keyframes neon-pulse-sync{0%,100%{box-shadow:0 0 5px currentColor,0 0 10px currentColor,0 0 15px currentColor;opacity:1}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px currentColor;opacity:0.85}}@keyframes neon-pulse-red{0%,100%{box-shadow:0 0 5px #ff4444,0 0 10px #ff4444,0 0 15px #ff4444}50%{box-shadow:0 0 10px #ff4444,0 0 20px #ff4444,0 0 30px #ff4444}}#goalMapGoalieFilter.active{animation:neon-pulse-red 2s ease-in-out infinite;border:2px solid #ff4444 !important;color:#ff4444}#goalMapPlayerFilter.active{animation:neon-pulse-green 2s ease-in-out infinite !important;border:2px solid #266EFF !important;color:#266EFF !important}.goalie-name-overlay{position:absolute;bottom:25%;left:50%;transform:translateX(-50%);font-size:48px;font-weight:bold;color:rgba(255,255,255,0.35);text-transform:uppercase;pointer-events:none;z-index:1;letter-spacing:8px;user-select:none}.goalie-name-goal{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);font-size:24px;font-weight:bold;color:rgba(255,0,0,0.4);text-transform:uppercase;pointer-events:none;z-index:2;user-select:none;letter-spacing:4px}.player-name-overlay{position:absolute;top:25%;left:50%;transform:translateX(-50%);font-size:48px;font-weight:bold;color:rgba(0,255,102,0.15);text-transform:uppercase;pointer-events:none;z-index:1;letter-spacing:8px;user-select:none}.confirm-btn{background:#266EFF;color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-size:1.1rem;font-weight:700;transition:background 0.2s;display:block;margin:20px auto;min-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.confirm-btn:hover{background:#1E5AD8}#statsScrollContainer{max-height:none;overflow-y:visible}table{width:100%;border-collapse:collapse;font-size:0.95rem}thead th{background:var(--header-bg);color:#ffffff;position:sticky;top:0;z-index:40;padding:8px 6px;border-bottom:2px solid #333;text-align:center}thead th:nth-child(2){text-align:left;padding-left:12px}th,td{padding:8px 6px;text-align:center;border-bottom:1px solid #333;color:var(--text-color)}.even-row{background-color:var(--row-even)}.odd-row{background-color:var(--row-odd)}td[data-player]{cursor:pointer;transition:transform 0.08s,background 0.08s}td[data-player]:active{transform:scale(1.12);background:#222}th.sortable{user-select:none}th .sort-arrow{font-size:0.7rem;color:#ddd}.torbild-layout{display:flex;justify-content:space-between;align-items:stretch;gap:20px;height:calc(100vh - 120px);margin-top:20px}.field-column{flex:1;display:flex;justify-content:center}.field-box,.img-box{background:var(--img-box-bg);border:2px solid #333;border-radius:10px;padding:5px;flex:1;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.field-box img,.img-box img{width:100%;height:100%;object-fit:contain;border-radius:8px}#torbildPage .goal-column{display:grid;grid-template-rows:1fr 1fr 1fr;gap:15px;height:100%}#torbildPage .goal-img-box{height:100%;min-height:0;position:relative}#torbildPage .goal-img-box img{width:100%;height:100%;object-fit:contain;border-radius:8px}#torbildPage .time-tracking-box{height:100%;min-height:0}.goal-column{flex:1;display:flex;flex-direction:column;gap:15px}#seasonMapPage .torbild-layout{height:calc(100vh - 120px);margin-bottom:32px}#seasonMapPage .goal-column{display:grid;grid-template-rows:1fr 1fr 0.75fr;gap:15px}#seasonMapPage .goal-img-box{min-height:0;position:relative}#seasonMapPage .time-tracking-box{max-height:none !important;min-height:0;overflow:visible !important;height:auto !important;display:flex;align-items:stretch;visibility:hidden}#seasonMapPage .img-box{position:relative;flex:1 !important;display:flex !important;align-items:center !important;justify-content:center !important;min-height:0;height:100%;overflow:hidden}#seasonFieldBox{position:relative}.heatmap-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:5;opacity:0.4;mix-blend-mode:multiply}#seasonMapPage .marker-dot{position:absolute;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;border:1px solid #000;box-shadow:0 0 2px rgba(0,0,0,0.5)}.marker-dot{position:absolute;width:14px;height:14px;border-radius:50%;border:2px solid #000;box-shadow:0 0 3px rgba(0,0,0,0.5);transform:translate(-50%,-50%);cursor:pointer;background-color:#444444}.goalvalue-table td,.goalvalue-table button,.stats-table td,.season-table td,.time-btn,button,.time-cell,.stat-cell,[data-stat],.lineup-position,.player-row{touch-action:manipulation !important;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.stats-table td[data-player][data-cat],.season-table td[data-player][data-cat],.ice-time-cell,.goalvalue-table td,.goalvalue-table .gv-data-cell,.season-time-cell,.goalvalue-table,.goalvalue-table th,.stats-table td,.season-table td,.time-btn{touch-action:manipulation !important;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.total-cell[data-cat="Shot"]{touch-action:manipulation !important;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.field-box:active,#field:active{transform:none;transition:none}.time-tracking-box{display:flex !important;flex-direction:column !important;justify-content:flex-start !important;align-items:stretch !important;background:var(--time-box-bg);border:2px solid #333;border-radius:10px;padding:10px !important;color:var(--time-box-text);font-size:0.95rem;overflow:hidden !important;overflow-y:auto !important;height:auto;min-height:auto;max-height:none !important;gap:10px;box-sizing:border-box !important;position:relative}.period{flex-shrink:0 !important;position:relative !important;width:100% !important;max-width:100% !important;margin:0 !important;top:0 !important;left:0 !important;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:auto minmax(1.4em,auto) auto;align-items:center;justify-items:center;row-gap:2px;column-gap:12px;padding:6px 10px;background:var(--period-bg);border:1px solid rgba(255,255,255,0.3);border-radius:8px;color:var(--period-text);box-sizing:border-box !important}.period-title{grid-column:1 / -1;font-weight:bold;text-align:center;margin-bottom:4px;font-size:0.85rem}.period-buttons.top-row,.period-buttons.bottom-row,.period-numbers{display:contents}.period-numbers span{color:#ccc;font-size:0.8rem;line-height:1}.time-btn{width:100%;height:20px;border:none;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:transform 0.1s,background 0.2s}.period-buttons.top-row .time-btn{background:var(--btn-top-bg)}.period-buttons.bottom-row .time-btn{background:var(--btn-bottom-bg)}.period-buttons.top-row .time-btn:hover{background-color:#b2f0b2}.period-buttons.bottom-row .time-btn:hover{background-color:#ffd3d3}.time-btn:active{transform:scale(1.05)}.time-btn[disabled],.time-btn.disabled-readonly{opacity:0.7;cursor:default;pointer-events:none;filter:brightness(0.95)}.time-tracking-box .period{flex-shrink:0 !important;position:relative !important;width:100% !important;max-width:100% !important;margin:0 !important;transform:none !important;top:0 !important;left:0 !important;flex-grow:0 !important}.stats-table td:nth-child(2),.season-table td:nth-child(2),.stats-table .player-name,.season-table .player-name{white-space:nowrap !important;overflow:hidden;text-overflow:ellipsis;max-width:150px}.top-bar{min-height:48px}.top-bar .top-btn{flex-shrink:0 !important;min-width:max-content !important}#statsPage .top-bar{overflow-x:auto !important;-webkit-overflow-scrolling:touch}#seasonPage{flex-direction:column !important;align-items:center !important;width:100% !important;max-width:none}#seasonPage:not([style*="display:none"]){display:flex !important}#seasonPage h1{text-align:center !important;width:100% !important;margin:12px 0}#seasonPage .page-top{width:100%;max-width:1100px;margin:0 auto;display:flex;flex-direction:column;align-items:center}#seasonContainer{position:relative;overflow-x:scroll !important;overflow-y:hidden !important;display:flex !important;justify-content:center !important;align-items:flex-start !important;width:100% !important;max-width:1200px;margin:0 auto;-webkit-overflow-scrolling:touch !important;padding-left:0;padding-right:20px;padding-bottom:20px !important;box-sizing:border-box !important;height:auto;min-height:0;max-height:calc(100vh - 200px);background:var(--bg-color)}#seasonContainer::-webkit-scrollbar{height:18px !important;background:rgba(0,0,0,0.2) !important}#seasonContainer::-webkit-scrollbar-thumb{background:#266EFF !important;border-radius:10px !important;border:3px solid rgba(0,0,0,0.1) !important}#seasonContainer::-webkit-scrollbar-thumb:hover{background:#1E55CC !important}#seasonContainer{scrollbar-width:auto !important;scrollbar-color:#266EFF rgba(0,0,0,0.2) !important}#seasonPage table{width:100%;margin:6px auto 10px auto;min-width:max-content !important;border-collapse:collapse !important;font-size:0.95rem !important;display:table !important}#seasonPage thead th{padding:6px 4px !important;border-bottom:2px solid #333;background:var(--header-bg);color:#ffffff;position:sticky;top:0;text-align:center}#seasonPage tbody tr:nth-child(odd){background-color:var(--row-odd)}#seasonPage tbody tr:nth-child(even){background-color:var(--row-even)}#seasonPage .total-row td{background:var(--header-bg) !important;color:#ffffff !important;font-weight:700 !important;border-top:2px solid #333}.table-scroll{width:100% !important;position:relative !important}#seasonContainer{position:relative;overflow:auto !important;display:block !important;width:100% !important;max-width:1400px;margin:0 auto;padding-bottom:20px;box-sizing:border-box;max-height:calc(100vh - 200px);background:var(--bg-color)}#seasonContainer::-webkit-scrollbar{height:16px;background:rgba(0,0,0,0.25)}#seasonContainer::-webkit-scrollbar-thumb{background:#266EFF;border-radius:8px}#seasonContainer::-webkit-scrollbar-thumb:hover{background:#1E55CC}#seasonContainer{scrollbar-width:auto;scrollbar-color:#266EFF rgba(0,0,0,0.25)}.season-table-wrapper{display:flex !important;gap:0 !important;width:max-content;min-width:100%;align-items:flex-start;position:relative}.fixed-columns{position:sticky !important;left:0 !important;z-index:100 !important;background:var(--bg-color) !important;flex-shrink:0;margin:0 !important;padding:0 !important}.scrollable-columns{flex:1;margin:0 !important;padding:0 !important;min-width:0;z-index:1 !important}.table-scroll{width:100%}.season-table-fixed,.season-table-scroll{border-collapse:collapse;border-spacing:0;width:100%;margin:0;padding:0}.season-table-fixed th,.season-table-fixed td,.season-table-scroll th,.season-table-scroll td{padding:8px 12px;white-space:nowrap;border-bottom:1px solid #333;line-height:1.2;text-align:center;box-sizing:border-box}.season-table-fixed thead th,.season-table-scroll thead th{background:var(--header-bg) !important;color:#fff !important;position:sticky;top:0;z-index:30;height:44px;vertical-align:middle}.season-table-fixed thead th{z-index:110 !important;background:var(--header-bg) !important}.season-table-scroll thead th{z-index:30 !important}.season-table-fixed tbody tr,.season-table-scroll tbody tr{height:40px}.season-table-fixed tbody td,.season-table-scroll tbody td{height:40px;vertical-align:middle}.season-table-fixed tbody tr.even-row td,.season-table-scroll tbody tr.even-row td{background-color:#333333 !important}.season-table-fixed tbody tr.odd-row td,.season-table-scroll tbody tr.odd-row td{background-color:#4a4a4a !important}[data-theme="light"] .season-table-fixed tbody tr.even-row td,[data-theme="light"] .season-table-scroll tbody tr.even-row td{background-color:#f7f7f7 !important}[data-theme="light"] .season-table-fixed tbody tr.odd-row td,[data-theme="light"] .season-table-scroll tbody tr.odd-row td{background-color:#ededed !important}.season-table-fixed tfoot,.season-table-scroll tfoot{position:sticky;bottom:0;z-index:20}.season-table-fixed tfoot{z-index:110 !important}.season-table-scroll tfoot{z-index:20 !important}.season-table-fixed .total-row td,.season-table-scroll .total-row td{background:var(--header-bg) !important;color:#ffffff !important;font-weight:700 !important;border-top:2px solid #555;height:44px}.season-table-fixed tfoot td{z-index:110 !important;background:var(--header-bg) !important}.season-table-fixed td:nth-child(2),.season-table-fixed th:nth-child(2){text-align:left;padding-left:12px}.scrollable-columns::-webkit-scrollbar{width:12px;background:rgba(0,0,0,0.2)}.scrollable-columns::-webkit-scrollbar-thumb{background:#266EFF;border-radius:6px}.fixed-columns,.scrollable-columns{max-height:calc(100vh - 250px);overflow-y:auto}.fixed-columns::-webkit-scrollbar{width:0;display:none}.fixed-columns{scrollbar-width:none;-ms-overflow-style:none}#goalValuePage{width:100%;max-width:none}#goalValueContainer{width:100%;display:flex;justify-content:center;background:var(--bg-color)}.goal-value-scroll-wrapper{width:100%;max-height:75vh;overflow:auto;background:var(--bg-color)}.goal-value-table{border-collapse:collapse;min-width:100%;font-size:0.95rem}.goal-value-table th,.goal-value-table td{padding:8px 12px;white-space:nowrap;text-align:center;border-bottom:none;border-top:none}.goal-value-table .sticky-col{position:sticky;left:0;z-index:10;background:var(--bg-color);text-align:left;min-width:150px}.goal-value-table thead th{position:sticky;top:0;z-index:15;background:var(--header-bg);color:#fff !important;font-weight:700;font-size:0.95rem;border-bottom:2px solid #333}.goal-value-table thead th.sticky-col{z-index:25;left:0;top:0;background:var(--header-bg);font-size:0.95rem;font-weight:700}.goal-value-table tbody tr.even-row td{background-color:var(--row-even)}.goal-value-table tbody tr.odd-row td{background-color:var(--row-odd)}.goal-value-table tbody tr.even-row td.sticky-col{background-color:var(--row-even);font-weight:700}.goal-value-table tbody tr.odd-row td.sticky-col{background-color:var(--row-odd);font-weight:700}.goal-value-table .bottom-row td{background:var(--header-bg) !important;color:#ffffff !important;font-weight:700;border-top:2px solid #555}.goal-value-table .bottom-row td.sticky-col{background:var(--header-bg) !important}.goal-value-scroll-wrapper::-webkit-scrollbar{width:10px;height:10px}.goal-value-scroll-wrapper::-webkit-scrollbar-track{background:#1a1a1a}.goal-value-scroll-wrapper::-webkit-scrollbar-thumb{background:#266EFF;border-radius:5px}.goal-value-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#1E55CC}.goal-value-scroll-wrapper{scrollbar-width:thin;scrollbar-color:#266EFF #1a1a1a}.goal-value-table td,.goal-value-table tbody td,.goal-value-table tbody tr td,.goal-value-table tbody td.sticky-col{border:none !important}.goal-value-table tr,.goal-value-table tbody tr{border:none !important}.goalvalue-table td,.goalvalue-table tbody td,.goalvalue-table tbody tr td{border:none !important}.goalvalue-table tr,.goalvalue-table tbody tr{border:none !important}.goal-value-table td,.goal-value-table tr,.goalvalue-table td,.goalvalue-table tr{box-shadow:none !important}.goal-value-table thead th{border-bottom:2px solid #333 !important}.goal-value-table .bottom-row td{border-top:2px solid #555 !important}.goalvalue-table thead th{border-bottom:2px solid #333 !important}.goal-value-table,.goalvalue-table{font-size:0.95rem !important}.goal-value-table tbody td.sticky-col,.goal-value-table tbody td:first-child,.goalvalue-table tbody td:first-child,.goalvalue-table tbody td.sticky-col{font-weight:700 !important;font-size:0.95rem !important}.goal-value-table thead th,.goalvalue-table thead th{font-size:0.95rem !important;font-weight:700 !important}.goalvalue-table{width:auto !important;min-width:max-content !important;border-collapse:separate !important;border-spacing:0 !important;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:0.95rem;margin-top:6px;margin-bottom:10px;table-layout:fixed;display:table !important}.goalvalue-table tbody tr:nth-child(odd){background:var(--row-odd)}.goalvalue-table tbody tr:nth-child(even){background:var(--row-even)}.goalvalue-table tbody tr:hover{background:inherit !important}.goalvalue-table th{padding:6px 4px !important;border-bottom:2px solid #333;background:var(--header-bg) !important;color:#fff !important;font-size:0.95rem;font-weight:700;position:sticky;top:0;z-index:30}.goalvalue-table td{padding:6px 4px !important;text-align:center;border-bottom:none;border-top:none}.goalvalue-table .sticky-col{position:sticky !important;left:0 !important;z-index:25 !important;background:var(--header-bg) !important;box-shadow:2px 0 4px rgba(0,0,0,0.1) !important}.goalvalue-table thead th.sticky-col{position:sticky !important;left:0 !important;z-index:35 !important;background:var(--header-bg) !important;color:#fff !important;font-size:0.95rem;font-weight:700;box-shadow:2px 0 4px rgba(0,0,0,0.15) !important}.goalvalue-table tbody td.sticky-col{position:sticky !important;left:0 !important;z-index:20 !important;box-shadow:2px 0 4px rgba(0,0,0,0.1) !important;font-weight:700}.goalvalue-table tbody tr:nth-child(even) td.sticky-col{background:var(--row-even) !important;font-weight:700}.goalvalue-table tbody tr:nth-child(odd) td.sticky-col{background:var(--row-odd) !important;font-weight:700}.goalvalue-table tbody tr:last-child td.sticky-col{background:rgba(0,0,0,0.03) !important;border-top:2px solid #333 !important}.goalvalue-table thead th.gv-name-header.sticky-col{position:sticky !important;left:0 !important;z-index:50 !important;background:var(--header-bg) !important}.goalvalue-table tbody td.gv-name-cell.sticky-col{position:sticky !important;left:0 !important;z-index:40 !important}[data-theme="dark"] .goalvalue-table .sticky-col{box-shadow:2px 0 4px rgba(255,255,255,0.05) !important}[data-theme="dark"] .goalvalue-table thead th.sticky-col{box-shadow:2px 0 4px rgba(255,255,255,0.1) !important}.gv-name-cell{text-align:left !important;padding-left:12px !important;padding-right:12px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;font-weight:700 !important}.gv-name-header{text-align:left !important;padding-left:12px !important;background:var(--header-bg) !important;color:#fff !important}.gv-bottom-label{text-align:left !important;padding-left:12px !important;background:var(--bg-color) !important;border-top:2px solid #555 !important}.gv-data-cell{cursor:pointer;user-select:none;font-weight:600;-webkit-tap-highlight-color:transparent;transition:transform 0.08s,background 0.08s}.gv-data-cell:active{transform:scale(1.08);background:rgba(68,187,145,0.2)}.gv-value-cell{font-weight:700;min-width:80px}.goalvalue-title-input{background:var(--header-bg) !important;border:1px solid rgba(255,255,255,0.2) !important;border-radius:6px !important;padding:6px 8px !important;color:#fff !important;text-align:center !important;max-width:100px !important;width:100% !important;box-sizing:border-box !important;font-size:0.8em !important;font-weight:600 !important}.goalvalue-title-input:focus{outline:2px solid #266EFF !important;background:#2a2a2a !important}.gv-scale-dropdown{width:75px !important;padding:8px 6px !important;border-radius:6px !important;border:2px solid rgba(255,255,255,0.2) !important;background:var(--header-bg) !important;color:#fff !important;font-weight:700 !important;text-align:center !important;cursor:pointer !important;font-size:0.95rem !important;outline:none !important;-webkit-appearance:none !important;appearance:none !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 6px center !important;background-size:12px !important;padding-right:26px !important}.gv-scale-dropdown:hover{background-color:#2a2a2a !important;border-color:rgba(255,255,255,0.3) !important}.gv-scale-dropdown:focus{outline:2px solid #266EFF !important;border-color:#266EFF !important}.gv-scale-dropdown option{background:#1a1a1a !important;color:#fff !important;padding:10px !important}.inline-editor{padding:4px 6px;border:1px solid #cfcfcf;border-radius:4px;width:64px;box-sizing:border-box;text-align:center}#seasonMapMomentumContainer{width:100%;max-width:1100px;margin:12px auto 0 auto;border-radius:8px;background:transparent;box-sizing:border-box;padding:2px 6px 6px 6px}#seasonMapMomentumContainer svg{display:block;width:100%;height:auto;user-select:none}#seasonMapMomentumContainer text{dominant-baseline:middle;font-family:"Segoe UI",Roboto,Arial,sans-serif;font-size:11px}@media (max-width:900px){.torbild-layout{flex-direction:column;height:auto}.goalvalue-title-input{font-size:0.85rem}.top-bar{gap:6px}.top-btn,.import-csv-btn{min-width:120px}}@media (min-width:901px) and (max-width:1024px){#torbildPage .torbild-layout,#seasonMapPage .torbild-layout{flex-direction:row;height:auto;min-height:600px;max-height:90vh;align-items:stretch}#torbildPage .field-column,#seasonMapPage .field-column{flex:1;min-width:0}#torbildPage .goal-column,#seasonMapPage .goal-column{display:flex;flex-direction:column;flex:1;min-width:0;gap:15px}#torbildPage .time-tracking-box,#seasonMapPage .time-tracking-box{flex:1;min-height:0;overflow:visible !important;overflow-y:auto !important}}@media (min-width:1025px){#torbildPage .torbild-layout,#seasonMapPage .torbild-layout{height:auto;min-height:600px;max-height:90vh;align-items:stretch}#torbildPage .field-column,#seasonMapPage .field-column{flex:1;min-width:0}#torbildPage .goal-column,#seasonMapPage .goal-column{display:flex;flex-direction:column;flex:1;min-width:0;gap:15px}#torbildPage .time-tracking-box,#seasonMapPage .time-tracking-box{flex:1;min-height:0;overflow:visible !important;overflow-y:auto !important}}#statsPage .total-row td{background:var(--header-bg) !important;color:#ffffff !important;font-weight:700 !important;border-top:2px solid #333}#goalValuePage .goalvalue-table tbody tr:last-child td{background:var(--header-bg) !important;color:var(--text-color) !important;font-weight:700 !important;border-top:2px solid #333}.season-table{table-layout:fixed !important;width:100%;border-collapse:separate !important;border-spacing:0 !important;margin:6px auto 10px auto;min-width:max-content;font-size:0.95rem;display:table}.season-table th,.season-table td{white-space:nowrap;padding:6px 6px}.season-table:is(th,td):nth-child(1),.season-table:is(th,td):nth-child(2),.season-table:is(th,td):nth-child(3){overflow:hidden !important;text-overflow:ellipsis !important;white-space:nowrap !important}.season-table thead th{position:sticky;top:0;z-index:20;background:var(--header-bg);color:#fff;border-bottom:2px solid #333;text-align:center;font-weight:700}.season-table tbody td{border-bottom:1px solid rgba(0,0,0,0.06);text-align:center}.season-table tbody tr:nth-child(odd){background:var(--row-odd)}.season-table tbody tr:nth-child(even){background:var(--row-even)}.season-table:is(th,td):nth-child(1){width:var(--w-nr) !important;min-width:var(--w-nr) !important;max-width:var(--w-nr) !important;position:sticky !important;left:0 !important;z-index:15 !important;box-shadow:2px 0 0 rgba(0,0,0,0.3)}.season-table:is(th,td):nth-child(2){width:var(--w-player) !important;min-width:var(--w-player) !important;max-width:var(--w-player) !important;position:sticky !important;left:var(--w-nr) !important;z-index:15 !important;box-shadow:2px 0 0 rgba(0,0,0,0.3);text-align:left;padding-left:12px}.season-table:is(th,td):nth-child(3){width:var(--w-pos) !important;min-width:var(--w-pos) !important;max-width:var(--w-pos) !important;position:sticky !important;left:calc(var(--w-nr)+var(--w-player)) !important;z-index:15 !important;box-shadow:inset -6px 0 8px -6px rgba(0,0,0,0.5)}.season-table thead th:nth-child(-n+3){z-index:25 !important;background:var(--header-bg)}.season-table thead th:nth-child(2){text-align:left;padding-left:12px;font-weight:700}.season-table tbody tr:nth-child(odd) td:nth-child(1),.season-table tbody tr:nth-child(odd) td:nth-child(2),.season-table tbody tr:nth-child(odd) td:nth-child(3){background:var(--row-odd) !important}.season-table tbody tr:nth-child(even) td:nth-child(1),.season-table tbody tr:nth-child(even) td:nth-child(2),.season-table tbody tr:nth-child(even) td:nth-child(3){background:var(--row-even) !important}.season-table .total-row td:nth-child(1),.season-table .total-row td:nth-child(2),.season-table .total-row td:nth-child(3){background:var(--header-bg) !important;position:sticky;z-index:15}.season-table .total-row td:nth-child(1){left:0}.season-table .total-row td:nth-child(2){left:var(--w-nr,60px)}.season-table .total-row td:nth-child(3){left:calc(var(--w-nr,60px)+var(--w-player,140px))}.season-table thead th:last-child,.season-table tbody td:last-child{min-width:80px;padding-right:12px}.season-table .total-row td{background:var(--header-bg);color:#ffffff;font-weight:700;border-top:2px solid #333;padding:8px 6px}.season-table .pos-header{background:var(--header-bg) !important;color:#fff;padding:6px;text-align:center;cursor:default}.season-table .pos-filter,.pos-filter,#positionFilter{width:100%;padding:4px 8px;background:#266EFF !important;color:#fff !important;border:none;border-radius:4px;font-size:0.9rem;font-weight:600;cursor:pointer;outline:none;appearance:none;-webkit-appearance:none;-moz-appearance:none;text-align:center;text-align-last:center}.season-table .pos-filter:hover,.pos-filter:hover,#positionFilter:hover{background:#1E5AD8 !important}.season-table .pos-filter:focus,.pos-filter:focus,#positionFilter:focus{background:#1E5AD8 !important}.season-table .pos-filter option,.pos-filter option,#positionFilter option{background:#2b2b2b;color:#fff}.season-table .pos-cell{text-align:center;font-weight:600;min-width:70px}.team-selection-container{max-width:800px;margin:0 auto;padding:20px}.team-slots{display:flex;flex-direction:column;gap:20px}.team-slot{background:#1a1a1a;border:2px solid #333;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;transition:border-color 0.3s ease;margin-bottom:16px}.team-slot:hover{border-color:#333}.team-display h3{margin:0 0 8px 0;color:#266EFF;font-size:1.2rem}.team-name{color:#fff;font-size:1.1rem;font-weight:600}.team-btn{background:#266EFF;color:white;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all 0.3s ease;margin-right:10px}.team-btn:hover{background:#1E5AD8}.team-btn.active-team{background:#2a2a2a;border:2px solid #266EFF;color:#266EFF;padding:10px 22px}.team-btn.active-team:hover{background:#333;border-color:#1E5AD8}.goal-marker{display:none !important}#goalValueContainer{position:relative !important;overflow-x:auto !important;overflow-y:hidden !important}#goalValueContainer table.goalvalue-table thead th.gv-name-header{position:sticky !important;left:0 !important;z-index:100 !important;font-size:0.95rem !important;font-weight:700 !important}#goalValueContainer table.goalvalue-table tbody td.gv-name-cell{position:sticky !important;left:0 !important;z-index:90 !important;font-weight:700 !important}.goalvalue-table tbody tr:nth-child(even) td.sticky-col{background-color:#f0f0f0 !important;font-weight:700 !important}.goalvalue-table tbody tr:nth-child(odd) td.sticky-col{background-color:#e0e0e0 !important;font-weight:700 !important}[data-theme="dark"] .goalvalue-table tbody tr:nth-child(even) td.sticky-col{background-color:#333333 !important;font-weight:700 !important}[data-theme="dark"] .goalvalue-table tbody tr:nth-child(odd) td.sticky-col{background-color:#4a4a4a !important;font-weight:700 !important}.goalvalue-table tbody tr:last-child td.sticky-col{background-color:#1E1E1E !important;border-top:2px solid #333 !important}[data-theme="dark"] .goalvalue-table tbody tr:last-child td.sticky-col{background-color:#1E1E1E !important}[data-theme="dark"] .goalvalue-table .sticky-col{box-shadow:2px 0 6px rgba(0,0,0,0.4) !important}[data-theme="dark"] .goalvalue-table thead th.sticky-col{box-shadow:2px 0 6px rgba(0,0,0,0.5) !important}.edit-team-btn{background:transparent;border:1px solid #555;color:#aaa;padding:8px 12px;border-radius:6px;cursor:pointer;font-size:1rem;transition:all 0.2s ease}.edit-team-btn:hover{border-color:#266EFF;color:#266EFF}.team-button-group{display:flex;align-items:center;gap:10px}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:none;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#1e1e1e;padding:30px;border-radius:12px;border:2px solid #333;min-width:300px;max-width:90%}.modal-content h2{color:#fff;margin-top:0;margin-bottom:20px}.modal-content input[type="text"]{width:100%;padding:12px;border:1px solid #444;border-radius:8px;background:#2a2a2a;color:#fff;font-size:1rem;margin-bottom:20px;box-sizing:border-box}.modal-content input[type="text"]:focus{outline:none;border-color:#266EFF}.modal-buttons{display:flex;gap:10px;justify-content:flex-end}.modal-buttons button{padding:10px 20px;border-radius:6px;border:none;cursor:pointer;font-size:0.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.modal-buttons .save-btn{background:#266EFF;color:white}.modal-buttons .save-btn:hover{background:#1E5AD8}.modal-buttons .cancel-btn{background:#444;color:#fff}.modal-buttons .cancel-btn:hover{background:#555}.modal-buttons .confirm-btn{background:#266EFF;color:white}.modal-buttons .confirm-btn:hover{background:#1E5AD8}#workflowStatusIndicator{display:none;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #266EFF;border-radius:10px;padding:12px 20px;margin:10px auto;max-width:600px;text-align:center;box-shadow:0 4px 15px rgba(68,187,145,0.2)}#workflowStatusText{color:#fff;font-size:0.95rem}#workflowStatusText strong{color:#266EFF}.goal-area-label{position:absolute;pointer-events:none;font-weight:800;opacity:0.45;font-size:36px;color:#000000;text-shadow:0 1px 2px rgba(255,255,255,0.06);line-height:1;user-select:none;white-space:nowrap}.drag-handle{color:#4C99FF;margin-right:8px;cursor:grab;font-size:1.2rem;user-select:none}.drag-handle:active{cursor:grabbing}tr[data-player].dragging{background:rgba(68,187,145,0.3) !important;transform:scale(1.02);box-shadow:0 5px 15px rgba(0,0,0,0.3);z-index:1000}#playerSelectionPage .player-list{list-style:none;padding:0;margin:20px auto;max-width:800px}#playerSelectionPage .player-list li{display:flex;align-items:center;gap:10px;background:#1a1a1a;border-radius:10px;padding:10px 15px;margin:8px 0}#playerSelectionPage .player-list input[type="checkbox"]{width:20px;height:20px;accent-color:#266EFF;flex-shrink:0}#playerSelectionPage .player-list .num-input{width:45px;min-width:45px;max-width:45px;background:#2a2a2a;color:#fff;border:1px solid #444;border-radius:8px;padding:10px 6px;text-align:center;font-size:0.95rem;flex:0 0 45px}#playerSelectionPage .player-list .num-input::placeholder{color:#666}#playerSelectionPage .player-list .name-input{flex:1;min-width:0;background:#3a3a3a;color:#fff;border:1px solid #444;border-radius:8px;padding:10px 15px;font-size:0.95rem}#playerSelectionPage .player-list .name-input::placeholder{color:#888}#playerSelectionPage .player-list .pos-select{width:60px;min-width:60px;max-width:60px;background:#2a2a2a;color:#266EFF;border:1px solid #444;border-radius:8px;padding:10px 6px;text-align:center;font-size:0.95rem;font-weight:bold;flex:0 0 60px;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none}#playerSelectionPage .player-list .pos-select:focus{outline:none;border-color:#266EFF}#playerSelectionPage .player-list .pos-select:invalid,#playerSelectionPage .player-list .pos-select option[value=""]{color:#666}#playerSelectionPage .player-list .pos-select:valid{color:#266EFF}#playerSelectionPage .player-list .pos-select option{background:#2a2a2a;color:#fff}#playerSelectionPage .player-list .pos-select option:disabled{color:#666}#playerSelectionPage .player-list li.goalie-slot{border:0.15px solid #266EFF}#playerSelectionPage .player-list li:not(.goalie-slot){border:0.15px solid #888888}#playerSelectionPage .player-list .pos-fixed{width:60px;min-width:60px;max-width:60px;background:#2a2a2a;color:#266EFF;border:1px solid #444;border-radius:8px;padding:10px 6px;text-align:center;font-size:0.95rem;font-weight:bold;flex:0 0 60px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}#playerSelectionPage .top-bar{display:flex;gap:10px;justify-content:center;margin-bottom:20px}#playerSelectionPage .top-btn.back-btn{background:#2b2b2b;color:#fff}#playerSelectionPage .top-btn.game-data-btn{background:#2D73C6;color:#fff}#playerSelectionPage .top-btn.game-data-btn:hover{background:#2563A8}#playerSelectionPage .top-btn.lineup-btn{background:#00B9FF;color:#fff}#playerSelectionPage h1{text-align:center;color:#266EFF;font-size:1.8rem;margin-bottom:10px}#playerSelectionPage .subtitle{text-align:center;color:#888;font-size:0.95rem;margin-bottom:20px}#lineUpPage{width:100%;max-width:1200px;padding:0 20px}#lineUpPage .page-top{margin-bottom:10px}#lineUpPage .top-bar{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;overflow:visible !important}#lineUpPage .top-btn{min-width:120px}.lineup-change-line-btn{background:#00B9FF;color:#fff}.lineup-change-line-btn:hover{filter:brightness(0.9)}#lineUpPage .top-btn.game-data-btn{background:#2D73C6;color:#fff}#lineUpPage .top-btn.game-data-btn:hover{background:#2563A8}.lineup-player-out-btn{background:#FF0000 !important;color:#fff;position:relative}.lineup-player-out-btn:hover{background:#CC0000 !important}@keyframes pulse-red{0%{box-shadow:0 0 0 0 rgba(255,0,0,0.7)}70%{box-shadow:0 0 0 12px rgba(255,0,0,0)}100%{box-shadow:0 0 0 0 rgba(255,0,0,0)}}#lineUpPage .lineup-player-out-btn.has-players-out{background:#FF0000 !important;animation:pulse-red 1.5s infinite}.player-out-dot{display:none}.lineup-export-pdf-btn{background:#046798 !important;color:#fff}.lineup-export-pdf-btn:hover{filter:brightness(1.1)}#lineUpPage .player-out-container{position:relative;display:inline-block;z-index:100}#lineUpPage .player-out-dropdown{display:none;position:absolute;top:calc(100%+5px);left:0;background:#2a2a2a;border:2px solid #444;border-radius:10px;min-width:220px;max-height:350px;overflow-y:auto;z-index:1000;box-shadow:0 8px 24px rgba(0,0,0,0.5);margin-top:4px}#lineUpPage .player-out-dropdown.open{display:block}#lineUpPage .player-out-item{padding:10px 15px;cursor:pointer;border-bottom:1px solid #333;color:#fff}#lineUpPage .player-out-item:last-child{border-bottom:none}#lineUpPage .player-out-item:hover{background:#3a3a3a}#lineUpPage .player-out-item.is-out{background:#cc3333;color:#fff;text-decoration:line-through}#lineUpPage .player-out-item.is-out:hover{background:#aa2222}.lineup-title{text-align:center;font-size:2.5rem;font-weight:700;color:#266EFF;margin:10px 0 5px 0;background:linear-gradient(135deg,#266EFF 0%,#00bcd4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}#lineUpPage .lineup-mode-label{text-align:center;color:#266EFF;font-size:0.9rem;font-weight:bold;margin-top:-10px;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.lineup-stats{text-align:center;color:#888;font-size:0.95rem;margin-bottom:20px}#lineUpContainer{display:flex;flex-direction:column;gap:20px}.lineup-section{background:#1a1a1a;border:1px solid #333;border-radius:12px;padding:15px}.lineup-section-title{color:#00bcd4;font-size:1.1rem;font-weight:700;margin:0 0 15px 0;text-align:center}.lineup-forwards{display:flex;flex-direction:column;gap:15px}.lineup-line{display:flex;flex-direction:column;align-items:center;gap:5px}.lineup-line-row{display:flex;gap:15px;justify-content:center}.lineup-line-stats{color:#888;font-size:0.85rem}.lineup-position{background:#4a4a4a;color:#fff;border:none;border-radius:8px;padding:8px 12px;width:180px;min-width:180px;max-width:180px;height:36px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:all 0.2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;justify-content:center}.lineup-position:hover{background:#5a5a5a;transform:translateY(-2px)}.lineup-position.assigned{background:#0074FF;border:1px solid #00B9FF}.lineup-position.lineup-center{background:#4a4a4a !important;border:none !important}.lineup-position.lineup-center:hover{background:#5a5a5a !important}.lineup-position.lineup-center.assigned{background:#0074FF !important;border:1px solid #00B9FF !important}#lineUpPage .position-slot .player-name{font-weight:500;letter-spacing:0.3px}.lineup-defense{display:flex;flex-direction:column;gap:12px}.lineup-defense-pair{display:flex;align-items:center;justify-content:center;gap:20px}.lineup-pair-stats{color:#888;font-size:0.85rem;min-width:120px;text-align:center}.lineup-special-teams{display:flex;gap:20px}.lineup-boxplay,.lineup-powerplay{flex:1}.lineup-formation{margin-bottom:15px}.lineup-formation-row{display:flex;gap:10px;justify-content:center;margin-bottom:8px}.lineup-pp-defense{justify-content:center;gap:30px}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;justify-content:center;align-items:center;z-index:1000}.lineup-player-modal{max-width:400px;max-height:80vh;overflow-y:auto;margin:0 auto;text-align:center}.lineup-player-list{display:flex;flex-direction:column;align-items:center;gap:8px;margin:15px 0;max-height:400px;overflow-y:auto}.lineup-player-option{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#2a2a2a;border:1px solid #444;border-radius:8px;cursor:pointer;transition:all 0.2s;width:100%;max-width:300px;margin:5px auto}.lineup-player-option:hover{background:#3a3a3a;border-color:#266EFF}.lineup-player-option.selected{background:#1E4A7F;border-color:#266EFF}.lineup-player-option.assigned{opacity:0.6}.lineup-player-number{color:#888;font-weight:600;min-width:30px}.lineup-player-name{color:#fff;flex:1}.lineup-player-assigned{color:#266EFF;font-size:0.9rem}.player-out-item{display:flex;align-items:center;gap:12px;padding:12px 15px;background:#2a2a2a;border:1px solid #444;border-radius:8px;cursor:pointer;transition:all 0.2s}.player-out-item:hover{background:#3a3a3a;border-color:#b00020}.player-out-item.selected{background:#4a1a1a;border-color:#b00020}@media (max-width:768px){.lineup-special-teams{flex-direction:column}.lineup-line-row{gap:8px}.lineup-position{width:120px;min-width:120px;max-width:120px;padding:10px 12px;font-size:0.8rem}.lineup-defense-pair{gap:10px}.lineup-pair-stats{min-width:90px;font-size:0.75rem}#seasonMapPage .torbild-layout{flex-direction:column !important;height:auto !important;gap:15px}#seasonMapPage .field-column,#seasonMapPage .goal-column{width:100%;max-width:100%}#seasonMapPage .goal-column{gap:15px}#seasonMapPage .img-box,#seasonMapPage .field-box,#seasonMapPage .goal-img-box{width:100% !important;max-width:100% !important;box-sizing:border-box !important}#seasonMapPage .heatmap-canvas{max-width:100%;height:auto}#torbildPage .torbild-layout{flex-direction:column !important;height:auto !important;gap:15px}#torbildPage .field-column,#torbildPage .goal-column{width:100%;max-width:100%}#torbildPage .goal-column{gap:15px}#torbildPage .img-box,#torbildPage .field-box,#torbildPage .goal-img-box{width:100% !important;max-width:100% !important;box-sizing:border-box !important}#seasonMapPage .top-bar,#torbildPage .top-bar{flex-wrap:wrap !important;justify-content:center !important;overflow:visible !important;gap:8px}#seasonMapPage .top-bar .top-btn,#seasonMapPage .top-bar .player-filter-btn,#torbildPage .top-bar .top-btn,#torbildPage .top-bar .player-filter-btn{flex:0 1 auto !important;min-width:110px !important;max-width:none !important;font-size:0.85rem !important;padding:8px 12px !important}#seasonMapPage .time-tracking-box,#torbildPage .time-tracking-box{width:100% !important;max-width:100% !important;margin:0 auto !important;box-sizing:border-box !important;overflow:visible !important;height:auto !important;min-height:auto !important;max-height:none !important}#torbildPage .time-tracking-box,.time-tracking-box{display:flex !important;flex-direction:column !important;justify-content:center !important;align-items:center !important;overflow:hidden !important;height:100% !important;padding:5px !important;box-sizing:border-box !important;-ms-overflow-style:none !important;scrollbar-width:none !important}#torbildPage .time-tracking-box::-webkit-scrollbar,.time-tracking-box::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}.period{grid-template-columns:repeat(4,1fr) !important;padding:6px 8px !important;width:95% !important;margin:4px auto !important}#torbildPage .period,.time-tracking-box .period,.period{flex-shrink:1 !important;width:95% !important;max-width:95% !important;margin:3px auto !important;transform:scale(0.95);transform-origin:center center}.time-btn{height:28px !important;font-size:13px !important;min-height:28px !important}.period-title{font-size:0.8rem !important}}.time-input-group{margin:15px 0}.time-input-group label{display:block;color:#fff;font-size:0.95rem;margin-bottom:8px;font-weight:600}#addTimeModal .modal-content h3{color:#266EFF;margin-top:0;margin-bottom:20px;font-size:1.2rem}#addTimeModal .modal-content p{color:#ccc;margin:10px 0;font-size:0.95rem}#addTimeModal .modal-content p span{color:#266EFF;font-weight:600}#addTimeModal #addTimeInput{width:100%;padding:12px;border:1px solid #444;border-radius:8px;background:#2a2a2a;color:#fff;font-size:1rem;box-sizing:border-box;text-align:center;font-weight:600}#addTimeModal #addTimeInput:focus{outline:none;border-color:#266EFF}#addTimeModal .modal-buttons{display:flex !important;gap:12px !important;justify-content:center !important;margin-top:20px !important}#addTimeModal .modal-buttons button,#addTimeModal #addTimeCancelBtn,#addTimeModal #addTimeConfirmBtn{flex:0 0 auto !important;width:120px !important;min-width:120px !important;max-width:120px !important;padding:12px 20px !important;font-size:1rem !important;font-weight:600 !important;border-radius:8px !important;cursor:pointer !important;border:none !important;box-sizing:border-box !important}#addTimeModal #addTimeConfirmBtn{background:#266EFF;color:white}#addTimeModal #addTimeConfirmBtn:hover{background:#1E5AD8}#addTimeModal #addTimeCancelBtn{background:#444;color:#fff}#addTimeModal #addTimeCancelBtn:hover{background:#555}.season-time-cell{cursor:pointer !important;user-select:none}.toast-notification{position:fixed;bottom:80px;left:50%;transform:translateX(-50%) translateY(20px);background:rgba(68,187,145,0.95);color:white;padding:12px 24px;border-radius:8px;font-size:1rem;font-weight:600;box-shadow:0 4px 12px rgba(0,0,0,0.3);z-index:10000;opacity:0;transition:all 0.3s ease;pointer-events:none}.toast-notification.show{opacity:1;transform:translateX(-50%) translateY(0)}#teamEditModal .modal-buttons{display:flex !important;gap:12px !important;justify-content:center !important;margin-top:20px !important}#teamEditModal .modal-buttons button,#teamEditModal .modal-buttons .confirm-btn,#teamEditModal .modal-buttons .cancel-btn,#saveTeamNameBtn,#cancelTeamEditBtn{flex:1 1 0 !important;min-width:0 !important;max-width:none !important;width:auto !important;padding:12px 20px !important;font-size:1rem !important;font-weight:600 !important;border-radius:8px !important;cursor:pointer !important;border:none !important;box-sizing:border-box !important;margin:0 !important}#saveTeamNameBtn,#teamEditModal .confirm-btn{background:#266EFF !important;color:#fff !important}#saveTeamNameBtn:hover,#teamEditModal .confirm-btn:hover{background:#1E5AD8 !important}#cancelTeamEditBtn,#teamEditModal .cancel-btn{background:#3a3a3a !important;color:#fff !important}#cancelTeamEditBtn:hover,#teamEditModal .cancel-btn:hover{background:#4a4a4a !important}.lineup-line-stats,.lineup-pair-stats{display:block !important;visibility:visible !important;opacity:1 !important;color:#888 !important;font-size:0.85rem !important;text-align:center !important;margin-top:4px !important;height:auto !important;overflow:visible !important}#seasonContainer table,#seasonContainer .season-table{margin:0 auto !important}.lineup-btn,#lineupBtn,#lineupBtnFromStats{background:#00B9FF !important;color:#fff !important}.lineup-btn:hover,#lineupBtn:hover,#lineupBtnFromStats:hover{background:#0099DD !important}body.workflow-conceded .period-buttons.top-row .time-btn{opacity:0.3 !important;filter:grayscale(100%) !important;pointer-events:none !important;cursor:not-allowed !important}body.workflow-conceded #goalGreenBox{opacity:0.3 !important;filter:grayscale(70%) !important;pointer-events:none !important;cursor:not-allowed !important}body.workflow-conceded #fieldBox::before{content:'';position:absolute;top:0;left:0;right:0;height:50%;background:rgba(128,128,128,0.5);pointer-events:none;z-index:10;border-radius:8px 8px 0 0}body.workflow-goal:not(.workflow-conceded) #goalRedBox{opacity:0.3 !important;filter:grayscale(70%) !important;pointer-events:none !important;cursor:not-allowed !important}body.workflow-goal:not(.workflow-conceded) #fieldBox::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:rgba(128,128,128,0.5);pointer-events:none;z-index:10;border-radius:0 0 8px 8px}body.workflow-goal:not(.workflow-conceded) .period-buttons.bottom-row .time-btn{opacity:0.3 !important;filter:grayscale(100%) !important;pointer-events:none !important;cursor:not-allowed !important}body.workflow-scored #goalRedBox{opacity:0.3 !important;filter:grayscale(70%) !important;pointer-events:none !important;cursor:not-allowed !important}body.workflow-scored #fieldBox::after{content:'';position:absolute;bottom:0;left:0;right:0;height:50%;background:rgba(128,128,128,0.5);pointer-events:none;z-index:10;border-radius:0 0 8px 8px}body.workflow-scored .period-buttons.bottom-row .time-btn{opacity:0.3 !important;filter:grayscale(100%) !important;pointer-events:none !important;cursor:not-allowed !important}@keyframes neon-pulse-green{0%,100%{box-shadow:0 0 5px #266EFF,0 0 10px #266EFF,0 0 15px #266EFF}50%{box-shadow:0 0 10px #266EFF,0 0 20px #266EFF,0 0 30px #266EFF}}.info-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);display:flex;justify-content:center;align-items:center;z-index:1000}.info-content,.info-modal-content{background:#ffffff;color:#000000;padding:2rem;border-radius:12px;max-width:600px;max-height:80vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,0.5)}[data-theme="dark"] .info-content,[data-theme="dark"] .info-modal-content{background:#1e1e1e;color:#ffffff}.info-content h2,.info-modal-content h2,.info-section-title{color:#266EFF !important;margin-top:20px;margin-bottom:10px;font-weight:700;font-size:1.4em !important;text-align:center}[data-theme="dark"] .info-content h2,[data-theme="dark"] .info-modal-content h2,[data-theme="dark"] .info-section-title{color:#266EFF !important}.info-content h3,.info-modal-content h3,h3.info-title{margin-top:1.5rem;margin-bottom:0.5rem;color:#266EFF;font-size:1.4em !important;font-weight:700;text-align:center}.info-content ol,.info-content ul{margin-left:1.5rem;margin-bottom:1rem}[data-theme="dark"] .info-content ol,[data-theme="dark"] .info-content ul{margin-left:1.5rem;margin-bottom:1rem}.info-content li{margin-bottom:0.5rem;color:#000000;line-height:1.5}[data-theme="dark"] .info-content li{color:#ffffff}.info-content p{margin-bottom:0.5rem;color:#000000;line-height:1.5}[data-theme="dark"] .info-content p{color:#ffffff}.info-divider{border:none;border-top:1px solid #ccc;margin:20px 0}[data-theme="dark"] .info-divider{border-top-color:#555}#infoCloseBtn{display:block;margin:2rem auto 0;padding:0.75rem 2rem;background:#266EFF;color:white;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem}#infoCloseBtn:hover{background:#1E5AD8;transform:scale(1.05);box-shadow:0 4px 12px rgba(38,110,255,0.4)}.info-language-selector{text-align:center;margin-bottom:20px}.info-language-selector select{padding:8px 16px;font-size:1rem;border-radius:8px;border:1px solid #ccc;background:#f5f5f5;cursor:pointer}[data-theme="dark"] .info-language-selector select{background:#2b2b2b;color:#fff;border-color:#444}.info-close-btn,.page-info-close-btn{background:#266EFF;color:#fff;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;font-size:1.1rem;font-weight:700;display:block;margin:20px auto;text-align:center;min-width:150px}.info-close-btn:hover,.page-info-close-btn:hover{background:#1E5AD8}.info-tip{color:#FFD700;font-weight:700;font-size:0.85em;white-space:nowrap;display:block;margin-bottom:15px}.info-workflow-title{color:#266EFF;font-size:1.4em;font-weight:700;margin-top:15px;margin-bottom:8px;text-align:center}@media (min-width:1025px){#torbildPage .torbild-layout{flex-direction:row;gap:20px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset}#torbildPage .field-column{flex:1 1 50%;min-width:0}#torbildPage .goal-column{display:flex;flex-direction:column;flex:1 1 50%;min-width:0;gap:15px}#torbildPage .field-box,#torbildPage .goal-img-box{height:100%;min-height:0}#torbildPage .time-tracking-box{height:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}@media (min-width:901px) and (max-width:1024px){#torbildPage .torbild-layout{flex-direction:row;gap:16px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset}#torbildPage .field-column{flex:1 1 50%;min-width:0}#torbildPage .goal-column{display:flex;flex-direction:column;flex:1 1 50%;min-width:0;gap:12px}#torbildPage .field-box,#torbildPage .goal-img-box{height:100%;min-height:0}#torbildPage .time-tracking-box{height:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}@media (max-width:900px){#torbildPage .torbild-layout{flex-direction:column;gap:12px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset}#torbildPage .field-box,#torbildPage .goal-img-box{width:100%;max-width:100%;min-height:0}#torbildPage .time-tracking-box{width:100%;max-width:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}#torbildPage .goal-img-box img,#torbildPage .field-box img{width:100%;height:100%;object-fit:contain}@media (min-width:1025px){#seasonMapPage .torbild-layout{flex-direction:row;gap:20px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset;margin-bottom:32px}#seasonMapPage .field-column{flex:1 1 50%;min-width:0}#seasonMapPage .goal-column{flex:1 1 50%;min-width:0;gap:15px}#seasonMapPage .field-box,#seasonMapPage .goal-img-box{height:100%;min-height:0}#seasonMapPage .time-tracking-box{height:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}@media (min-width:901px) and (max-width:1024px){#seasonMapPage .torbild-layout{flex-direction:row;gap:16px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset;margin-bottom:24px}#seasonMapPage .field-column{flex:1 1 50%;min-width:0}#seasonMapPage .goal-column{flex:1 1 50%;min-width:0;gap:12px}#seasonMapPage .field-box,#seasonMapPage .goal-img-box{height:100%;min-height:0}#seasonMapPage .time-tracking-box{height:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}@media (max-width:900px){#seasonMapPage .torbild-layout{flex-direction:column;gap:12px;height:auto;min-height:unset;max-height:unset;aspect-ratio:unset;margin-bottom:16px}#seasonMapPage .field-box,#seasonMapPage .goal-img-box{width:100%;max-width:100%;min-height:0}#seasonMapPage .time-tracking-box{width:100%;max-width:100%;min-height:0;overflow:visible !important;overflow-y:auto !important}}#seasonMapPage .goal-img-box img,#seasonMapPage .field-box img{width:100%;height:100%;object-fit:contain}@media (max-width:1024px){:root{--w-nr:28px;--w-player:120px;--w-pos:52px}.season-table th,.season-table td{padding:6px 8px;font-size:13px}}@media (max-width:768px){:root{--w-nr:24px;--w-player:100px}.season-table:is(th,td):nth-child(3){position:static;left:auto;width:auto;min-width:auto;max-width:none;z-index:auto;box-shadow:none}.season-table th,.season-table td{padding:5px 6px;font-size:12px}}#goalValueExportModal .input-group{margin:16px 0}#goalValueExportModal .input-group label{display:block;margin-bottom:8px;font-weight:600;color:var(--text-color)}#goalValueExportModal .input-group input[type="text"]{width:100%;padding:10px;font-size:1rem;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;background:var(--bg-color);color:var(--text-color)}[data-theme="dark"] #goalValueExportModal .input-group input[type="text"]{border-color:#555;background:#2a2a2a}#goalValueExportModal .input-group input[type="text"]:focus{outline:none;border-color:#266EFF;box-shadow:0 0 0 2px rgba(68,187,145,0.2)}.star-rating-group{margin:20px 0}.star-rating-group label{display:block;margin-bottom:10px;font-weight:600;color:var(--text-color)}.star-rating{display:flex;gap:4px;font-size:28px;cursor:pointer;justify-content:center;user-select:none;margin-bottom:8px}.star-rating .star{color:#ccc;transition:color 0.2s,transform 0.1s;cursor:pointer}.star-rating .star:hover{transform:scale(1.15)}.star-rating .star.filled,.star-rating .star.hover{color:#ffc107}[data-theme="dark"] .star-rating .star{color:#555}[data-theme="dark"] .star-rating .star.filled,[data-theme="dark"] .star-rating .star.hover{color:#ffd700}#starRatingValue{display:inline-block;margin-left:12px;font-weight:bold;font-size:20px;color:var(--text-color);min-width:40px;text-align:center}#goalValueExportModal .modal-buttons{display:flex;flex-direction:row;align-items:center;gap:12px;justify-content:center;margin-top:24px}#goalValueExportModal .modal-buttons button{width:130px !important;min-width:130px !important;max-width:130px !important;height:44px !important;min-height:44px !important;max-height:44px !important;padding:0;font-size:1rem;font-weight:600;border-radius:8px;cursor:pointer;border:none;transition:background 0.2s;text-align:center;display:flex;align-items:center;justify-content:center}#goalValueExportConfirm{background:#266EFF;color:#fff}#goalValueExportConfirm:hover{background:#1E5AD8}#goalValueExportCancel{background:#444;color:#fff;border:1px solid #666}#goalValueExportCancel:hover{background:#555}[data-theme="dark"] #goalValueExportCancel{background:#4a4a4a}[data-theme="dark"] #goalValueExportCancel:hover{background:#5a5a5a}#goalValueExportModal h3,#goalValueExportModal label,#goalValueExportModal #starRatingValue{color:#fff !important}#teamEditModal h3{color:#fff !important}@media (min-width:600px) and (max-width:900px) and (orientation:portrait){.field-box{overflow:hidden !important}.field-box img{max-height:100% !important;object-fit:contain}}
/* Backup Buttons (Team Selection Page) */
.backup-buttons {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin: 24px auto 12px auto;
  max-width: 600px;
  flex-wrap: wrap;
}

.backup-btn {
  padding: 10px 20px;
  border: none;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  background: #e3fba7;
  color: #000;
  transition: opacity 0.2s;
  user-select: none;
  -webkit-user-select: none;
}

.backup-btn:active {
  opacity: 0.7;
}
