@charset "utf-8";
/* =========================================================
   50mm Gnuboard Skin — mm-board scope only (REV)
   - PC 톤 유지 + 모바일에서도 같은 디자인 언어로 보이게 정리
   - 버튼 대비 강화(hover/focus에서도 텍스트 항상 보이게)
   - 모바일 카드형 변환 시 '메타 한 줄'로 정리
   - 폼 규칙은 mm-board 내부에만, 과도한 전역 덮어쓰기 방지
   ========================================================= */

.mm-board{
  /* COLOR TOKENS */
  --mm-text:#0f172a;
  --mm-muted:#64748b;
  --mm-line:rgba(15,23,42,.10);
  --mm-accent:#2563eb;
  --mm-accent-hover:#1d4ed8;
  --mm-surface:#f6f7f9;
  --mm-card:#ffffff;

  /* SHAPE / SHADOW */
  --mm-radius:18px;
  --mm-shadow:0 10px 30px rgba(0,0,0,.06);

  /* ADMIN TUNING */
  --mm-board-font:13px;
  --mm-board-max:1120px;

  font-family:'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, Roboto, sans-serif;
  font-size: var(--mm-board-font);
  color: var(--mm-text);
  line-height: 1.65;
}

/* 링크 톤 통일 */
.mm-board a{ color:inherit; text-decoration:none; }
.mm-board a:hover{ color:var(--mm-accent); text-decoration:none; }

/* 래퍼 폭 */
.mm-board .mm-wrap{
  width:100%;
  max-width: var(--mm-board-max);
  margin:0 auto;
}
.mm-board.mm-board--fluid .mm-wrap{ max-width:none; }

/* 카드 */
.mm-board .mm-card{
  background:var(--mm-card);
  border:1px solid var(--mm-line);
  border-radius:var(--mm-radius);
  box-shadow:var(--mm-shadow);
  overflow:hidden;
  position:relative;
}

/* 헤더 */
.mm-board .mm-card-hd{
  padding:18px 18px 14px;
  border-bottom:1px solid var(--mm-line);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}
.mm-board .mm-title{
  font-size:1.35em;
  font-weight:900;
  letter-spacing:-.02em;
  margin:0;
}
.mm-board .mm-sub{
  margin:6px 0 0;
  color:var(--mm-muted);
  font-size:.95em;
}

/* 액션 */
.mm-board .mm-actions{ display:flex; gap:8px; flex-wrap:wrap; }

/* 버튼(기본) */
.mm-board .mm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid var(--mm-line);
  background:#fff;
  color:var(--mm-text);
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  line-height:1.1;
  transition:background .15s ease, border-color .15s ease, box-shadow .15s ease, color .15s ease, transform .05s ease;
}
.mm-board .mm-btn:active{ transform:translateY(1px); }

.mm-board .mm-btn:hover{
  border-color:rgba(37,99,235,.35);
  box-shadow:0 0 0 3px rgba(37,99,235,.10);
  color:var(--mm-accent);
}

/* ✅ 글쓰기/주요 버튼: hover/focus에서도 항상 흰 글자 */
.mm-board .mm-btn--primary{
  background:var(--mm-accent);
  border-color:rgba(37,99,235,.35);
  color:#fff !important;
}
.mm-board .mm-btn--primary:hover,
.mm-board .mm-btn--primary:focus,
.mm-board .mm-btn--primary:focus-visible{
  background:var(--mm-accent-hover);
  border-color:rgba(29,78,216,.45);
  color:#fff !important;
  box-shadow:0 0 0 3px rgba(37,99,235,.14);
  outline:0;
}

/* 바디 */
.mm-board .mm-body{ padding:16px 18px; }

