diff --git a/app/modules/project/templates/project/inbox.html b/app/modules/project/templates/project/inbox.html
index fd547d7..4db641e 100644
--- a/app/modules/project/templates/project/inbox.html
+++ b/app/modules/project/templates/project/inbox.html
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
-
+
{% endblock %}
diff --git a/app/modules/project/templates/project/index.html b/app/modules/project/templates/project/index.html
index 3db85b5..9df2532 100644
--- a/app/modules/project/templates/project/index.html
+++ b/app/modules/project/templates/project/index.html
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
-
+
{% endblock %}
diff --git a/app/modules/project/templates/project/project.html b/app/modules/project/templates/project/project.html
index bf8eb2c..a1003df 100644
--- a/app/modules/project/templates/project/project.html
+++ b/app/modules/project/templates/project/project.html
@@ -1,7 +1,7 @@
{% extends "erp_base.html" %}
{% block head_extra %}
-
+
diff --git a/app/static/project.css b/app/static/project.css
index 32a4092..0be0060 100644
--- a/app/static/project.css
+++ b/app/static/project.css
@@ -135,10 +135,18 @@
그대로 쓰기 위해 휴가/쿠팡 모듈과 같은 패턴으로 .erp-page 의 flex 자식을
늘려 남은 높이를 다 차지하게 하고, 가운데 폭 제한(max-width:1550px)도
이 화면에서만 풀어서 좌/우 칸이 진짜 화면 양 끝에 붙게 한다. */
-.erp-page:has(> .pj-project-view) { max-width: none; }
+.erp-page:has(> .pj-wrap) { max-width: none; }
.pj-project-view { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.pj-project-view .pj-layout { flex: 1 1 auto; min-height: 0; }
-.pj-layout { display: grid; grid-template-columns: 230px 1fr 300px; gap: 22px; height: 100%; min-height: 0; align-items: stretch; }
+/* grid-template-rows: minmax(0,1fr) 이 없으면 암시적 행이 "auto"(내용 크기)로
+ 잡혀서, 자식들의 height:100% 가 기준으로 삼을 "확정된 높이"가 없어진다
+ (퍼센트 높이는 트랙이 auto면 무시되고 다시 내용 크기로 되돌아간다) —
+ 그래서 내 업무/좌측 목록이 제 안에서 스크롤 못 하고 카드 내용만큼
+ 늘어나 버렸다. 1fr 로 행 자체를 컨테이너 높이만큼 확정 지어야 한다. */
+.pj-layout {
+ display: grid; grid-template-columns: 230px 1fr 300px; grid-template-rows: minmax(0, 1fr);
+ gap: 22px; height: 100%; min-height: 0; align-items: stretch;
+}
.pj-side { min-width: 0; min-height: 0; height: 100%; overflow-y: auto; padding-right: 4px; }
.pj-main { min-width: 0; min-height: 0; height: 100%; display: flex; flex-direction: column; }
.pj-project-mytasks { min-width: 0; min-height: 0; width: 300px; height: 100%; overflow-y: auto; padding-right: 4px; }
@@ -147,7 +155,7 @@
.pj-project-mytasks { display: none; }
}
@media (max-width: 900px) {
- .erp-page:has(> .pj-project-view) { max-width: 1550px; }
+ .erp-page:has(> .pj-wrap) { max-width: 1550px; }
.pj-project-view { display: block; }
.pj-layout { display: block; height: auto; }
.pj-side, .pj-main { height: auto; overflow: visible; }