@charset "utf-8";
/* ============================================================
   전자결재 (마이페이지 > 사내 결재문서)
   기존 마이페이지 토큰(--color-primary / --space-* / --font-size-*)을 그대로 쓴다.
   상태색만 이 파일에서 추가 정의한다.
   ============================================================ */

:root {
	--apv-ing    : #0F138C;   /* 진행중 */
	--apv-done   : #0B7A57;   /* 승인완료 · 전결 */
	--apv-reject : #C63A2E;   /* 반려 */
	--apv-hold   : #A8761C;   /* 보류 */
	--apv-idle   : #8F8F8F;   /* 미처리 */
}

/* ── 상단 헤더 ─────────────────────────────────────────── */
.apv-head {margin-bottom:var(--space-30); display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-16); padding:var(--space-30); background:#fff; border:1px solid #ddd; border-radius:16px;}
.apv-head-title {display:flex; align-items:center; gap:var(--space-16);}
.apv-head-bar {flex-shrink:0; width:3px; height:30px; background:var(--color-primary);}
.apv-head-tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); line-height:1.3em;}
.apv-head-sub {font-weight:400; color:#999; line-height:1.6em;}
.apv-head-actions {display:flex; align-items:center; gap:8px;}

.apv-btn {display:inline-flex; align-items:center; justify-content:center; gap:8px; height:56px; padding:0 var(--space-30); font-size:var(--font-size-16); font-weight:600; color:var(--color-bk); line-height:1.6em; text-align:center; text-decoration:none; background:#fff; border:1px solid #ddd; border-radius:8px; cursor:pointer; box-sizing:border-box;}
.apv-btn:hover {border-color:#bbb;}
.apv-btn-primary {color:#fff; background:var(--color-primary); border-color:var(--color-primary);}
.apv-btn-primary:hover {opacity:.9; border-color:var(--color-primary);}
.apv-btn-danger {color:var(--apv-reject); border-color:#f0b3ac;}
.apv-btn-danger:hover {color:#fff; background:var(--apv-reject); border-color:var(--apv-reject);}
.apv-btn-sm {height:var(--write-height); padding:0 var(--space-16); font-size:var(--font-size-15);}
.apv-btn-wide {min-width:200px;}

/* ── 필터 + 검색 ───────────────────────────────────────── */
.apv-filter {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-16); width:100%; margin-bottom:var(--space-30); padding:var(--space-20) var(--space-25); background:#f8f8f8; border-radius:16px; box-sizing:border-box;}
.apv-tabs {display:flex; align-items:center; flex-wrap:wrap; gap:4px; padding:6px; background:#fff; border:1px solid #ddd; border-radius:100px;}
.apv-tab {display:inline-flex; align-items:center; gap:6px; height:44px; padding:0 var(--space-25); font-size:var(--font-size-15); font-weight:600; color:#999; line-height:1.6em; text-decoration:none; background:transparent; border:0; border-radius:100px;}
.apv-tab:hover {color:var(--color-primary);}
.apv-tab.is-active {color:#fff; background:var(--color-primary);}
.apv-tab-count {display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 6px; font-size:var(--font-size-12); font-weight:700; color:#fff; background:var(--apv-reject); border-radius:100px;}
.apv-tab.is-active .apv-tab-count {color:var(--color-primary); background:#fff;}

.apv-search {display:flex; align-items:center; gap:8px;}
.apv-search select, .apv-search input {height:var(--write-height); padding:0 var(--space-16); font-size:var(--font-size-15); font-weight:500; color:var(--color-bk); line-height:1.5em; background:#fff; border:1px solid #ddd; border-radius:8px; box-sizing:border-box;}
.apv-search select {cursor:pointer;}
.apv-search input {width:220px;}

/* ── 목록 ─────────────────────────────────────────────── */
.apv-list {display:flex; flex-direction:column; width:100%; border-top:1px solid #111;}
.apv-list-head {display:grid; grid-template-columns:120px 1fr 150px 210px 120px; background:#fafafb; border-bottom:1px solid #ddd;}
.apv-list-head span {display:flex; align-items:center; justify-content:center; padding:var(--space-20) var(--space-16); font-size:var(--font-size-16); font-weight:700; color:var(--color-bk); line-height:1.6em; text-align:center;}
.apv-list-row {display:grid; grid-template-columns:120px 1fr 150px 210px 120px; align-items:center; border-bottom:1px solid #ddd; text-decoration:none;}
.apv-list-row:hover {background:#fafafb;}
.apv-list-cell {display:flex; align-items:center; justify-content:center; padding:var(--space-20) var(--space-16); line-height:1.6em; box-sizing:border-box;}
.apv-list-cell-main {flex-direction:column; align-items:flex-start; gap:6px; justify-content:center; min-width:0;}

.apv-doctype {display:inline-flex; align-items:center; justify-content:center; padding:3px var(--space-16); font-size:var(--font-size-14); font-weight:600; color:var(--color-primary); line-height:1.6em; background:#eef0fb; border-radius:100px; white-space:nowrap;}
.apv-list-subject {display:flex; align-items:center; gap:8px; width:100%; min-width:0; font-size:var(--font-size-18); font-weight:600; color:var(--color-bk); line-height:1.5em;}
.apv-list-subject-txt {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.apv-list-meta {display:flex; flex-wrap:wrap; align-items:center; gap:6px 12px; font-size:var(--font-size-15); color:#8f8f8f; line-height:1.6em;}
.apv-list-meta b {font-weight:600; color:#666;}
.apv-clip {display:inline-flex; align-items:center; gap:3px; flex-shrink:0; font-size:var(--font-size-14); font-weight:600; color:#8f8f8f;}
.apv-clip::before {content:""; width:14px; height:14px; background:currentColor; -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16.5 6.5v9a4.5 4.5 0 1 1-9 0V6a3 3 0 1 1 6 0v9a1.5 1.5 0 1 1-3 0V7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") no-repeat center/contain; mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M16.5 6.5v9a4.5 4.5 0 1 1-9 0V6a3 3 0 1 1 6 0v9a1.5 1.5 0 1 1-3 0V7' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>") no-repeat center/contain;}

.apv-tag {display:inline-flex; align-items:center; justify-content:center; min-width:88px; padding:5px var(--space-16); font-size:var(--font-size-15); font-weight:700; line-height:1.6em; border:1px solid; border-radius:100px; white-space:nowrap;}
/* 내 차례임을 알리는 배지 — 좌측 메뉴의 건수 배지와 같은 빨강을 쓴다 */
.apv-turn {display:inline-flex; align-items:center; gap:5px; padding:3px 10px; font-size:var(--font-size-14); font-weight:700; color:#fff; line-height:1.5em; background:var(--apv-reject); border-radius:100px; white-space:nowrap;}
.apv-turn::before {content:""; flex-shrink:0; width:5px; height:5px; background:#fff; border-radius:100px;}

/* 진행 단계 미니 표시 (목록) */
.apv-steps {display:flex; align-items:center; gap:4px;}
.apv-step-dot {display:flex; align-items:center; justify-content:center; width:30px; height:30px; font-size:var(--font-size-14); font-weight:700; color:#aaa; line-height:1; background:#fff; border:1px solid #ddd; border-radius:100px;}
.apv-step-dot.is-done {color:#fff; background:var(--apv-done); border-color:var(--apv-done);}
.apv-step-dot.is-cur {color:#fff; background:var(--apv-ing); border-color:var(--apv-ing);}
.apv-step-dot.is-reject {color:#fff; background:var(--apv-reject); border-color:var(--apv-reject);}
.apv-step-dot.is-hold {color:#fff; background:var(--apv-hold); border-color:var(--apv-hold);}
.apv-step-sep {width:8px; height:1px; background:#ddd;}

.apv-empty {padding:var(--space-80) var(--space-16); font-weight:400; color:#999; line-height:1.8em; text-align:center; border-bottom:1px solid #ddd;}
.apv-empty strong {display:block; margin-bottom:6px; font-size:var(--font-size-18); font-weight:700; color:var(--color-bk);}

/* ── 좌측 마이페이지 메뉴의 결재 대기 배지 (sub/inc_left_menu.php) ──
   .intro-nav-link 이 space-between 이라, 텍스트+배지를 한 덩어리로 묶어야
   화살표만 오른쪽 끝에 남는다. */
.intro-nav-label {display:inline-flex; align-items:center; gap:8px; min-width:0;}
.intro-nav-badge {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; min-width:20px; height:20px; padding:0 6px; font-size:var(--font-size-12); font-weight:700; color:#fff; line-height:1; background:var(--apv-reject); border-radius:100px;}
.intro-nav-link.is-active .intro-nav-badge {color:var(--apv-reject); background:#fff;}

/* ── 상세 ─────────────────────────────────────────────── */
.apv-doc {display:flex; flex-direction:column; gap:var(--space-30); width:100%;}
.apv-paper {width:100%; padding:var(--space-50) var(--space-40); background:#fff; border:1px solid #ddd; border-radius:16px; box-sizing:border-box;}

/* 문서 머리: 제목 왼쪽 / 결재란 오른쪽 — 실제 결재 서류의 배치 */
.apv-paper-top {display:flex; align-items:flex-start; justify-content:space-between; gap:var(--space-40); padding-bottom:var(--space-30); border-bottom:2px solid var(--color-bk);}
.apv-paper-title {display:flex; flex-direction:column; gap:12px; min-width:0;}
.apv-paper-badges {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.apv-paper-tit {font-size:var(--font-size-32); font-weight:700; color:var(--color-bk); line-height:1.35em; word-break:keep-all;}
.apv-paper-writer {font-size:var(--font-size-16); color:#666; line-height:1.6em;}
.apv-paper-writer b {font-weight:600; color:var(--color-bk);}

/* 결재란 — 종이 결재문서의 도장칸을 그대로 옮긴 형태 */
.apv-stamp {flex-shrink:0; display:flex; border:1px solid var(--color-bk);}
.apv-stamp-col {display:flex; flex-direction:column; width:104px; border-left:1px solid #ccc;}
.apv-stamp-col:first-child {border-left:0;}
.apv-stamp-role {display:flex; align-items:center; justify-content:center; height:32px; font-size:var(--font-size-14); font-weight:700; color:#fff; line-height:1; background:var(--color-bk);}
.apv-stamp-mark {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; height:74px; padding:4px; border-bottom:1px solid #eee; box-sizing:border-box;}
.apv-stamp-act {display:flex; align-items:center; justify-content:center; min-width:56px; padding:4px 8px; font-size:var(--font-size-14); font-weight:700; line-height:1.3; text-align:center; border:1.5px solid; border-radius:6px;}
.apv-stamp-wait {font-size:var(--font-size-14); font-weight:600; color:#bbb;}
.apv-stamp-col.is-cur .apv-stamp-mark {background:#eef0fb;}
.apv-stamp-name {display:flex; align-items:center; justify-content:center; height:30px; padding:0 4px; font-size:var(--font-size-14); font-weight:600; color:var(--color-bk); line-height:1.3; text-align:center; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; border-bottom:1px solid #eee;}
.apv-stamp-date {display:flex; align-items:center; justify-content:center; height:26px; font-size:var(--font-size-12); color:#999; line-height:1;}

/* 문서 본문 */
.apv-fields {display:grid; grid-template-columns:repeat(2, 1fr); gap:0; margin-top:var(--space-30); border-top:1px solid #ddd;}
.apv-field {display:flex; align-items:stretch; border-bottom:1px solid #ddd;}
.apv-field-full {grid-column:1 / -1;}
.apv-field-label {display:flex; align-items:center; flex-shrink:0; width:140px; padding:var(--space-20); font-size:var(--font-size-16); font-weight:600; color:var(--color-bk); line-height:1.6em; background:#fafafb;}
.apv-field-val {display:flex; align-items:center; flex:1 1 0; min-width:0; padding:var(--space-20); line-height:1.7em; word-break:break-word;}
.apv-field-val-block {display:block; white-space:pre-wrap;}

.apv-section {margin-top:var(--space-40); display:flex; flex-direction:column; gap:var(--space-16);}
.apv-section-tit {display:flex; align-items:center; gap:var(--space-16); margin:0; font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); line-height:1.4em;}
.apv-section-bar {flex-shrink:0; width:3px; height:20px; background:var(--color-primary);}
.apv-section-note {margin-left:auto; font-size:var(--font-size-15); font-weight:400; color:#999;}

/* 첨부파일 */
.apv-files {display:flex; flex-direction:column; gap:8px;}
.apv-file {display:flex; align-items:center; gap:var(--space-16); padding:var(--space-16); background:#f8f8f8; border-radius:12px; text-decoration:none;}
.apv-file:hover {background:#eef0fb;}
.apv-file-ext {display:flex; align-items:center; justify-content:center; flex-shrink:0; width:52px; height:52px; font-size:var(--font-size-12); font-weight:700; color:#fff; line-height:1; text-transform:uppercase; background:var(--color-primary); border-radius:8px;}
.apv-file-body {display:flex; flex-direction:column; gap:4px; flex:1 1 0; min-width:0;}
.apv-file-name {font-size:var(--font-size-16); font-weight:600; color:var(--color-bk); line-height:1.5em; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.apv-file-meta {font-size:var(--font-size-14); color:#8f8f8f; line-height:1.5em;}
.apv-file-down {flex-shrink:0; font-size:var(--font-size-15); font-weight:600; color:var(--color-primary);}

/* 결재 이력 */
.apv-hist {display:flex; flex-direction:column; width:100%; border-top:1px solid #111;}
.apv-hist-head {display:grid; grid-template-columns:80px 1fr 130px 170px 2fr; background:#fafafb; border-bottom:1px solid #ddd;}
.apv-hist-head span {padding:var(--space-16); font-size:var(--font-size-15); font-weight:700; color:var(--color-bk); line-height:1.6em; text-align:center;}
.apv-hist-row {display:grid; grid-template-columns:80px 1fr 130px 170px 2fr; align-items:center; border-bottom:1px solid #ddd;}
.apv-hist-row.is-cur {background:#f7f8fe;}
.apv-hist-cell {padding:var(--space-16); font-size:var(--font-size-15); line-height:1.6em; text-align:center; box-sizing:border-box;}
.apv-hist-cell-name {font-weight:600; color:var(--color-bk);}
.apv-hist-cell-op {text-align:left; color:#666; white-space:pre-wrap; word-break:break-word;}
.apv-hist-cell-op:empty::after {content:"—"; color:#ccc;}
.apv-hist-step {display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; font-size:var(--font-size-14); font-weight:700; color:var(--color-primary); background:#eef0fb; border-radius:100px;}
/* 재상신한 문서: 회차 구분선. 지난 회차 행은 흐리게 두어 현재 진행과 구분한다 */
.apv-hist-round {padding:10px var(--space-16); font-size:var(--font-size-15); font-weight:700; color:#666; background:#f4f4f6; border-bottom:1px solid #ddd;}
.apv-hist-row.is-past {opacity:.62;}

/* 처리 액션 바 */
.apv-actbar {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-16); padding:var(--space-25) var(--space-30); background:#f7f8fe; border:1px solid #b3bbe8; border-radius:16px;}
.apv-actbar-msg {display:flex; flex-direction:column; gap:4px;}
.apv-actbar-tit {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); line-height:1.5em;}
.apv-actbar-sub {font-size:var(--font-size-15); color:#666; line-height:1.6em;}
.apv-actbar-btns {display:flex; flex-wrap:wrap; gap:8px;}
.apv-actbar-btns .apv-btn {min-width:120px;}
.apv-btn-ok {color:#fff; background:var(--apv-done); border-color:var(--apv-done);}
.apv-btn-final {color:var(--apv-done); border-color:#9ed3c0;}
.apv-btn-hold {color:var(--apv-hold); border-color:#e8cf9a;}

.apv-foot {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin-top:var(--space-16);}
.apv-foot-note {margin-top:var(--space-16); font-size:var(--font-size-15); color:#999; line-height:1.6em; text-align:center;}

/* 지금 쓸 수 없는 버튼 — 자리는 지키되 눌리지 않는다는 것이 보이게.
   disabled 속성 대신 클래스로 두고(마우스 이벤트를 살려야 사유를 띄울 수 있다) 클릭은 JS 가 막는다. */
.apv-btn.is-disabled,
.apv-btn.is-disabled:hover {color:#b5b5b5; background:#f6f6f7; border-color:#e5e5e8; cursor:not-allowed;}
.apv-btn.apv-btn-danger.is-disabled,
.apv-btn.apv-btn-danger.is-disabled:hover {color:#d6b0ab; background:#faf3f2; border-color:#f0dedb;}

/* 마우스를 따라다니는 사유 툴팁. pointer-events:none 이어야 커서를 가로채 깜빡이지 않는다 */
.apv-tip {position:fixed; z-index:10000; max-width:320px; padding:10px 14px; font-size:var(--font-size-15); font-weight:500; color:#fff; line-height:1.55em; word-break:keep-all; background:rgba(28,30,50,.94); border-radius:10px; box-shadow:0 6px 20px rgba(0,0,0,.22); pointer-events:none;}
.apv-tip[hidden] {display:none;}

/* 알림 배너 (반려 사유 등) */
.apv-notice {display:flex; align-items:flex-start; gap:12px; padding:var(--space-25); border:1px solid; border-radius:16px; line-height:1.7em;}
.apv-notice-tit {font-weight:700;}
.apv-notice-body {display:flex; flex-direction:column; gap:4px; min-width:0;}
.apv-notice-reject {color:var(--apv-reject); background:#fdedeb; border-color:#f0b3ac;}
.apv-notice-hold {color:var(--apv-hold); background:#fdf5e6; border-color:#e8cf9a;}
.apv-notice-done {color:var(--apv-done); background:#e9f5f0; border-color:#9ed3c0;}
.apv-notice-draft {color:#5b5f66; background:#f4f5f7; border-color:#d5d7dc;}
.apv-notice-body p {color:#4a4a4a;}

/* ── 작성 폼 (write-form-* 을 기반으로 필요한 부분만 보강) ── */
.apv-form-select {width:100%; height:var(--write-height); padding:0 var(--space-16); font-size:var(--font-size-15); font-weight:500; color:var(--color-bk); line-height:1.5em; background:#fafafa; border:1px solid #ddd; border-radius:8px; cursor:pointer; box-sizing:border-box;}
.apv-form-textarea {display:block; width:100%; min-height:180px; padding:var(--space-16); font-size:var(--font-size-16); color:#454545; line-height:1.7em; background:#fff; border:1px solid #e5e7eb; border-radius:8px; resize:vertical; box-sizing:border-box;}

.apv-line-rows {display:flex; flex-direction:column; gap:var(--space-16);}
.apv-line-row {display:flex; align-items:center; gap:var(--space-16); padding:var(--space-16); background:#f8f8f8; border-radius:16px;}
.apv-line-num {display:flex; flex-direction:column; align-items:center; justify-content:center; flex-shrink:0; width:56px; height:52px; background:#fff; border-radius:8px;}
.apv-line-num-n {font-size:var(--font-size-18); font-weight:700; color:var(--color-primary); line-height:1.2;}
.apv-line-num-l {font-size:var(--font-size-12); color:#999; line-height:1.2;}
.apv-line-sel {flex:1 1 0; min-width:0;}
.apv-line-hint {font-size:var(--font-size-15); color:#999; line-height:1.6em;}

.apv-drop {display:flex; flex-direction:column; gap:10px; padding:var(--space-25); background:#fafafa; border:1px dashed #c6c9d6; border-radius:12px;}
.apv-drop-label {font-size:var(--font-size-16); font-weight:600; color:var(--color-bk); line-height:1.6em;}
.apv-drop-hint {font-size:var(--font-size-14); color:#999; line-height:1.6em;}
.apv-drop input[type=file] {font-size:var(--font-size-15); color:#454545;}

.apv-oldfiles {display:flex; flex-direction:column; gap:6px; margin-top:10px;}
.apv-oldfile {display:flex; align-items:center; gap:10px; padding:10px var(--space-16); font-size:var(--font-size-15); background:#fff; border:1px solid #e5e7eb; border-radius:8px;}
.apv-oldfile label {display:flex; align-items:center; gap:6px; margin-left:auto; flex-shrink:0; color:var(--apv-reject); cursor:pointer;}
.apv-oldfile-name {overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}

/* ── 결재 처리 모달 ────────────────────────────────────── */
.apv-modal[hidden] {display:none !important;}
.apv-modal {position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center; padding:20px;}
.apv-modal-dim {position:absolute; inset:0; background:rgba(20,22,45,.55);}
.apv-modal-box {position:relative; display:flex; flex-direction:column; gap:var(--space-25); width:100%; max-width:520px; max-height:90vh; overflow:auto; padding:var(--space-30); background:#fff; border-radius:20px;}
.apv-modal-head {display:flex; flex-direction:column; gap:6px;}
.apv-modal-tit {font-size:var(--font-size-24); font-weight:700; color:var(--color-bk); line-height:1.4em;}
.apv-modal-desc {font-size:var(--font-size-15); color:#666; line-height:1.6em;}
.apv-modal-field {display:flex; flex-direction:column; gap:8px;}
.apv-modal-label {font-size:var(--font-size-16); font-weight:600; color:var(--color-bk);}
.apv-modal textarea {display:block; width:100%; min-height:120px; padding:var(--space-16); font-size:var(--font-size-16); color:#454545; line-height:1.6em; background:#fafafa; border:1px solid #ddd; border-radius:8px; resize:vertical; box-sizing:border-box;}
.apv-modal-btns {display:flex; gap:8px;}
.apv-modal-btns .apv-btn {flex:1 1 0;}

:is(.apv-btn, .apv-tab, .apv-search select, .apv-search input, .apv-form-select, .apv-modal textarea):focus-visible {outline:2px solid var(--color-primary); outline-offset:1px;}

/* ── 반응형 ───────────────────────────────────────────── */
@media (max-width:1280px) {
	.apv-list-head, .apv-list-row {grid-template-columns:100px 1fr 130px 150px 110px;}
	.apv-hist-head, .apv-hist-row {grid-template-columns:60px 1fr 110px 150px 1.4fr;}
}
@media (max-width:1024px) {
	.apv-paper-top {flex-direction:column; gap:var(--space-25);}
	.apv-stamp {align-self:flex-start; max-width:100%; overflow-x:auto;}
	.apv-fields {grid-template-columns:1fr;}
}
@media (max-width:768px) {
	.apv-head {flex-direction:column; align-items:flex-start;}
	.apv-head-actions {width:100%;}
	.apv-head-actions .apv-btn {flex:1 1 0;}
	.apv-filter {flex-direction:column; align-items:stretch;}
	.apv-search input {width:100%; flex:1 1 0;}

	.apv-list {border-top:0;}
	.apv-list-head {display:none;}
	.apv-list-row {grid-template-columns:1fr; gap:10px; padding:var(--space-20) 0;}
	.apv-list-cell {justify-content:flex-start; padding:0;}
	.apv-list-cell-main {order:1;}
	.apv-list-cell-status {order:0;}
	.apv-list-cell-steps {order:2;}
	.apv-list-cell-date, .apv-list-cell-writer {order:3; font-size:var(--font-size-14); color:#8f8f8f;}

	.apv-paper {padding:var(--space-30) var(--space-20);}
	.apv-stamp-col {width:84px;}

	.apv-hist {border-top:0;}
	.apv-hist-head {display:none;}
	.apv-hist-row {grid-template-columns:1fr 1fr; gap:6px; padding:var(--space-16) 0;}
	.apv-hist-cell {padding:0; text-align:left;}
	.apv-hist-cell-op {grid-column:1 / -1;}

	.apv-actbar {flex-direction:column; align-items:stretch;}
	.apv-actbar-btns .apv-btn {flex:1 1 40%;}
	.apv-line-row {flex-wrap:wrap;}
	.apv-tip {max-width:calc(100vw - 32px);}
}

/* ── 인쇄: 결재 이력 보관용 A4 출력 ──────────────────────
   진입 버튼([인쇄 / PDF 저장])은 개발 범위 밖이라 sub/approval.php 에서 주석 처리해 두었다.
   이 블록은 남겨둔다 — 브라우저 인쇄(Ctrl+P)로 들어와도 헤더·좌측메뉴 없이 문서만 나오므로
   없는 것보다 낫고, 버튼을 되살릴 때 그대로 쓴다. */
@media print {
	@page {size:A4 portrait; margin:14mm;}
	body {background:#fff !important;}
	#header, #footer, .intro-m-nav, .mypage-intro, .mpg-title,
	.apv-actbar, .apv-foot, .apv-modal, .apv-tip, .apv-head-actions,
	.sub-visual, .quick, .top-btn, .apv-file-down {display:none !important;}
	#container, #contArea, .real-cont, .intro-wrap, .intro-inner-section {display:block !important; width:auto !important; padding:0 !important; margin:0 !important;}
	.apv-doc {gap:8mm;}
	.apv-paper {padding:0; border:0; border-radius:0;}
	.apv-paper-tit {font-size:20pt;}
	.apv-stamp, .apv-hist, .apv-file, .apv-notice {break-inside:avoid;}
	.apv-hist-row, .apv-fields {break-inside:avoid;}
	.apv-tag, .apv-stamp-act, .apv-doctype, .apv-step-dot {-webkit-print-color-adjust:exact; print-color-adjust:exact;}
	.apv-file {background:#fff; border:1px solid #ddd;}
	a[href] {text-decoration:none; color:inherit;}
}