/* ===== 목록 테이블 ===== */
.mm-board .mm-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  font-size:1em;
}
.mm-board .mm-table thead th{
  background:var(--mm-surface);
  color:#374151;
  font-weight:900;
  font-size:.95em;
  padding:12px 10px;
  border-bottom:1px solid var(--mm-line);
  text-align:center;
}
.mm-board .mm-table tbody td{
  padding:12px 10px;
  border-bottom:1px solid var(--mm-line);
  vertical-align:middle;
}
.mm-board .mm-table tbody tr:hover td{ background:#fbfcff; }

/* 제목 */
.mm-board .mm-subject a{
  color:var(--mm-text);
  font-weight:800;
}
.mm-board .mm-subject a:hover{ color:var(--mm-accent); }

/* 메타 */
.mm-board .mm-meta{
  color:var(--mm-muted);
  font-size:.95em;
  white-space:nowrap;
}

/* 배지 */
.mm-board .mm-badge{
  display:inline-flex;
  align-items:center;
  height:20px;
  padding:0 8px;
  border-radius:999px;
  font-size:.9em;
  font-weight:900;
  margin-left:6px;
  border:1px solid rgba(37,99,235,.18);
  background:rgba(37,99,235,.08);
  color:var(--mm-accent);
}

/* 하단(페이지/검색) */
.mm-board .mm-foot{
  padding:14px 18px 18px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
}
.mm-board .mm-search{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  align-items:center;
}

/* ✅ 폼은 mm-search 및 mm-board 내부 입력만 정리(전역 충돌 최소화) */
.mm-board .mm-search select,
.mm-board .mm-search input[type="text"],
.mm-board .mm-search input[type="search"]{
  border:1px solid var(--mm-line);
  border-radius:12px;
  padding:9px 10px;
  font-size:1em;
}

/* 본문 영역 */
.mm-board .mm-article{
  padding:18px;
  border-top:1px solid var(--mm-line);
  border-bottom:1px solid var(--mm-line);
}
.mm-board .mm-article img{
  max-width:100%;
  height:auto;
  border-radius:14px;
}

/* =========================================================
   MOBILE (<=768px) : 같은 톤 + 카드형 목록
   ========================================================= */
@media (max-width:768px){
  .mm-board{
    /* 모바일은 기본 글자 조금 키워 가독성 확보 */
    font-size: 14px;
    line-height:1.75;
  }

  .mm-board .mm-wrap{ padding:0 12px; }
  .mm-board .mm-card{ border-radius:16px; }

  .mm-board .mm-card-hd{
    padding:14px 14px 12px;
    align-items:flex-start;
    flex-direction:column;
  }

  .mm-board .mm-title{ font-size:1.2em; }
  .mm-board .mm-body{ padding:12px 14px; }

  .mm-board .mm-actions{
    width:100%;
    justify-content:flex-start;
  }
  .mm-board .mm-actions .mm-btn{
    padding:10px 12px;
    border-radius:14px;
  }

  /* table -> 카드형 */
  .mm-board .mm-table thead{ display:none; }
  .mm-board .mm-table,
  .mm-board .mm-table tbody,
  .mm-board .mm-table tr,
  .mm-board .mm-table td{
    display:block;
    width:100%;
  }

  .mm-board .mm-table tr{
    border-bottom:1px solid var(--mm-line);
    padding:12px 0;
  }
  .mm-board .mm-table td{
    border:0 !important;
    padding:4px 0 !important;
  }

  /* ✅ 모바일: 제목을 먼저, 메타는 한 줄로 정리 */
  .mm-board .mm-subject a{
    font-weight:900;
    letter-spacing:-.02em;
    line-height:1.35;
    display:block;
    margin-bottom:4px;
  }

  /* 번호/작성자/날짜/조회가 흩어지지 않게 ‘메타 라인’ 통일 */
  .mm-board .mm-meta{
    font-size:.92em;
    white-space:normal;
  }

  /* 쓰기/수정 폼(필요 시) */
  .mm-board input[type="text"],
  .mm-board input[type="password"],
  .mm-board textarea,
  .mm-board select{
    width:100%;
    border:1px solid var(--mm-line);
    border-radius:14px;
    padding:12px 12px;
    font-size:1em;
    outline:none;
  }
  .mm-board textarea{ min-height:220px; }

  .mm-board .mm-foot{
    padding:12px 14px 14px;
    gap:10px;
  }
}
/* ========= mm-schedule (Gnuboard content-safe) ========= */
.mm-schedule{
  max-width:1120px;
  margin: 0 auto;
  color:#111;
  font-family: "Malgun Gothic", dotum, sans-serif;
}

.mm-schedule__title{
  font-size:18px;
  font-weight:800;
  margin: 0 0 10px;
}

.mm-schedule__scroll{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border:1px solid #c9ced6;
  background:#fff;
}

.mm-schedule__table{
  width:100%;
  border-collapse:collapse;
  min-width:980px;
}

.mm-schedule__table th,
.mm-schedule__table td{
  border:1px solid #c9ced6;
  padding:14px 10px;
  text-align:center;
  vertical-align:middle;
  font-size:15px;
  line-height:1.35;
}

.mm-schedule__table thead th{
  background:#e6eaf0;
  font-weight:800;
}

.mm-schedule__sub{
  font-weight:700;
  font-size:12px;
  opacity:.85;
}

.mm-schedule__kind{ width:160px; }
.mm-schedule__kindcell{ font-weight:800; }

.mm-schedule__strong{ font-weight:900; }

.mm-schedule__table tbody tr:nth-child(even) td{ background:#fbfcfe; }

/* 모바일: 첫 열 고정 */
@media (max-width: 768px){
  .mm-schedule{ padding: 0 10px; }

  .mm-schedule__table th:first-child,
  .mm-schedule__table td:first-child{
    position: sticky;
    left: 0;
    z-index: 2;
  }
  .mm-schedule__table thead th:first-child{ z-index: 3; }
  .mm-schedule__table td:first-child{ background:#f6f8fb; }
}

/* 수수료 박스 */
.mm-schedule__fee{
  margin-top:14px;
  border:1px solid #c9ced6;
}

.mm-schedule__fee-hd{
  background:#e6eaf0;
  padding:14px 10px;
  text-align:center;
  font-weight:900;
  border-bottom:1px solid #c9ced6;
}

.mm-schedule__fee-bd{
  padding:18px 10px;
  text-align:center;
  font-weight:800;
  background:#fff;
}
