@import url('sub-common.css');

.footer-spacer {
  display: none;
}

/* ===== 감사보고서 버튼 ===== */
.audit-btn-wrap {
  text-align: center;
  padding: 10px 20px 60px;
}

.audit-btn {
  display: inline-block;
  background: #005891;
  color: #fff;
  font-size: 16px;
  font-weight: 600;
  padding: 4px 60px;
  border-radius: 25px;
  letter-spacing: -0.02em;
  transition: background 0.2s;
}

.audit-btn:hover {
  background: #003e6b;
}

/* ===== 콘텐츠 카드 ===== */
.fin-card {
  max-width: 1200px;
  margin: 0 auto;
  background: #fff;
  border-radius: 30px 30px 0 0;
  padding: 80px 80px 120px;
}

/* ===== 섹션 타이틀 ===== */
.fin-section-title {
  text-align: center;
  font-size: 26px;
  font-weight: 500;
  margin-bottom: 40px;
  letter-spacing: -0.02em;
}

.fin-section-title--revenue {
  margin-top: 80px;
}

/* ===== 테이블 공통 ===== */
.fin-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.fin-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: -0.02em;
}

.fin-table thead th {
  font-weight: 600;
  font-size: 15px;
  padding: 12px 10px;
  border-bottom: 2px solid #333;
  text-align: center;
  white-space: nowrap;
}

.fin-table--cost thead th,
.fin-table--revenue thead th {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
}

.fin-table tbody td {
  padding: 10px 10px;
  border-bottom: 1px solid #ddd;
  vertical-align: middle;
  text-align: left;
}

.fin-table tbody td.category {
  font-weight: 600;
  white-space: nowrap;
}

.fin-table tbody td.category-empty {
  border-bottom: 1px solid #ddd;
}

.fin-table tbody td.amount {
  text-align: center;
  font-weight: 400;
}

.fin-table tbody td.note {
  font-size: 14px;
}

.fin-table tbody td.sub-desc {
  font-size: 14px;
}

/* 소계 행 */
.fin-table .subtotal-row td {
  font-weight: 400;
}

/* 합계 행 */
.fin-table .total-row td {
  background: #F2F5F6;
  color: #000;
  font-weight: 700;
  border-bottom: none;
}

.fin-table .total-row td strong {
  color: #000;
}

/* 비용현황·수익현황 본문 폰트 */
.fin-table--cost tbody td,
.fin-table--revenue tbody td {
  font-family: 'Plus Jakarta Sans', 'Noto Sans KR', sans-serif;
  font-weight: 400;
}

/* 구분·합계 행은 기본 폰트 유지 */
.fin-table--cost tbody td.category,
.fin-table--revenue tbody td.category,
.fin-table--cost .total-row td,
.fin-table--revenue .total-row td {
  font-family: 'Noto Sans KR', sans-serif;
}

/* ===== 비용현황 테이블 컬럼 너비 ===== */
.fin-table--cost .col-category {
  width: 14%;
}

.fin-table--cost .col-project {
  width: 46%;
}

.fin-table--cost .col-partner {
  width: 22%;
}

.fin-table--cost .col-amount {
  width: 18%;
}

/* 비용현황 본문 정렬: 협업기관(가운데) */
.fin-table tbody td.partner {
  text-align: center;
}

/* ===== 수익현황 테이블 컬럼 너비 ===== */
.fin-table--revenue .col-category {
  width: 16%;
}

.fin-table--revenue .col-sub {
  width: 14%;
}

.fin-table--revenue .col-rev-amount {
  width: 22%;
}

.fin-table--revenue .col-note {
  width: 48%;
}

/* 수익현황 본문 정렬: 비고(가운데) */
.fin-table--revenue tbody td.note {
  text-align: center;
}

/* ===== 반응형: 태블릿 ===== */
@media (max-width: 1024px) {
  .fin-card {
    margin: 0 20px 60px;
    padding: 60px 40px 40px;
  }
}

/* ===== 반응형: 모바일 ===== */
@media (max-width: 768px) {
  .audit-btn-wrap {
    padding: 20px 20px 40px;
  }

  .audit-btn {
    font-size: 15px;
    padding: 12px 32px;
  }

  .fin-card {
    margin: 0 16px;
    padding: 40px 20px 80px;
    border-radius: 24px 24px 0 0;
  }

  .fin-section-title {
    font-size: 22px;
    margin-bottom: 24px;
  }

  .fin-section-title--revenue {
    margin-top: 50px;
  }

  .fin-table {
    font-size: 13px;
    min-width: 580px;
  }

  .fin-table thead th {
    font-size: 13px;
    padding: 10px 6px;
  }

  .fin-table tbody td {
    padding: 8px 6px;
  }

  .fin-table tbody td.sub-desc {
    font-size: 12px;
    padding-left: 6px;
  }

  .fin-table tbody td.note {
    font-size: 12px;
  }
}

/* ===== 반응형: 소형 모바일 ===== */
@media (max-width: 480px) {
  .fin-card {
    margin: 0 12px;
    padding: 30px 14px 70px;
    border-radius: 20px 20px 0 0;
  }

  .fin-section-title {
    font-size: 20px;
  }

  .fin-table {
    font-size: 12px;
    min-width: 520px;
  }
}