input.apple-switch {
  position: relative;
  -webkit-appearance: none;
  outline: none;
  width: 45px; /*50px*/
  height: 25px; /*30px*/
  background-color: #fff;
  border: 1px solid #D9DADC;
  border-radius: 50px;
  box-shadow: inset -20px 0 0 0 #fff;
  transition-duration: 200ms;
}

input.apple-switch:after {
  content: "";
  position: absolute;
  top: 1px;
  left: 1px;
  background: transparent;
  width: 22px; /*26px*/
  height: 22px; /*26px*/
  border-radius: 50%;
  box-shadow: 2px 4px 6px rgba(0,0,0,0.2);
}

input.apple-switch:checked {
  box-shadow: inset 20px 0 0 0 #4ed164;
  border-color: #4ed164;
}

input.apple-switch:checked:after {
  left: 20px;
  box-shadow: -2px 4px 3px rgba(255,0,0,0.05);
}

input.apple-switch.block {
	display: block;
}

input.apple-switch.disabled {
	box-shadow: inset -20px 0 0 0 #D3D3D3;
}
input.apple-switch.disabled:after {
	background: #A9A9A9; 
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}

 :root {
            --primary-color: #4d5154;
            --secondary-color: #2ecc71;
            --motm-color: #f39c12;
            --light-gray: #f5f5f5;
            --border-color: #ddd;
            --text-color: #333;
            --text-light: #666;
        }
        
        body {
            font-family: "Segoe UI", Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: var(--light-gray);
            color: var(--text-color);
        }
        
        .container {
            max-width: 1000px;
            margin: 20px auto;
            padding: 20px;
        }
        
        h1, h2 {
            text-align: center;
            color: var(--text-color);
        }
        
        .summary {
            background-color: white;
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 20px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }
        
        .summary-stats {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-around;
            text-align: center;
        }
        
        .stat-item {
            margin: 10px;
            flex: 1;
            min-width: 200px;
        }
        
        .stat-value {
            font-weight: bold;
            font-size: 1.1em;
            color: var(--primary-color);
        }
        
        .calendar-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 15px;
            background-color: white;
            padding: 10px 20px;
            border-radius: 8px;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }
        
        .month-nav {
            cursor: pointer;
            background-color: var(--primary-color);
            color: white;
            border: none;
            border-radius: 4px;
            padding: 8px 16px;
            font-size: 16px;
            transition: background-color 0.3s;
        }
        
        .month-nav:hover {
            background-color: #ffe2fc;
            color: black;
        }
        
        .current-month {
            font-size: 1.2em;
            font-weight: bold;
        }
        
        .calendar {
            background-color: white;
            border-radius: 8px;
            overflow: hidden;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
        }
        
        .calendar-header {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
            background-color: var(--primary-color);
            color: white;
            font-weight: bold;
        }
        
        .calendar-header-cell {
            padding: 10px;
            text-align: center;
        }
        
        .calendar-body {
            display: grid;
            grid-template-columns: repeat(7, 1fr);
        }
        
        .calendar-day {
            min-height: 100px;
            padding: 5px;
            border: 1px solid var(--border-color);
            position: relative;
        }
        
        .day-number {
            font-weight: bold;
            font-size: 10px;
            margin-bottom: 5px;
        }
        
        .other-month {
            background-color: #f9f9f9;
            color: #aaa;
        }
        
        .game-indicator {
            position: absolute;
            top: 5px;
            right: 5px;
            width: 10px;
            height: 10px;
            border-radius: 50%;
            background-color: var(--secondary-color);
        }
        
        .has-motm .game-indicator {
            background-color: var(--motm-color);
        }
        
        .game-count {
            font-size: 0.7em;
            color: var(--text-light);
            position: absolute;
            bottom: 5px;
            left: 5px;
        }
        
        /* Modal styles */
        .modal {
            display: none;
            position: fixed;
            z-index: 100;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.4);
        }
        
        .modal-content {
            position: relative;
            background-color: white;
            margin: 10% auto;
            padding: 20px;
            width: 80%;
            max-width: 600px;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0,0,0,0.2);
        }
        
        .close-button {
            position: absolute;
            right: 15px;
            top: 10px;
            font-size: 1.5em;
            cursor: pointer;
        }
        
        .player-list {
            margin-top: 15px;
        }
        
        .player-item {
            padding: 8px;
            margin: 5px 0;
            background-color: #f9f9f9;
            border-radius: 4px;
        }
        
        .player-item.motm {
            background-color: #fff3e0;
            position: relative;
        }
        
        .player-item.motm::after {
            content: "⭐ MOTM";
            margin-left: 10px;
            color: var(--motm-color);
            font-weight: bold;
        }
        
        .filter-section {
            margin: 20px 0;
            text-align: center;
        }
        
        #player-filter {
            padding: 10px;
            width: 300px;
            border-radius: 4px;
            border: 1px solid var(--border-color);
            font-size: 16px;
        }
        
        .player-view {
            margin-top: 30px;
            display: none;
        }
        
        .player-selector {
            margin-bottom: 15px;
            text-align: center;
        }
        
        #player-select {
            padding: 8px;
            min-width: 200px;
            border-radius: 4px;
            border: 1px solid var(--border-color);
        }
        
        .view-toggle {
            display: flex;
            justify-content: center;
            margin: 20px 0;
        }
        
        .toggle-btn {
            background-color: var(--light-gray);
            border: 1px solid var(--border-color);
            padding: 10px 20px;
            cursor: pointer;
            font-size: 16px;
        }
        
        .toggle-btn:first-child {
            border-radius: 4px 0 0 4px;
        }
        
        .toggle-btn:last-child {
            border-radius: 0 4px 4px 0;
        }
        
        .toggle-btn.active {
            background-color: var(--primary-color);
            color: white;
            border-color: var(--primary-color);
        }
        
        @media (max-width: 768px) {
            .calendar-day {
                min-height: 60px;
            }
            
            .stat-item {
                min-width: 140px;
            }
        }
         .legend {
                background-color: white;
                border-radius: 8px;
                padding: 15px;
                margin-top: 20px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            }
            
            .legend-items {
                display: flex;
                justify-content: center;
                flex-wrap: wrap;
                gap: 20px;
            }
            
            .legend-item {
                display: flex;
                align-items: center;
                gap: 8px;
            }
            
            .legend-color {
                width: 20px;
                height: 20px;
                border-radius: 4px;
            }
            
            .legend-attended {
                background-color: #e8f5e8;
                border: 1px solid var(--secondary-color);
            }
            
            .legend-motm {
                background-color: #fff3e0;
                border: 1px solid var(--motm-color);
            }
             .user-info {
                background-color: white;
                border-radius: 8px;
                padding: 15px;
                margin-bottom: 20px;
                box-shadow: 0 2px 5px rgba(0,0,0,0.1);
                text-align: center;
            }
            
            .user-name {
                font-size: 1.5em;
                font-weight: bold;
                color: var(--primary-color);
                margin-bottom: 10px;
            }

            .text-red {
                color: #FF0000
            }

            .text-green {
                color: #00FF00
            }
            