# task-454.1: 대시보드 탭 네비게이션 sticky 고정

## 작업 내용

데스크탑 탭 네비게이션이 스크롤 시 헤더 뒤에 숨겨지는 문제를 수정했습니다.

### 변경 사항

**1. 데스크탑 탭 CSS 수정 (line 372)**
- `top-0` → `top-[56px]` (헤더 높이만큼 오프셋)
- `z-10` → `z-40` (헤더 z-50보다 아래, 콘텐츠보다 위)
- `mb-1` 제거 (main 밖으로 이동하면서 불필요)
- `shadow-sm` 추가 (스크롤 시 경계 시각적 구분)
- `px-4 md:px-6 max-w-7xl mx-auto` 추가 (main 밖으로 이동하면서 직접 패딩/너비 설정)

**2. TabNavigation을 main 밖으로 이동**
- 기존: `<main>` 내부에 위치 → `space-y-4` 마진 영향 + sticky 스크롤 컨테이너 제한
- 변경: `</header>` → PWA 배너 → TabNavigation → `<main>` 순서로 재배치
- `isOn` 조건 유지하여 OFF 상태에서는 탭 미표시

### 모바일 하단 탭
- 변경 없음. `mobile-bottom-nav` CSS class로 `position: fixed; bottom: 0` 기존대로 동작

## 수정 파일
- `/home/jay/workspace/dashboard/index.html`

## 검증
- 데스크탑: 스크롤 시 헤더(z-50) 아래에 탭바(z-40)가 `top-[56px]`에 고정됨
- 모바일: 하단 탭바 기존대로 정상 동작 (변경 없음)
- 탭 전환: `isOn` 조건 유지, activeTab/setActiveTab 바인딩 동일
- bg-[#f1f5f9] 배경색 유지로 스크롤 시 콘텐츠 비침 방지

## 버그
- 없음

## QC 검증
- **overall**: PASS
- file_check: PASS (78436 bytes)
- data_integrity: PASS
- tdd_check: SKIP (Lv.1 CSS 수정 작업, TDD 대상 아님)
- api_health, test_runner, schema_contract, pyright_check, style_check, scope_check: SKIP (HTML 파일, 해당 없음)
