.control-group { margin-bottom: 20px; }
        .control-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 0.85rem; color: var(--text-main); }
        
        .checkbox-label { display: flex; align-items: center; gap: 8px; font-size: 0.9rem; font-weight: 500; cursor: pointer; color: var(--text-main); }
        .checkbox-label input { width: 18px; height: 18px; accent-color: var(--primary-color); cursor: pointer; }

        .recorder-status { font-size: 1.1rem; font-weight: 700; color: var(--text-main); margin-bottom: 10px; display: flex; align-items: center; justify-content: center; gap: 8px; text-align: center; }
        .status-dot { width: 12px; height: 12px; background-color: #cbd5e1; border-radius: 50%; display: inline-block; transition: background-color 0.3s; }
        .status-dot.recording { background-color: #ef4444; animation: pulse 1.5s infinite; }

        @keyframes pulse {
            0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); }
            70% { transform: scale(1); box-shadow: 0 0 0 10px rgba(239, 68, 68, 0); }
            100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
        }

        .timer-display { font-size: 2.2rem; font-weight: 800; color: var(--primary-color); font-family: monospace; text-align: center; margin-bottom: 20px; }

        .recorder-buttons { display: flex; gap: 12px; justify-content: center; margin-bottom: 25px; }
        
        .rec-btn { border: none; padding: 12px 24px; border-radius: 8px; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.2s; display: flex; align-items: center; gap: 8px; color: white; }
        #btnStart { background-color: #22c55e; width: 100%; justify-content: center; }
        #btnStart:hover { background-color: #16a34a; }
        #btnStart:disabled { background-color: #94a3b8; cursor: not-allowed; }

        #btnStop { background-color: #ef4444; display: none; width: 100%; justify-content: center; }
        #btnStop:hover { background-color: #dc2626; }

        .preview-panel { background: #fff; flex: 1; padding: 25px; border-radius: var(--radius); box-shadow: 0 4px 12px rgba(0,0,0,0.08); border: 1px solid var(--border-color); display: flex; flex-direction: column; align-items: center; }
        
        .video-player-container { width: 100%; margin-bottom: 20px; display: none; text-align: center; }
        .video-player-container video { width: 100%; max-height: 350px; background: #000; border-radius: 8px; margin-top: 10px; }

        .action-btn { width: 100%; background-color: var(--primary-color); color: white; border: none; border-radius: 8px; padding: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: background-color 0.2s; text-decoration: none; display: inline-block; text-align: center; }
        .action-btn:hover { background-color: var(--primary-hover); }
        .action-btn:disabled { background-color: #94a3b8; cursor: not-allowed; }

        @media (max-width: 768px) { 
            .recorder-buttons { flex-direction: column; }
            .rec-btn { width: 100%; justify-content: center; }
        }