:root{--bg-color:#ffffff;--text-color:#000000;--header-bg:#1E1E1E;--row-even:#f0f0f0;--row-odd:#e0e0e0;--page-title-start:#73A59C;--page-title-end:#73A59C;--cell-pos-color:#00c06f;--cell-neg-color:#ff4c4c;--cell-zero-color:#000000;--btn-top-bg:#c8fbc8;--btn-bottom-bg:#ffe7e7;--timer-active-color:#005c2f;--timer-left-bg:#2A2F36;--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;--timer-left-bg:#2A2F36;--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;}#statsPage #timerBtn{font-variant-numeric:tabular-nums;}#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.timer-left{background:var(--timer-left-bg);}.timer{font-size:1.25rem;font-weight:700;padding:10px 16px;transition:background-color 0.25s;height:40px;display:inline-flex;align-items:center;justify-content:center;}.timer.running{background:var(--cell-pos-color);}.timer.stopped{background:#b00020;}.timer.reset{background:var(--timer-left-bg);}.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;}.time-mode-select{background:#6DA8C9 !important;color:#fff !important;}.time-mode-select:hover{background:#7bb8d9 !important;}.time-mode-select option{background:#2b2b2b;color:#fff;}#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;}#seasonMapGoalieFilter.active{animation:neon-pulse-red 2s ease-in-out infinite;border:2px solid #ff4444 !important;color:#ff4444;}#seasonMapPlayerFilter.active{animation:neon-pulse-green 2s ease-in-out infinite !important;border:2px solid #266EFF !important;color:#266EFF !important;}@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;}}.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:#73A59C;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:#5A8A82;}#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;align-self:flex-start;}.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:flex;flex-direction:column;gap:15px;}#seasonMapPage .goal-img-box{flex:1;min-height:0;position:relative;display:flex;align-items:center;justify-content:center;height:100%;}#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;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;padding:6px 10px;}.period-title{font-weight:bold;text-align:center;margin-bottom:8px;font-size:0.85rem;width:100%;}.period-content{display:flex;flex-direction:row;justify-content:space-between;align-items:stretch;gap:8px;width:100%;}.time-column{display:flex;flex-direction:column;align-items:center;justify-content:space-between;flex:1 1 0;min-width:0;gap:4px;}.time-column .time-btn{width:100%;height:22px;border:none;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:transform 0.1s,background 0.2s;flex-shrink:0;}.time-column .time-label{color:#ccc;font-size:0.75rem;line-height:1.2;text-align:center;white-space:nowrap;flex-shrink:0;}.time-column .time-btn.scored{background:var(--btn-top-bg);}.time-column .time-btn.conceded{background:var(--btn-bottom-bg);}.time-column .time-btn.scored:hover{background-color:#b2f0b2;}.time-column .time-btn.conceded:hover{background-color:#ffd3d3;}.time-btn:active{transform:scale(1.05);}.period-buttons.top-row,.period-buttons.bottom-row,.period-numbers{display:contents;}.period-numbers span{color:#ccc;font-size:0.8rem;line-height:1;}.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{width:100%;height:20px;border:none;border-radius:6px;font-weight:600;font-size:12px;cursor:pointer;transition:transform 0.1s,background 0.2s;}.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:#73A59C !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:#73A59C 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:#73A59C;border-radius:8px;}#seasonContainer::-webkit-scrollbar-thumb:hover{background:#1E55CC;}#seasonContainer{scrollbar-width:auto;scrollbar-color:#73A59C 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:#73A59C;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:#73A59C;border-radius:5px;}.goal-value-scroll-wrapper::-webkit-scrollbar-thumb:hover{background:#1E55CC;}.goal-value-scroll-wrapper{scrollbar-width:thin;scrollbar-color:#73A59C #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 #73A59C !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 #73A59C !important;border-color:#73A59C !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{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{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:#73A59C !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:#5A8A82 !important;}.season-table .pos-filter:focus,.pos-filter:focus,#positionFilter:focus{background:#5A8A82 !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:#73A59C;font-size:1.2rem;}.team-name{color:#fff;font-size:1.1rem;font-weight:600;}.team-btn{background:#73A59C;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:#5A8A82;}.team-btn.active-team{background:#2a2a2a;border:2px solid #73A59C;color:#73A59C;padding:10px 22px;}.team-btn.active-team:hover{background:#333;border-color:#5A8A82;}.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:#73A59C;color:#73A59C;}.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:#73A59C;}.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:#73A59C;color:white;}.modal-buttons .save-btn:hover{background:#5A8A82;}.modal-buttons .cancel-btn{background:#444;color:#fff;}.modal-buttons .cancel-btn:hover{background:#555;}.modal-buttons .confirm-btn{background:#73A59C;color:white;}.modal-buttons .confirm-btn:hover{background:#5A8A82;}#workflowStatusIndicator{display:none;background:linear-gradient(135deg,#1a1a2e 0%,#16213e 100%);border:2px solid #73A59C;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:#73A59C;}.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:#5A8A82;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:#73A59C;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:#73A59C;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:#73A59C;}#playerSelectionPage .player-list .pos-select:invalid,#playerSelectionPage .player-list .pos-select option[value=""]{color:#666;}#playerSelectionPage .player-list .pos-select:valid{color:#73A59C;}#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 #73A59C;}#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:#73A59C;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:#73A59C;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:#2FB7C8 !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:#73A59C;margin:10px 0 5px 0;background:linear-gradient(135deg,#73A59C 0%,#00bcd4 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}#lineUpPage .lineup-mode-label{text-align:center;color:#73A59C;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:#73A59C;border:1px solid #5A8A82;}.lineup-position.lineup-center{background:#4a4a4a !important;border:none !important;}.lineup-position.lineup-center:hover{background:#5a5a5a !important;}.lineup-position.lineup-center.assigned{background:#73A59C !important;border:1px solid #5A8A82 !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:#73A59C;}.lineup-player-option.selected{background:#1E4A7F;border-color:#73A59C;}.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:#73A59C;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;}#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:#73A59C;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:#73A59C;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:#73A59C;}#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:#73A59C;color:white;}#addTimeModal #addTimeConfirmBtn:hover{background:#5A8A82;}#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:#73A59C !important;color:#fff !important;}#saveTeamNameBtn:hover,#teamEditModal .confirm-btn:hover{background:#5A8A82 !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;}body.workflow-conceded .time-btn.scored{opacity:0.3 !important;filter:grayscale(100%) !important;pointer-events:none !important;cursor:not-allowed !important;}body.workflow-goal:not(.workflow-conceded) .time-btn.conceded{opacity:0.3 !important;filter:grayscale(100%) !important;pointer-events:none !important;cursor:not-allowed !important;}body.workflow-scored .time-btn.conceded{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:#73A59C !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:#73A59C !important;}.info-content h3,.info-modal-content h3,h3.info-title{margin-top:1.5rem;margin-bottom:0.5rem;color:#73A59C;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:#73A59C;color:white;border:none;border-radius:8px;cursor:pointer;font-weight:600;font-size:1rem;}#infoCloseBtn:hover{background:#5A8A82;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:#73A59C;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:#5A8A82;}.info-tip{color:#FFD700;font-weight:700;font-size:0.85em;white-space:nowrap;display:block;margin-bottom:15px;}.info-workflow-title{color:#73A59C;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;}}@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;}}@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 .goal-img-box img,#seasonMapPage .field-box img{width:100%;height:100%;object-fit:contain;border-radius:8px;}@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:#73A59C;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:#73A59C;color:#fff;}#goalValueExportConfirm:hover{background:#5A8A82;}#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-section{margin-top:30px;text-align:center;padding:15px;border-top:1px solid rgba(255,255,255,0.1);}.backup-restore-btn{background-color:#F5A623;color:#000;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:bold;cursor:pointer;transition:background-color 0.2s;margin:5px;}.backup-restore-btn:hover{background-color:#E09600;}.backup-restore-btn:active{background-color:#C88400;}.backup-timestamp{color:rgba(255,255,255,0.5);font-size:12px;margin-top:8px;}[data-theme="light"] .backup-timestamp{color:#1a1a2e;}

.backup-consent-content{text-align:center;}.backup-consent-detail{font-size:0.82em;opacity:0.8;text-align:left;margin:10px auto;max-width:100%;}.backup-consent-buttons{display:flex;justify-content:center;gap:12px;}.backup-consent-buttons button{flex:1;max-width:180px;min-width:120px;text-align:center;}

/* 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;}