/* edms-design.css — EDMS 디자인 개편 V1 · 모든 화면 (MST2-20261004-017 · MST2-20261005-002)
 * ★겉모양만 — 기능 · 칸 · id · 함수 이름은 손대지 않습니다. 각 화면 <head> 의 ★맨 끝에서 읽혀 앞 규칙을 덮습니다.
 * ★값은 edms-theme.css (= CES ces-theme.css 와 같은 이름 · 같은 값).
 * 부대표 검토 기준 : 본문 18 · 표 16 이상 · 표 머리 17 굵게 · 단추 48 · 상태 = 색 + 아이콘 + 글자(✔▶⏸⚠) · 카드 · 개발용 글은 접기 안으로.
 * 업무 화면 밀도는 ★줄 높이 · 여백을 줄여서 지킵니다(글자는 줄이지 않음). */
@import url('edms-theme.css');


/* ═══════════════════════════════════════════════════════════════════════
   ★디자인 개편 V1 — 겉모양만 (MST2-20261004-017 · 부대표 승인 시안 EDMS_디자인시안_V1)
   · 기능 · 칸 · id · 함수 이름은 손대지 않습니다. 맨 끝에 두어 앞 규칙을 덮습니다.
   · 기존 표 화면의 글자 크기 · 칸 밀도는 그대로 둡니다(업무 화면 밀도 보호) — 18px 기준은 새 홈에만.
   ═══════════════════════════════════════════════════════════════════════ */
