        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { 
            font-family: 'Trebuchet MS', sans-serif; 
            background: linear-gradient(135deg, #1a472a 0%, #2d5016 50%, #1a472a 100%); 
            min-height: 100vh; 
            padding: 10px; 
            color: #f0e6d2; 
        }
        .container { max-width: 1400px; margin: 0 auto; }
        .header { 
            text-align: center; 
            padding: 15px; 
            background: linear-gradient(135deg, #8b7355 0%, #654321 100%); 
            border-radius: 10px; 
            box-shadow: 0 8px 32px rgba(0,0,0,0.4); 
            margin-bottom: 15px; 
            border: 2px solid #d4af37; 
            position: relative;
        }
        h1 { 
            font-size: 2em; 
            color: #ffd700; 
            text-shadow: 2px 2px 4px rgba(0,0,0,0.8); 
            margin-bottom: 5px; 
        }
        .nav-link {
            position: absolute;
            top: 50%;
            right: 20px;
            transform: translateY(-50%);
            background: linear-gradient(135deg, #4169e1 0%, #0000cd 100%);
            color: white;
            padding: 10px 20px;
            border-radius: 6px;
            text-decoration: none;
            font-weight: bold;
            font-size: 14px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            transition: all 0.2s;
        }
        .nav-link:hover {
            transform: translateY(-50%) translateY(-2px);
            box-shadow: 0 6px 16px rgba(0,0,0,0.4);
        }
        .main-layout { 
            display: grid; 
            grid-template-columns: 350px 1fr 350px; 
            grid-template-rows: auto auto;
            gap: 15px; 
            margin-bottom: 20px;
        }
        .column { 
            display: flex; 
            flex-direction: column; 
            gap: 15px;
        }
        .column:first-child {
            grid-column: 1;
            grid-row: 1 / 3;
        }
        .column:nth-child(2) {
            grid-column: 2;
            grid-row: 1 / 3;
        }
        .column:nth-child(3) {
            grid-column: 3;
            grid-row: 1 / 3;
        }
        .card { 
            background: rgba(139,115,85,0.3); 
            border: 2px solid #8b7355; 
            border-radius: 10px; 
            padding: 15px; 
            box-shadow: 0 4px 16px rgba(0,0,0,0.3); 
        }
        .card.scrollable { 
            overflow-y: auto; 
            flex: 1;
        }
        .card h2 { 
            color: #ffd700; 
            margin-bottom: 15px; 
            font-size: 1.4em; 
            text-shadow: 2px 2px 4px rgba(0,0,0,0.6); 
        }
        .timer-display { 
            text-align: center; 
            padding: 20px; 
            background: rgba(0,0,0,0.5); 
            border-radius: 10px; 
            margin: 10px 0; 
            border: 2px solid #2d5016; 
        }
        .timer-text { 
            font-size: 3em; 
            font-weight: bold; 
            color: #00ff00; 
            text-shadow: 0 0 20px rgba(0,255,0,0.7); 
            font-family: 'Courier New', monospace; 
        }
        .controls { 
            display: flex; 
            flex-direction: column; 
            gap: 8px; 
        }
        select, input { 
            width: 100%; 
            padding: 10px; 
            border: 2px solid #654321; 
            border-radius: 6px; 
            background: rgba(245,222,179,0.9); 
            color: #2d2d2d; 
            font-size: 14px; 
            font-weight: bold; 
        }
        .btn { 
            padding: 12px 20px; 
            border: none; 
            border-radius: 6px; 
            font-size: 14px; 
            font-weight: bold; 
            cursor: pointer; 
            transition: all 0.2s; 
            text-transform: uppercase; 
            box-shadow: 0 4px 12px rgba(0,0,0,0.3); 
        }
        .btn:hover:not(:disabled) { 
            transform: translateY(-2px); 
            box-shadow: 0 6px 16px rgba(0,0,0,0.4); 
        }
        .btn:disabled { 
            opacity: 0.5; 
            cursor: not-allowed; 
            transform: none; 
        }
        .btn-start { 
            background: linear-gradient(135deg, #228b22 0%, #006400 100%); 
            color: white; 
        }
        .btn-quit { 
            background: linear-gradient(135deg, #dc143c 0%, #8b0000 100%); 
            color: white; 
        }
        .btn-boss { 
            background: linear-gradient(135deg, #8b0000 0%, #660000 100%); 
            color: white; 
            width: 100%; 
            margin-bottom: 8px; 
            font-size: 15px; 
            padding: 15px; 
        }
        .btn-boss:hover:not(:disabled) { 
            background: linear-gradient(135deg, #b30000 0%, #8b0000 100%); 
        }
        .btn-undo { 
            background: linear-gradient(135deg, #ff8c00 0%, #ff4500 100%); 
            color: white; 
        }
        .btn-admin { 
            background: linear-gradient(135deg, #4169e1 0%, #0000cd 100%); 
            color: white; 
            padding: 8px 15px; 
            font-size: 12px; 
        }
        .btn-delete { 
            background: linear-gradient(135deg, #dc143c 0%, #8b0000 100%); 
            color: white; 
            padding: 6px 12px; 
            font-size: 12px; 
        }
        .btn-edit { 
            background: linear-gradient(135deg, #ff8c00 0%, #ff6347 100%); 
            color: white; 
            padding: 6px 12px; 
            font-size: 12px; 
        }
        .boss-grid { 
            display: flex; 
            flex-direction: column; 
            gap: 8px; 
        }
        .active-player { 
            background: rgba(101,67,33,0.6); 
            padding: 12px; 
            border-radius: 8px; 
            margin-bottom: 10px; 
            border: 2px solid #ffd700; 
        }
        .player-name { 
            color: #ffd700; 
            font-weight: bold; 
            font-size: 1.1em; 
            margin-bottom: 8px; 
        }
        .boss-checklist { 
            display: flex; 
            flex-direction: column; 
            gap: 4px; 
            font-size: 0.85em; 
        }
        .boss-check-item { 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            padding: 2px 0; 
        }
        .boss-check { color: #90ee90; }
        .boss-uncheck { color: #666; }
        .split-time { 
            color: #ffd700; 
            font-family: 'Courier New', monospace; 
            font-size: 0.9em; 
            margin-left: 5px; 
        }
        .best-split-item { 
            background: rgba(101,67,33,0.6); 
            padding: 12px; 
            border-radius: 6px; 
            margin-bottom: 8px; 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            border-left: 4px solid #ffd700; 
        }
        .best-split-boss { 
            font-weight: bold; 
            color: #ffd700; 
            font-size: 1.1em; 
        }
        .best-split-player { color: #90ee90; }
        .best-split-time { 
            color: #ffd700; 
            font-family: 'Courier New', monospace; 
            font-size: 1.2em; 
        }
        .section-divider { 
            border-bottom: 2px solid #8b7355; 
            margin: 15px 0; 
            padding-bottom: 5px; 
            color: #d4af37; 
            font-weight: bold; 
        }
        .message { 
            padding: 10px; 
            border-radius: 6px; 
            margin-bottom: 10px; 
            font-weight: bold; 
            font-size: 0.9em; 
        }
        .message-success { 
            background: rgba(34,139,34,0.3); 
            border: 2px solid #228b22; 
            color: #90ee90; 
        }
        .message-error { 
            background: rgba(139,0,0,0.3); 
            border: 2px solid #8b0000; 
            color: #ffcccb; 
        }
        .year-badge { 
            background: #654321; 
            padding: 2px 8px; 
            border-radius: 8px; 
            font-size: 0.8em; 
            border: 1px solid #8b7355; 
            margin-left: 5px; 
        }
        
        .admin-section { 
            margin-top: 20px; 
            display: none; 
            padding-bottom: 40px; 
        }
        .admin-panel { 
            background: rgba(65,105,225,0.2); 
            border: 2px solid #4169e1; 
        }
        .admin-tabs { 
            display: flex; 
            gap: 10px; 
            margin-bottom: 15px; 
        }
        .admin-tab { 
            padding: 10px 20px; 
            background: rgba(101,67,33,0.5); 
            border: 2px solid #8b7355; 
            border-radius: 6px; 
            cursor: pointer; 
            font-weight: bold; 
            color: #d4af37; 
            transition: all 0.2s; 
        }
        .admin-tab.active { 
            background: rgba(65,105,225,0.4); 
            border-color: #4169e1; 
            color: #87ceeb; 
        }
        .admin-tab:hover { transform: translateY(-2px); }
        .admin-content { display: none; }
        .admin-content.active { display: block; }
        .admin-form { 
            display: flex; 
            flex-direction: column; 
            gap: 10px; 
            margin-bottom: 20px; 
        }
        .form-group { 
            display: flex; 
            flex-direction: column; 
            gap: 5px; 
        }
        .form-group label { 
            color: #d4af37; 
            font-weight: bold; 
            font-size: 0.9em; 
        }
        .user-list-item, .run-list-item { 
            background: rgba(101,67,33,0.4); 
            padding: 12px; 
            border-radius: 6px; 
            margin-bottom: 8px; 
            display: flex; 
            justify-content: space-between; 
            align-items: center; 
            border-left: 3px solid #ffd700; 
        }
        .user-info, .run-info { flex: 1; }
        .user-name, .run-user { 
            color: #ffd700; 
            font-weight: bold; 
        }
        .user-email, .run-details { 
            color: #d4af37; 
            font-size: 0.9em; 
            margin-top: 4px; 
        }
        .user-role { 
            display: inline-block; 
            background: #654321; 
            padding: 2px 8px; 
            border-radius: 4px; 
            font-size: 0.8em; 
            margin-top: 4px; 
        }
        .admin-badge { 
            background: #4169e1; 
            color: white; 
        }
        .user-actions, .run-actions { 
            display: flex; 
            gap: 8px; 
        }
        .modal { 
            display: none; 
            position: fixed; 
            top: 0; 
            left: 0; 
            width: 100%; 
            height: 100%; 
            background: rgba(0,0,0,0.8); 
            z-index: 1000; 
            justify-content: center; 
            align-items: center; 
        }
        .modal.active { display: flex; }
        .modal-content { 
            background: linear-gradient(135deg, #8b7355 0%, #654321 100%); 
            padding: 30px; 
            border-radius: 10px; 
            border: 2px solid #d4af37; 
            max-width: 500px; 
            width: 90%; 
        }
        .modal-header { 
            color: #ffd700; 
            font-size: 1.5em; 
            margin-bottom: 20px; 
            font-weight: bold; 
        }
        .modal-body {
            color: #f0e6d2;
            font-size: 1.1em;
            margin-bottom: 20px;
            line-height: 1.6;
        }
        .modal-buttons { 
            display: flex; 
            gap: 10px; 
            margin-top: 20px; 
        }
        .modal-buttons .btn { flex: 1; }
        
        @media (max-width: 1200px) { 
            .main-layout { grid-template-columns: 1fr; } 
            .card.scrollable { height: 400px; } 
            .nav-link { position: static; transform: none; display: inline-block; margin-top: 10px; } /* Hide best splits column on mobile */ 
            .column:nth-child(3) { display: none; } /* Reduce padding and font sizes on mobile */ 
            h1 { font-size: 1.5em; } 
            .card { padding: 12px; } 
            .card h2 { font-size: 1.2em; margin-bottom: 10px; } 
            .timer-text { font-size: 2em; } 
            .timer-display { padding: 15px; margin: 8px 0; } 
            .btn { padding: 10px 16px; font-size: 13px; } 
            .btn-boss { padding: 12px; font-size: 14px; } 
            .active-player { padding: 10px; } 
            .player-name { font-size: 1em; } 
        }
