/* 커스텀은 여기서 Hyper 위에 덮어쓰기 */
.logo-topbar .logo-light { color: inherit; }
.topnav .navbar-nav .nav-link.active { font-weight: 700; }
/*
.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid #eee}
.headerInner{max-width:1100px;margin:0 auto;padding:10px 12px}
*/
.header .headerInner {
  max-width: 1320px;
  margin: 0 auto;
  padding-left: 12px;
  padding-right: 12px;
}
.logoBox {
	  max-width: 300px;

  display:flex;
  align-items:center;
}

.logoImg {
  height:72px;
  width:auto;
  display:block;
}

.row1{display:flex;align-items:center;justify-content:space-between;gap:12px}
.leftBrand{display:flex;align-items:center;gap:10px}
.nBox{width:28px;height:28px;border-radius:6px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}
.topLinks{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.topLinks a{font-size:14px;color:#333;text-decoration:none;padding:6px 8px;border-radius:8px}
.topLinks a.active{background:#f2f4f8;font-weight:700}
.topLinks a.big{font-weight:700}
.rightTools{display:flex;gap:8px;align-items:center}
.btnLogin{border:1px solid #ddd;background:#fff;border-radius:10px;padding:6px 10px;font-size:13px}
.btnMenu{border:1px solid #ddd;background:#fff;border-radius:10px;padding:6px 10px}
.hamburger{width:18px;height:14px;display:flex;flex-direction:column;justify-content:space-between}
.hamburger span{display:block;height:2px;background:#111;border-radius:2px}
.row2{margin-top:10px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.primaryTabsWrap{flex:1;overflow:auto}
.primaryTabs{display:flex;gap:8px;white-space:nowrap}
.subnav{border-top:1px solid #f1f1f1;background:#fafafa}
.subnavInner{max-width:1100px;margin:0 auto;padding:8px 12px}
.subTabs{display:flex;gap:8px;white-space:nowrap}
.myTeam{display:flex;gap:8px;align-items:center}
.myTeamBtn{border:1px dashed #bbb;background:#fff;border-radius:12px;padding:6px 10px;font-size:13px;color:#555}
.plusBtn{width:34px;height:34px;border-radius:12px;border:1px solid #ddd;background:#fff}

/* Offcanvas(우측 슬라이딩 메뉴) */
.offcanvas#appOffcanvas{width:320px;}

:root{
  --brand:#2b6cff;
  --bg:#f6f7f9;
  --card:#ffffff;
  --text:#111827;
  --muted:#6b7280;
  --line:#e7e9ee;
  --r-lg:16px;
  --shadow: 0 8px 24px rgba(15,23,42,.08);
}

.app-body{
  background: var(--bg);
  color: var(--text);
  font-family: system-ui, -apple-system, "Noto Sans KR", sans-serif;
}

.app-main{ padding: 14px 0 28px; }
.app-container{ max-width: 1200px; }

.app-card{
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  box-shadow: var(--shadow);
  overflow: hidden;
}

/* 모든 페이지 콘텐츠 공통 패딩(내용/로직은 그대로, 바깥 폼만 통일) */
.app-card-body{
  padding: 16px;
  background: var(--card);
}

@media (max-width: 576px){
  .app-main{ padding: 12px 0 22px; }
  .app-card-body{ padding: 14px; }
}

.fw-900{ font-weight: 900; }

/* Bootstrap 버튼 톤 */
.btn-brand{
  --bs-btn-bg: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: #1f55d6;
  --bs-btn-hover-border-color:#1f55d6;
  --bs-btn-color: #fff;
  font-weight: 800;
  border-radius: 999px;
}
.btn-outline-brand{
  --bs-btn-color: var(--brand);
  --bs-btn-border-color: var(--brand);
  --bs-btn-hover-bg: var(--brand);
  --bs-btn-hover-border-color: var(--brand);
  --bs-btn-hover-color:#fff;
  border-radius: 999px;
  font-weight: 800;
}

/* 섹션 헤더 유틸 */
.section-head{
  padding: 14px 16px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.section-body{ padding: 0; }

/* Mobile */
@media (max-width: 768px){
  .headerInner{padding:10px 10px}
  .logoImg { height:58px; }
  .topLinks{display:none}
  .row2{gap:8px;flex-direction:column;align-items:stretch}
  .myTeam{justify-content:space-between}
  .offcanvas#appOffcanvas{width:85vw;max-width:360px}
}


/* safety: topnav에서 content-page가 밀리지 않게 */
body[data-layout="topnav"] .content-page { margin-left: 0 !important; }

footer{
  margin-top:40px;
}