:root { --ink:#152033; --line:#e4e9f1; }               /* 시안 값으로 맞춤(같은 이름) */
* { font-family:var(--font); }
body { background:var(--bg); color:var(--ink); -webkit-font-smoothing:antialiased; }
/* 머리줄 — 축마다 달랐던 바탕을 남색 띠 하나로 · 축 색은 아래 4px 선으로 남김 */
header.edms-nav, header.edms-nav.docs, header.edms-nav.recs, header.edms-nav.est, header.edms-nav.gate {
  background:var(--head); padding:12px 28px; box-shadow:0 2px 12px #0006; }
header.edms-nav.docs { border-bottom:4px solid var(--cf); } header.edms-nav.recs { border-bottom:4px solid var(--qe); }
header.edms-nav.est { border-bottom:4px solid var(--nt); }
.edms-nav h1 { font-size:21px; font-weight:800; letter-spacing:-.3px; }
.edms-nav h1 .ico { width:42px; height:42px; padding:9px; border-radius:12px; background:var(--edms-logo); stroke:#fff; }
.edms-nav .brand { font-size:13px; opacity:.7; letter-spacing:.3px; }
.nav-btn { min-height:var(--btn-h); padding:0 16px; border-radius:var(--r2); font-size:15px; font-weight:700;
  background:#ffffff14; border:1px solid #ffffff38; color:#dbe4f5; }
.nav-btn:hover { background:#ffffff26; color:#fff; }
.nav-btn .ico { width:18px; height:18px; }
.nav-btn.sw-docs, .nav-btn.sw-recs, .nav-btn.sw-est { background:#ffffff14; border-color:#ffffff38; }
.nav-btn.sw-docs { box-shadow:inset 4px 0 0 var(--cf); } .nav-btn.sw-recs { box-shadow:inset 4px 0 0 var(--qe); } .nav-btn.sw-est { box-shadow:inset 4px 0 0 var(--nt); }
/* 카드 · 표 상자 — 둥글기 18 · 그림자 */
.table-wrap { border-radius:var(--r3); }
.gate-card, .card { border-radius:var(--r); box-shadow:var(--sh); }
.crumbs { font-size:15px; color:var(--sub); } .crumbs a, .crumbs b { color:var(--run); }

/* ── 새 홈(index.html) — 시안 「홈」 ───────────────────────────── */
.eh { font-size:var(--fs-body); color:var(--ink); }
.eh main, main.eh-main { max-width:1360px; margin:0 auto; padding:22px 28px 60px; }
.eh-hero { background:var(--edms-hero); color:#fff; border-radius:24px; padding:30px 34px; display:grid; grid-template-columns:1.1fr 1fr; gap:26px; box-shadow:var(--sh); }
.eh-hero .when { color:#b39ddb; font-weight:700; font-size:16px; }
.eh-hero h1 { margin:6px 0 8px; font-size:var(--fs-hero); letter-spacing:-.8px; line-height:1.25; }
.eh-hero h1 .a { color:#b39ddb; } .eh-hero h1 .b { color:#ffcc80; }
.eh-hero p { margin:0; color:#c9d6f0; line-height:1.6; font-size:17px; }
.eh-search { margin-top:18px; display:flex; align-items:center; gap:10px; background:#fff; border-radius:16px; padding:0 18px; min-height:56px; box-shadow:0 8px 20px #0004; text-decoration:none; color:#8a96a8; font-size:17px; }
.eh-kp { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.eh-kp a { display:block; border-radius:18px; padding:18px; background:#ffffff12; border:1px solid #ffffff26; color:#fff; text-decoration:none; transition:transform .14s,box-shadow .14s; }
.eh-kp a:hover { transform:translateY(-3px); box-shadow:var(--sh2); }
.eh-kp .h { font-weight:800; font-size:16px; } .eh-kp .n { font-size:48px; font-weight:900; line-height:1.05; margin-top:4px; }
.eh-kp .l { font-size:16px; font-weight:800; margin-top:6px; } .eh-kp .s { font-size:14px; color:#c9d6f0; margin-top:3px; }
.eh-ser { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:20px; }
.eh-ser a { border-radius:18px; padding:18px; color:#fff; position:relative; overflow:hidden; text-decoration:none; transition:transform .14s,box-shadow .14s; }
.eh-ser a:hover { transform:translateY(-3px); box-shadow:var(--sh2); }
.eh-ser a:after { content:""; position:absolute; right:-30px; bottom:-30px; width:120px; height:120px; border-radius:50%; background:#ffffff1a; }
.eh-ser .l { font-size:18px; font-weight:800; } .eh-ser .n { font-size:44px; font-weight:900; } .eh-ser .s { font-size:14px; opacity:.88; }
.eh-grid { display:grid; gap:20px; grid-template-columns:1fr 1.3fr 1fr; margin-top:20px; }
.eh-card { background:#fff; border-radius:var(--r); box-shadow:var(--sh); padding:22px 24px; }
.eh-card h2 { margin:0; font-size:var(--fs-card); font-weight:800; display:flex; align-items:center; gap:10px; }
.eh-card .hint { font-size:var(--fs-hint); color:var(--sub); margin:4px 0 14px; }
.eh-leg { font-size:16px; line-height:1.9; } .eh-leg i { display:inline-block; width:13px; height:13px; border-radius:4px; margin-right:8px; vertical-align:-1px; }
.eh-pie { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.eh-doc { display:grid; grid-template-columns:56px 1fr 150px 160px 140px; gap:16px; align-items:center; padding:14px 8px; border-bottom:1px solid var(--line); text-decoration:none; color:inherit; }
.eh-doc:hover { background:#f7f9fc; }
.eh-doc .ic { width:56px; height:56px; border-radius:14px; display:grid; place-items:center; color:#fff; font-weight:900; font-size:14px; }
.eh-doc .nm { font-size:18px; font-weight:800; } .eh-doc .cd { font-size:14px; color:var(--sub); font-family:Consolas,monospace; }
.eh-pill { display:inline-flex; align-items:center; gap:5px; font-size:14px; font-weight:800; padding:4px 11px; border-radius:999px; }
.eh-pill.ok { background:var(--okb); color:var(--ok); } .eh-pill.run { background:var(--runb); color:var(--run); }
.eh-pill.wait { background:var(--waitb); color:var(--wait-t); } .eh-pill.blk { background:var(--blkb); color:var(--blk); }
.eh-prep { display:inline-block; font-size:13px; font-weight:800; background:#fff3e0; color:var(--wait-t); border-radius:999px; padding:2px 10px; margin-left:6px; }
.eh-areas { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:20px; }
.eh-areas .gate-tile { border-radius:var(--r); min-height:var(--btn-h); }
.eh-err { background:var(--blkb); color:var(--blk); border-radius:12px; padding:10px 14px; font-size:15px; margin-top:12px; }
@media (max-width:900px) {
  .eh-hero { grid-template-columns:1fr; padding:22px; } .eh-hero h1 { font-size:26px; }
  .eh-ser { grid-template-columns:repeat(2,1fr); } .eh-grid, .eh-areas { grid-template-columns:1fr; }
  .eh-doc { grid-template-columns:48px 1fr; } .eh-doc > :nth-child(n+3) { grid-column:2; }
  .eh main, main.eh-main { padding:14px 12px 40px; }
  header.edms-nav { padding:10px 12px; }
}

/* ── 그래픽 부품(edms-graph.js) 꼴 ── */
.eg-tl { position:relative; padding-left:26px; }
.eg-tl:before { content:""; position:absolute; left:9px; top:6px; bottom:6px; width:3px; background:var(--line); }
.eg-tl .e { position:relative; margin-bottom:16px; }
.eg-tl .e:before { content:""; position:absolute; left:-23px; top:5px; width:14px; height:14px; border-radius:50%; background:var(--c,#1565c0); box-shadow:0 0 0 4px #fff; }
.eg-tl .e b { font-size:16px; } .eg-tl .e div { font-size:14px; color:var(--sub); }
.eg-chain { display:flex; align-items:center; gap:6px; font-size:14px; font-weight:800; flex-wrap:wrap; }
.eg-chain span { padding:7px 12px; border-radius:10px; } .eg-chain em { color:#9aa6b8; font-style:normal; }
.eg-ok { background:var(--okb); color:var(--ok); } .eg-wait { background:var(--waitb); color:var(--wait-t); }
.eg-blk { background:var(--blkb); color:var(--blk); } .eg-run { background:var(--runb); color:var(--run); } .eg-none { background:#edf1f7; color:#8a96a8; }

/* ── 문서 한 장(docs.html 상세창) — 시안 「문서 한 장」 ── */
#docDetailModal .dd-box { border-radius:var(--r); box-shadow:var(--sh2); overflow:hidden; }
#docDetailModal .dd-head { background:var(--head); color:#fff; padding:16px 22px; }
#docDetailModal .dd-head .t { font-size:22px; font-weight:900; }
#docDetailModal .dd-head .t small { display:block; font-family:Consolas,monospace; font-size:14px; opacity:.75; font-weight:600; }
#docDetailModal .dd-sec { font-size:18px; font-weight:800; color:var(--ink); }
.dd-x { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin:14px 0; }
.dd-x > div { background:#fff; border:1px solid var(--line); border-radius:var(--r3); padding:14px 16px; }
.dd-x h3 { margin:0 0 4px; font-size:17px; font-weight:800; } .dd-x .hint { font-size:13.5px; color:var(--sub); margin-bottom:10px; }
@media (max-width:700px) { .dd-x { grid-template-columns:1fr; } }


/* ═══════════════════════════════════════════════════════════════════════
   ★모든 화면 공통 (MST2-20261005-002) — 표 · 단추 · 입력칸 · 상태 · 카드
   ═══════════════════════════════════════════════════════════════════════ */
body { font-size:16px; line-height:1.5; }
/* 카드 · 판 */
.panel, .card, .gate-card { border-radius:var(--r) !important; box-shadow:var(--sh) !important; }
.panel { padding:20px 22px; }
.panel h2, .panel > h3 { font-size:var(--fs-card) !important; font-weight:800 !important; color:var(--ink) !important; }
.cards { gap:16px; }
.card .label { font-size:15px !important; font-weight:800; color:var(--sub) !important; }
.card .value { font-size:40px !important; font-weight:900 !important; color:var(--ink) !important; line-height:1.1; }
.card .sub { font-size:14px !important; color:var(--sub) !important; }
.cards .card:hover { transform:translateY(-3px); box-shadow:var(--sh2) !important; }
/* 표 — 글자 16 · 머리 17 굵게 · 밀도는 여백으로 */
table td, table th { font-size:16px !important; line-height:1.4 !important; padding:8px 10px !important; }
table th { font-size:17px !important; font-weight:800 !important; }
table td :is(span, small, a, b, em, strong, code, label, div, i):not(svg):not(.ico) { font-size:16px !important; }
table td button, table td .btn { font-size:16px !important; }
.table-wrap { border-radius:var(--r3); overflow-x:auto; }
/* 단추 — 높이 48 · 굵게 · 둥글기 12 */
button:not(.pw-eye), .btn, .nav-btn, .est-btn, a.btn {
  min-height:var(--btn-h) !important; font-size:16px !important; font-weight:800 !important; border-radius:var(--r2) !important;
  padding-left:16px !important; padding-right:16px !important; }
.apv-ok, .ap-ok, .dist-ok, .st-ok { background:var(--ok) !important; color:#fff !important; border:none !important; box-shadow:0 4px 12px #2e7d3240; }
.apv-no, .ap-no, .dist-no, .st-no { background:#fff !important; color:var(--blk) !important; border:2px solid var(--blk) !important; }
.apv-hold { background:#fff !important; color:var(--wait-t) !important; border:2px solid #ffcc80 !important; }
.est-btn.primary, .btn.primary, .btn.dl { background:var(--run) !important; color:#fff !important; border:none !important; box-shadow:0 4px 12px #1565c040; }
.est-btn.ghost, .btn.ghost, .btn.view { background:#fff !important; color:var(--run) !important; border:2px solid #bcd3f3 !important; }
button:disabled, .btn:disabled { opacity:.55; cursor:not-allowed; }
/* 입력칸 — 글자 16(휴대전화 확대 막음) · 높이 44 이상 */
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]), select, textarea {
  font-size:16px !important; border-radius:var(--r2) !important; }
input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]), select { min-height:44px; }
input[type=checkbox], input[type=radio] { width:20px; height:20px; vertical-align:-4px; }
#searchInput { min-height:52px !important; border:2px solid var(--line) !important; padding:0 16px !important; background:var(--soft) !important; font-size:17px !important; }
/* 상태 — 색 + 아이콘 + 글자 (.st-tag.st-○○ · .rst.rst-○○) */
.st-tag, .rst { font-size:15px !important; font-weight:800 !important; padding:3px 11px !important; border-radius:var(--pillr) !important; white-space:nowrap; display:inline-flex; align-items:center; gap:4px; }
.st-tag::before, .rst::before { font-weight:900; }
:is(.st-등록완료,.st-승인완료,.st-승인,.st-보관,.st-발급,.rst-유효,.rst-완료,.rst-완료종료,.rst-진행완료) { background:var(--okb) !important; color:var(--ok) !important; }
:is(.st-등록완료,.st-승인완료,.st-승인,.st-보관,.st-발급,.rst-유효,.rst-완료,.rst-완료종료,.rst-진행완료)::before { content:"✔"; }
:is(.st-작성중,.st-초안,.st-검토중,.rst-진행) { background:var(--runb) !important; color:var(--run) !important; }
:is(.st-작성중,.st-초안,.st-검토중,.rst-진행)::before { content:"▶"; }
:is(.st-승인대기,.st-보류,.st-신청,.st-관리자승인,.st-대표승인대기,.rst-보류,.rst-미착수,.rst-잠정종료,.rst-대체됨) { background:var(--waitb) !important; color:var(--wait-t) !important; }
:is(.st-승인대기,.st-보류,.st-신청,.st-관리자승인,.st-대표승인대기,.rst-보류,.rst-미착수,.rst-잠정종료,.rst-대체됨)::before { content:"⏸"; }
:is(.st-반려,.st-폐기,.st-취소,.st-회수,.rst-폐기,.rst-실패종료,.rst-중도종결,.rst-반려) { background:var(--blkb) !important; color:var(--blk) !important; }
:is(.st-반려,.st-폐기,.st-취소,.st-회수,.rst-폐기,.rst-실패종료,.rst-중도종결,.rst-반려)::before { content:"⚠"; }
/* 결재 · 다운로드 승인 줄 — 시안 「결재 · 다운로드」 카드 */
.apv-sub { font-size:var(--fs-card) !important; font-weight:800; color:var(--ink); margin:18px 0 10px !important; }
.apv-row, .ap-row { background:#fff !important; border-radius:var(--r) !important; box-shadow:var(--sh) !important; padding:14px 18px !important;
  margin-bottom:12px !important; border:none !important; border-left:8px solid var(--wait) !important; gap:14px; }
.apv-info, .ap-row { font-size:16px !important; line-height:1.55; }
.apv-info b { font-size:18px !important; font-weight:900; } .apv-info small { font-size:15px !important; color:var(--sub) !important; }
.apv-actions { gap:8px; flex-wrap:wrap; }
/* 새 문서 — 시안 「차례 띠」 · 입력 */
.stepper { gap:0 !important; margin:8px 0 18px !important; }
.stepper .step { background:#e9eef6; padding:10px 18px 10px 26px; clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%); }
.stepper .step:first-child { padding-left:16px; clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%); }
.stepper .step-arrow { display:none; }
.stepper .step .dot { width:28px; height:28px; font-size:14px; background:#fff !important; color:var(--sub) !important; }
.stepper .step .lbl { font-size:16px !important; font-weight:800 !important; color:var(--sub) !important; }
.stepper .step.done { background:var(--ok); } .stepper .step.done .lbl { color:#fff !important; } .stepper .step.done .dot { color:var(--ok) !important; }
.stepper .step.on { background:var(--run); } .stepper .step.on .lbl { color:#fff !important; } .stepper .step.on .dot { color:var(--run) !important; }
.est-grid label, label { font-size:16px; }
.est-grid label { font-weight:800 !important; color:var(--ink) !important; margin:14px 0 6px !important; }
.est-inp { border:2px solid var(--line) !important; padding:10px 14px !important; background:#fbfcfe; }
.est-hint { font-size:15px !important; background:var(--soft) !important; color:var(--sub) !important; border-radius:var(--r2) !important; }
.est-sec { font-size:18px !important; font-weight:800 !important; color:var(--ink) !important; }
/* 작은 글 바닥값 — 안내 · 보조 줄이 14 아래로 내려가지 않게 */
small, .hint, .sub, .note, .muted, .deny-note { font-size:max(14px, 1em) ; }
/* 모달 머리 */
.modal-head, .dd-head, .m-head { background:var(--head); color:#fff; }
/* ★개발용 글 접기 — 화면 안 「내부 이름 · 근거 줄」 상자는 edms-design.js 가 <details> 로 감쌉니다 */
details.edms-dev { margin:8px 0; font-size:14px; color:var(--sub); }
details.edms-dev > summary { cursor:pointer; font-weight:700; color:#8a96a8; list-style:none; }
details.edms-dev > summary::before { content:"ⓘ 작업 메모 보기"; }
@media (max-width:900px) { .apv-row, .ap-row { flex-direction:column; align-items:stretch; } .apv-actions { justify-content:flex-start; } }
/* 프로젝트관리 화면 머리줄(header.mk) — 같은 남색 띠 · 노랑은 아래 선으로 */
header.mk, header.mk.pm, header.mk.rec { background:var(--head) !important; color:#fff !important; box-shadow:0 2px 12px #0006; padding:12px 28px !important; }
header.mk.pm { border-bottom:4px solid #E2AD33; } header.mk.rec { border-bottom:4px solid var(--qe); }
header.mk h1, header.mk.pm h1, header.mk .userbox, header.mk.pm .userbox { color:#fff !important; font-size:21px; font-weight:800; }
header.mk h1 small { font-size:14px !important; }
header.mk .homebtn, header.mk.pm .homebtn { color:#dbe4f5 !important; border:1px solid #ffffff38 !important; background:#ffffff14 !important; min-height:var(--btn-h); display:inline-flex; align-items:center; padding:0 16px; border-radius:var(--r2); font-weight:700; }
details.edms-dev:not([open]) > :not(summary) { display:none !important; }
details.edms-dev[open] > summary::before { content:"ⓘ 작업 메모 접기"; }
header.mk .mk-home { color:#dbe4f5 !important; border:1px solid #ffffff38 !important; background:#ffffff14 !important; min-height:var(--btn-h); display:inline-flex; align-items:center; gap:6px; padding:0 16px; border-radius:var(--r2); font-weight:700; text-decoration:none; }
header.mk .userbox { display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-size:16px !important; }
@media (max-width:700px) {
  header.mk, header.mk.pm, header.mk.rec { padding:10px 12px !important; }
  header.mk h1 { font-size:18px !important; } header.mk h1 small { display:block; margin-left:0 !important; }
  header.mk .userbox { width:100%; font-size:15px !important; } header.mk .userbox #who { overflow-wrap:anywhere; }
  .edms-nav .nav-right { width:100%; }
}
@media (max-width:700px) { input:not([type=checkbox]):not([type=radio]), select, textarea { max-width:100%; } }

/* ═══════════════════════════════════════════════════════════════════════
★2차 다듬기 (MST2-20261005-004) — 길 안내는 늘 보임 · 작업 메모는 맨 아래 한 곳 · 입력 칸은 카드
═══════════════════════════════════════════════════════════════════════ */
/* 길 안내 상자 — 「여기서 무엇을 · 어디서」 한두 줄 */
.mk-note.approval-note { display:block !important; background:var(--runb) !important; border:none !important; border-left:8px solid var(--run) !important;
  color:var(--ink) !important; border-radius:var(--r3) !important; padding:14px 18px 14px 18px !important; margin:14px 0 !important;
  font-size:17px !important; line-height:1.65 !important; box-shadow:var(--sh); }
.mk-note.approval-note::before { content:"길 안내"; display:inline-block; margin-right:10px; padding:2px 10px; border-radius:var(--pillr);
  background:var(--run); color:#fff; font-size:14px; font-weight:800; vertical-align:2px; }
.mk-note.approval-note b { color:var(--ink); } .mk-note.approval-note a { color:var(--run); font-weight:800; }
/* 작업 메모 — 화면 맨 아래 한 곳 */
details.edms-devbox { margin:28px 0 12px; padding:10px 16px; background:#fff; border:1px dashed #c9d3e3; border-radius:var(--r3); }
details.edms-devbox[open] > :not(summary) { margin-top:10px; font-size:14px !important; color:var(--sub) !important; }
details.edms-devbox .mk-note, details.edms-devbox .prov-note { background:var(--soft) !important; border:none !important; border-left:4px solid #c9d3e3 !important; }
/* 프로젝트관리 머리줄 이름 · 직함 */
header.mk #who { font-weight:800; }
header.mk .role-badge { display:inline-flex; align-items:center; min-height:30px; padding:0 12px; border-radius:var(--pillr); background:#ffffff26 !important; color:#fff !important; font-size:14px !important; font-weight:800; border:1px solid #ffffff40; }
/* 프로젝트관리 공통 — 판 · 거르개 · 알림 */
main .form, main .filter, main .panel { background:#fff !important; border:none !important; border-radius:var(--r) !important; box-shadow:var(--sh) !important; padding:18px 22px !important; font-size:16px !important; margin-bottom:18px !important; }
main .filter { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
main .axis { font-size:15px !important; color:var(--sub) !important; }
main .err { border-radius:var(--r3) !important; font-size:15px !important; border-width:0 0 0 8px !important; }
footer.mk { font-size:14px !important; color:var(--sub) !important; text-align:center; padding:16px !important; background:transparent !important; border:none !important; }
/* 결재 올리기 — 시안 「새 문서」 : 차례 띠 + 칸 묶음 카드 + 같은 칸 폭 */
.pa-form .pa-head { font-size:var(--fs-card); font-weight:800; margin-bottom:6px; }
.pa-form .pa-head .axis { font-weight:600; margin-left:8px; }
.pa-steps { display:flex; }
.pa-cards { display:grid; grid-template-columns:1.4fr 1fr; gap:18px; }
.pa-card { background:var(--soft); border:1px solid var(--line); border-radius:var(--r3); padding:16px 18px; }
.pa-card h3 { margin:0 0 10px; font-size:18px; font-weight:800; color:var(--ink); }
.pa-f { display:grid; grid-template-columns:84px 1fr; align-items:center; gap:10px; margin-bottom:10px; }
.pa-f label { min-width:0 !important; font-weight:800; color:var(--ink) !important; margin:0 !important; }
.pa-f select, .pa-f input { width:100% !important; box-sizing:border-box; padding:8px 12px !important; border:2px solid var(--line) !important; background:#fff !important; }
.pa-rule { margin:6px 0 0; font-size:15px; color:var(--blk); font-weight:700; }
.pa-rule::before { content:"⚠ "; }
.pa-go { display:flex; justify-content:flex-end; margin-top:16px; }
.pa-go .btn.go { min-width:180px; background:var(--run) !important; color:#fff !important; border:none !important; font-size:18px !important; box-shadow:0 4px 12px #1565c040; }
@media (max-width:800px) { .pa-cards { grid-template-columns:1fr; } .pa-f { grid-template-columns:1fr; gap:4px; } .pa-go .btn.go { width:100%; } }
.mk-note.approval-note { font-weight:500 !important; } .mk-note.approval-note b { font-weight:800 !important; }
main .form.pa-form { max-width:none !important; width:auto !important; }
.pa-steps .step { display:flex; align-items:center; gap:8px; }
.pa-steps .step .dot { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:50%; background:#fff !important; color:var(--sub) !important; font-size:14px; font-weight:900; }
.pa-steps .step.on .dot { color:var(--run) !important; }
/* 프로젝트관리 표 머리 — 옛 갈색 → 남색 · 칸 가운데 맞춤 */
header.mk ~ main table th { background:var(--head) !important; color:#fff !important; border-color:#2b3a5c !important; }
header.mk ~ main table td { vertical-align:middle !important; border-color:var(--line) !important; }
header.mk ~ main table { border-radius:var(--r3); overflow:hidden; box-shadow:var(--sh); background:#fff; }
/* 결재 화면(.st) 상태 — 색 + 아이콘 + 글자 */
table.ap .st { display:inline-flex; align-items:center; gap:4px; border:none !important; border-radius:var(--pillr); padding:3px 11px !important; font-size:15px !important; font-weight:800; background:var(--runb) !important; color:var(--run) !important; }
table.ap .st::before { content:"▶"; }
table.ap .st.wait { background:var(--waitb) !important; color:var(--wait-t) !important; } table.ap .st.wait::before { content:"⏸"; }
table.ap .st.done { background:var(--okb) !important; color:var(--ok) !important; } table.ap .st.done::before { content:"✔"; }
table.ap .st.rej { background:var(--blkb) !important; color:var(--blk) !important; } table.ap .st.rej::before { content:"⚠"; }
table.ap tr.turn td { background:#fff8e1 !important; }
a.btn, span.btn, label.btn { display:inline-flex !important; align-items:center; justify-content:center; text-decoration:none; }
@media (max-width:700px) { header.mk ~ main table { display:block; overflow-x:auto; max-width:100%; } }
/* 프로젝트관리 표 — 16px 글자가 잘리지 않게 : 화면 폭 넓힘 · 칸 줄바꿈 허용 */
header.mk ~ main, body:has(header.mk) > main { max-width:1360px !important; }
table.std, table.gboard { table-layout:auto !important; }
table.std td, table.gboard td.pj { white-space:normal !important; overflow:visible !important; text-overflow:clip !important; word-break:keep-all; overflow-wrap:anywhere; }
table.std th, table.gboard th { white-space:nowrap !important; overflow:visible !important; text-overflow:clip !important; }
table.std td.code, table.std td:first-child { white-space:nowrap !important; }
.rst, .pgb, .plv, .dstat, .req-ic, .gcell, .site-badge { font-size:15px !important; padding:3px 10px !important; }
/* 게이트 상태(.gcell) — 색 + 아이콘 + 글자 */
.gcell { display:inline-flex !important; align-items:center; gap:4px; font-weight:800; border-radius:var(--pillr) !important; border:none !important; }
.gcell.gc-pass { background:var(--okb) !important; color:var(--ok) !important; } .gcell.gc-pass::before { content:"✔"; }
.gcell.gc-cond, .gcell.gc-wait { background:var(--waitb) !important; color:var(--wait-t) !important; } .gcell.gc-cond::before, .gcell.gc-wait::before { content:"⏸"; }
.gcell.gc-reject, .gcell.gc-del { background:var(--blkb) !important; color:var(--blk) !important; } .gcell.gc-reject::before, .gcell.gc-del::before { content:"⚠"; }
.gcell.gc-none { background:#edf1f7 !important; color:#5a6b86 !important; } .gcell.gc-none::before { content:"○"; }
.gcell.gc-ext { background:var(--runb) !important; color:var(--run) !important; } .gcell.gc-ext::before { content:"▶"; }
/* 글자만 있던 상태 딱지 — edms-design.js 가 글자를 보고 붙임 */
.edms-s-ok, .edms-s-run, .edms-s-wait, .edms-s-blk { display:inline-flex !important; align-items:center; gap:4px; border:none !important; border-radius:var(--pillr) !important; font-weight:800 !important; padding:3px 11px !important; font-size:15px !important; }
.edms-s-ok { background:var(--okb) !important; color:var(--ok) !important; } .edms-s-ok::before { content:"✔"; }
.edms-s-run { background:var(--runb) !important; color:var(--run) !important; } .edms-s-run::before { content:"▶"; }
.edms-s-wait { background:var(--waitb) !important; color:var(--wait-t) !important; } .edms-s-wait::before { content:"⏸"; }
.edms-s-blk { background:var(--blkb) !important; color:var(--blk) !important; } .edms-s-blk::before { content:"⚠"; }
.ap-row.mine { border-left-color:var(--run) !important; }
/* 간트 — 날짜 머리는 7일마다 · 앞 네 칸 폭 */
table.gantt th.d { font-size:0 !important; padding:8px 0 !important; overflow:visible !important; position:relative; }
table.gantt th.d.edms-tick { font-size:13px !important; text-align:left !important; white-space:nowrap; }
table.gantt th.d.edms-tick::before { content:""; position:absolute; left:0; top:4px; bottom:4px; border-left:1px solid #ffffff55; }
table.gantt td.cell { padding:0 !important; }
table.gantt th:nth-child(1) { width:64px !important; } table.gantt th:nth-child(2) { width:220px !important; }
table.gantt th:nth-child(3) { width:72px !important; } table.gantt th:nth-child(4) { width:92px !important; }
table.gantt td.lbl { overflow:visible !important; text-overflow:clip !important; }
table.gantt th.d.edms-tick { z-index:5 !important; padding-left:4px !important; }
/* 프로젝트 화면 — 위 EDMS 머리줄이 이미 있으면 아래 머리줄은 흰 제목 띠로(머리줄 두 겹 · 이름 두 번 안 보이게) */
header.edms-nav ~ header.mk { background:#fff !important; color:var(--ink) !important; box-shadow:var(--sh) !important; border-bottom:4px solid #E2AD33 !important; padding:12px 28px !important; }
header.edms-nav ~ header.mk h1, header.edms-nav ~ header.mk h1 small { color:var(--ink) !important; }
header.edms-nav ~ header.mk h1 small { color:var(--sub) !important; }
header.edms-nav ~ header.mk .userbox #who, header.edms-nav ~ header.mk .userbox .role-badge { display:none !important; }
header.edms-nav ~ header.mk .homebtn, header.edms-nav ~ header.mk .mk-home { color:var(--run) !important; background:#fff !important; border:2px solid #bcd3f3 !important; }
.edms-nav .nav-btn { padding:0 12px !important; font-size:15px !important; }
/* 프로젝트관리 입력칸 — 같은 꼴 */
header.mk ~ main :is(input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=hidden]), select, textarea) { border:2px solid var(--line) !important; padding:8px 12px !important; background:#fff; color:var(--ink); }
header.mk ~ main :is(input, select, textarea):focus { border-color:var(--run) !important; outline:none; box-shadow:0 0 0 3px #1565c022; }
@media (max-width:800px) { .pa-steps .step { padding:8px 12px 8px 18px; } .pa-steps .step .lbl { white-space:nowrap; font-size:14px !important; } .pa-steps .step .dot { width:22px; height:22px; } }
/* 결재 화면 상태 — 글자로 판단(줄의 「내 차례」 노랑과 섞지 않음) */
table.ap .st.edms-s-ok { background:var(--okb) !important; color:var(--ok) !important; } table.ap .st.edms-s-ok::before { content:"✔"; }
table.ap .st.edms-s-run { background:var(--runb) !important; color:var(--run) !important; } table.ap .st.edms-s-run::before { content:"▶"; }
table.ap .st.edms-s-wait { background:var(--waitb) !important; color:var(--wait-t) !important; } table.ap .st.edms-s-wait::before { content:"⏸"; }
table.ap .st.edms-s-blk { background:var(--blkb) !important; color:var(--blk) !important; } table.ap .st.edms-s-blk::before { content:"⚠"; }
