diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html index 309d245..991a7c7 100644 --- a/design/uiux/prototype/02-대시보드.html +++ b/design/uiux/prototype/02-대시보드.html @@ -194,16 +194,18 @@ .meeting-card-header { display: flex; - justify-content: space-between; - align-items: flex-start; + justify-content: flex-start; + align-items: center; + gap: var(--space-xs); margin-bottom: var(--space-md); + flex-wrap: wrap; } .meeting-card-title { font-size: var(--font-body); font-weight: var(--font-weight-medium); color: var(--gray-900); - margin-bottom: var(--space-xs); + flex: 1; } .meeting-card-meta { @@ -229,62 +231,142 @@ padding: var(--space-md); box-shadow: var(--shadow-sm); margin-bottom: var(--space-xl); - } - - .todo-item { - padding: var(--space-md); - border-bottom: 1px solid var(--gray-200); - cursor: pointer; - transition: background var(--transition-fast); - } - - .todo-item:last-child { - border-bottom: none; - } - - .todo-item:hover { - background: var(--gray-50); - } - - .todo-item.overdue { - border-left: 4px solid var(--error); - padding-left: calc(var(--space-md) - 4px); - } - - .todo-header { display: flex; - justify-content: space-between; - align-items: flex-start; - margin-bottom: var(--space-sm); + flex-direction: column; + gap: var(--space-sm); } - .todo-title { - font-weight: var(--font-weight-medium); - color: var(--gray-900); - } + /* Todo 카드 스타일은 common.css에서 공통 관리 */ - .todo-meta { - display: flex; - align-items: center; + /* 통계 영역 - 정보 표시용 (클릭 불가) */ + .stats-overview { + display: grid; + grid-template-columns: repeat(2, 1fr); gap: var(--space-md); + margin-bottom: var(--space-xl); + } + + /* 통계 카드 - 정보 표시용 (인터랙션 없음) */ + .stat-box { + min-height: 100px; + padding: var(--space-md); + background: var(--white); + border: 1px solid var(--gray-200); + border-radius: var(--radius-md); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + gap: var(--space-xs); + } + + /* 상태별 컬러 코딩 - 단색 배경 + 상단 액센트 라인 */ + .stat-box.stat-meeting { + background: #F8FBFF; + border-top: 4px solid #2196F3; + border-color: #E3F2FD; + } + + .stat-box.stat-todo { + background: #F0FFF4; + border-top: 4px solid #4DD5A7; + border-color: #C6F6D5; + } + + .stat-icon { + font-size: 32px; + margin-bottom: var(--space-xs); + } + + /* 모바일에서 이모지 숨김 */ + @media (max-width: 767px) { + .stat-icon { + display: none; + } + } + + .stat-number { + font-size: var(--font-h1); + font-weight: var(--font-weight-bold); + line-height: 1.2; + margin-bottom: 4px; + } + + .stat-box.stat-meeting .stat-number { + color: #1976D2; + } + + .stat-box.stat-todo .stat-number { + color: #059669; + } + + .stat-text { font-size: var(--font-small); - color: var(--gray-500); - margin-bottom: var(--space-sm); + color: var(--gray-600); + font-weight: var(--font-weight-medium); } - .todo-progress { - margin-top: var(--space-sm); - } - - /* 회의록 리스트 */ + /* 회의록 리스트 - Todo 카드와 동일한 스타일 */ .minutes-list { background: var(--white); border-radius: var(--radius-lg); padding: var(--space-md); box-shadow: var(--shadow-sm); margin-bottom: var(--space-xl); + display: flex; + flex-direction: column; + gap: var(--space-sm); } + /* 회의록 카드 스타일 */ + .minutes-card { + border: 1px solid var(--gray-300); + border-radius: var(--radius-md); + background: var(--white); + transition: all var(--transition-fast); + cursor: pointer; + padding: var(--space-md); + } + + .minutes-card:hover { + box-shadow: var(--shadow-md); + border-color: var(--primary); + } + + .minutes-card-header { + display: flex; + justify-content: flex-start; + align-items: center; + gap: var(--space-xs); + margin-bottom: var(--space-sm); + flex-wrap: wrap; + } + + .minutes-card-title { + font-weight: var(--font-weight-medium); + color: var(--gray-900); + font-size: var(--font-base); + flex-shrink: 0; + } + + .minutes-card-meta { + display: flex; + flex-wrap: wrap; + gap: var(--space-sm); + font-size: var(--font-small); + color: var(--gray-600); + align-items: center; + } + + .minutes-card-badges { + display: flex; + gap: var(--space-xs); + align-items: center; + flex-shrink: 0; + } + + /* 하위 호환성을 위한 기존 클래스 유지 */ .minutes-item { padding: var(--space-md); border-bottom: 1px solid var(--gray-200); @@ -427,7 +509,7 @@