/* =====================================================
   home.css — home.jsp 전용 스타일
   gnoti_style.css에서 분리
   ===================================================== */

/* 홈 기본 폰트 */
.home-guest-hero-wrap,
.home-member-scroll {
    font-family: "Noto Sans CJK KR", sans-serif;
}

.main-container {
    height: 400px;
}

.main-banner {
  position: relative;
  height: 100%;
  overflow: hidden;
}

/* 배경 전용 레이어 */
.main-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url('../../../images/main-banner3.jpg');
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center -80px;
  filter: blur(4px);        /* ✅ 배경만 blur */
  transform: scale(1.05);   /* blur 가장자리 깨짐 방지 */
  z-index: 1;
}
.main-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.25);
  z-index: 1;
}

/* 텍스트는 선명 */
.main-banner .txt-area {
  position: absolute;
  top: 50%;
  left: 25%;
  transform: translateY(-50%);
  color: #ffffff;
  z-index: 2;               /* 배경 위 */
}

.txt-title {
    display: flex;
    flex-direction: column;
    font-size: 64px; /* 시안: 64pt */
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.5px;
}
.page-home .txt-title{
	font-size: 64px;
	color: #fff;
  font-weight: 800;
  font-family: "Noto Sans CJK KR", sans-serif;
  letter-spacing: -0.8px;
}

.page-home .txt-area{
  align-items: flex-start;   /* ⬅︎ 가로 정렬 좌측 */
  text-align: left;          /* ⬅︎ 텍스트 좌측 */
}

.page-home .txt-cn{
	font-size: 18px;
	color: #fff;
  letter-spacing: -0.8px;
  white-space: pre-line;
}
.page-home .txt-cn{
  text-align: left;
  margin-top: 30px;
}
.txt-area{
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.txt-title .txt-brand {
  margin-top: 6px;          /* Welcome to 아래 간격 */
  font-size: 64px;          /* 동일 크기 (원하면 더 크게 가능) */
  font-weight: 700;
  color: #e50038;           /* NXT 레드 */
  letter-spacing: -0.5px;

}
.txt-title span {
	display: inline-block;
	width: 150px;
	height: 50px;
	background: url('../../../images/nxt.png') no-repeat center center;
	background-size: contain;
	overflow: hidden;
  margin-top: 5px;
}

.txt-cn{
	font-size: 2rem;
	color: #fff;
    font-family: "Noto Sans CJK KR", sans-serif;
    letter-spacing: -0.8px;
}

.main-noti {
	align-items:center;
	text-align: center;
	margin-top: 30px;
}

.home-noti-title{
  width:80%;
  max-width:900px;
  margin:0 auto 16px;
}
.home-noti-title h2 {
	font-size: 28px;
	font-weight: 700;
	margin-bottom: 6px;
	text-align: center;
}
.home-noti .home-container.split{
  width:80%;
  max-width:900px;
  margin:0 auto;
  gap:48px;
}
.home-noti .noti-box{
  flex:1;
  min-width:0;           /* 테이블 overflow 방지 */
}

.home-container.split {
    display: flex;
    gap: 50px;
    height: 500px;
}

.home-container.split .noti-box {
    flex: 1;
    min-width: 0;
}

.home-scroll {
  width: 100%;
  min-height: 100vh;
  overflow: visible;
  position: relative;
}

.home-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.home-card.home-noti {
  justify-content: center;
  padding-top: 40px;
  box-sizing: border-box;
}
.home-guide, .home-guide *{
  overflow:visible;
}
.home-guide-section {
  padding: 120px 80px;
  background: #fff;
  text-align: center;
}

.right-floating-nav{
  position: fixed;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  user-select: none;
}

/* HOME */
.right-floating-nav .rf-home{
  font-size: 14px;
  font-weight: 800;
  color: #e7013a;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
  line-height: 1;
}

.right-floating-nav .rf-home:hover{
  opacity: .85;
}

/* dots */
.right-floating-nav .rf-dots{
  display:flex;
  flex-direction: column;
  align-items:center;
  gap: 12px;
}





/* mouse (height 45) */
.right-floating-nav .rf-mouse{
  display:flex;
  flex-direction: column;
  align-items:center;
  gap: 8px;
}

.right-floating-nav .rf-mouse-body{
  width: 22px;
  height: 45px;          /* 요구사항: height 45 */
  border-radius: 13px;
  border: 2px solid rgba(245,216,216,.85);
  position: relative;
  box-sizing: border-box;
}

.right-floating-nav .rf-mouse-wheel{
  width: 4px;
  height: 10px;
  border-radius: 2px;
  background: rgba(255,255,255,.85);
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  animation: rfWheel 1.4s ease-in-out infinite;
}

@keyframes rfWheel{
  0%{ transform: translate(-50%, 0); opacity: 1; }
  60%{ transform: translate(-50%, 10px); opacity: .35; }
  100%{ transform: translate(-50%, 0); opacity: 1; }
}

/* arrows */
.right-floating-nav .rf-mouse-arrows{
  display:flex;
  flex-direction: column;
  gap: 4px;
}

.right-floating-nav .rf-dot:hover{
  transform: scale(1.1);
}
/* 기본 비활성 점 */
.right-floating-nav .rf-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  background: rgba(231,1,58,.2);
  cursor:pointer;
  transition: background .15s ease, transform .15s ease;
}

/* 활성 점 */
.right-floating-nav .rf-dot-active{
  background:#e7013a;
}

/* 화이트 섹션에서의 비활성 점 */
.right-floating-nav .rf-dot-light{
  background: rgba(231,1,58,.35); /* 빨강 35% */
}

.right-floating-nav .rf-mouse-arrows i{
  width: 10px;
  height: 10px;
  border-right: 2px solid rgba(245,216,216,.85);
  border-bottom: 2px solid rgba(245,216,216,.85);
  transform: rotate(45deg);
  opacity: .7;
  animation: rfArrow 1.2s ease-in-out infinite;
}

.right-floating-nav .rf-mouse-arrows i:nth-child(2){ animation-delay: .15s; opacity: .5; }
.right-floating-nav .rf-mouse-arrows i:nth-child(3){ animation-delay: .3s;  opacity: .35; }

@keyframes rfArrow{
  0%{ transform: rotate(45deg) translate(0,0); }
  50%{ transform: rotate(45deg) translate(0,2px); }
  100%{ transform: rotate(45deg) translate(0,0); }
}

/* 작은 화면에서는 숨김(원하면 제거) */
@media (max-width: 768px){
  .right-floating-nav{ display:none; }
}

.guide-layout{
  display:flex;
  align-items:stretch;   /* 중요: 자식 높이 늘리기 */
}

.guide-title-area{
  min-width:320px;
  padding-top:40px;
}
.guide-cards-title{
    margin-right: 30px;
  font-size:32px;
  font-weight:800;
  line-height:1.2;
  color:#000;
  white-space: pre-line;  /* ← \n 줄바꿈 적용 핵심 */
}

.guide-cards-title .title-hl{
  display:inline-block;
  padding:6px 12px;
  border:2px solid #1e1847;
  background:rgba(30, 24, 71, 0.12);
}
.guide-cards-wrap{
  display:flex;
  gap:30px;
  align-items:stretch;
  min-height:auto;
}
.guide-cards{
  width:380px;
  height:auto;
  min-height:320px;
/*   background:#fff; */
  border-radius:22px;
  padding:38px 34px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;
}
.guide-cards:hover {
/*   transform:translateY(-4px); */
/*   box-shadow:0 16px 34px rgba(0,0,0,0.18); */
}

.card-content {
  padding: 32px;
  text-align: left;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.card-category{
  font-size:18px;
  font-weight:700;
  color:#e50038;
  display:block;
  margin-bottom:18px;
}

.card-title{
  font-size:26px;
  font-weight:800;
  color:#000;
  line-height:1.32;
  margin:0;
  white-space: pre-line;
}
.card-link{ display:none; }

.guide-cards {
  height: 300px;
  width: 400px;
  display:flex;
}
@media (max-width: 1024px){
  .guide-layout{
    flex-direction:column;
  }

  .guide-title-area{
    min-width:auto;
    margin-bottom:40px;
    margin-right: 20px;
  }
}
.image-card {
  height: 500px;
  width: 380px;
  display:flex;
}

.card-image{
  /* margin-top:auto; */
  height:245px;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}

.card-image img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  display:block;
}

/************************************************
 Home-container new
************************************************/
/* 부모 컨테이너: 세로로 쌓기 */
.guide-layout {
    display: flex;
    flex-direction: column; /* 자식인 top-row와 bottom-row를 위아래로 배치 */
    width: 100%;
    max-width: 1200px; /* 화면에 맞춰 조절하세요 */
    margin: 0 auto;
}

/* 1행: 사람+제목 그리고 버튼 양끝 배치 */
.top-row {
    display: flex;
    justify-content: space-between; /* 제목 묶음은 왼쪽, 버튼은 오른쪽 */
    align-items: flex-end; /* 아래쪽 라인 맞춤 */
}

/* 사람 아이콘 + 제목 묶음 */
.title-with-icon {
    display: flex;
    align-items: center;
    gap: 20px;
}

/* 2행: 카드 2개 가로 배치 */
.bottom-row {
    display: flex;
    gap: 20px;
}

.bottom-row .guide-cards {
    flex: 1; /* 카드 너비를 동일하게 50%씩 */
}

.main-graph {
	padding-left: 30px;
}

.expert-guide-btn {
    /* 배경 및 테두리 */
    background-color: #1e1847; 
    border-radius: 50px; /* 둥근 캡슐 모양 */
    border: none;
    /* 레이아웃 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px; /* 텍스트와 아이콘 사이 간격 */
    
    /* 여백 및 폰트 */
    padding: 10px 24px;
    color: #ffffff; 
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    outline: none;
    
    margin-bottom: 50px;
}

/* 마우스 올렸을 때 효과 */
.expert-guide-btn:hover {
    background-color: #2a2a4a;
    transform: translateY(-2px); 
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

/* 아이콘 스타일 */
.expert-guide-btn .btn-icon {
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
}

.main_arrow_icon{
	width: 65%;
	margin-top: 2px;
}

/* 1. 부모 컨테이너 간격 제거 */
.bottom-row {
    display: flex;
    justify-content: center; /* 가운데 정렬 */
    gap: 0; /* gap은 0으로 설정 */
    align-items: flex-start;
    width: 100%;
}

/* 2. 각 카드 공통 설정 */
.guide-cards {
    flex: 0 0 auto; /* 너비를 고정하거나 유연하게 조절 */
    width: 480px; /* 시안 비율에 맞춰 너비 지정 (조정 가능) */
    height: 320px; 
    position: relative;
    background-size: 100% 100%; /* 이미지가 찌그러지지 않게 꽉 채움 */
}

/* 3. 왼쪽 레드 카드 */
.card-red {
    background-image: url('./image/img_main_card01.png');
    z-index: 1; /* 레드 카드가 위로 오게 하려면 설정 */
}

/* 4. 오른쪽 블루 카드 - 마법의 마이너스 마진! */
.card-blue {
    background-image: url('./image/img_main_card02.png');
    margin-left: -45px; 
    z-index: 0;
}

/* 내부 텍스트 스타일링 */
.card-tag {
    background-color: #ffffff;
    color: #333;
    padding: 4px 16px;
    border-radius: 50px;
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
    margin-bottom: 20px;
    width: fit-content;
}

.card-main-title {
    color: #ffffff;
    font-size: 24px;
    line-height: 1.4;
    margin-bottom: 12px;
    font-weight: 700;
    white-space: pre-line;
}

.card-sub-text {
    color: rgba(255, 255, 255, 0.9);
    font-size: 15px;
    line-height: 1.5;
    white-space: pre-line;
}

/* 마우스 올렸을 때 효과 */
.guide-cards:hover {
    transform: translateY(-5px);
}

.tag-red {
	background: linear-gradient(to right, #ffffff, #ffe4d6); /* 가이드 색상 */
    box-shadow: 0 4px 15px rgba(255, 154, 68, 0.3); /* 은은한 주황빛 그림자 */
    color: #1e1847;
}

.tag-blue {
	background: linear-gradient(to right, #ffffff, #cbdde2); /* 가이드 색상 */
    box-shadow: 0 4px 15px rgba(79, 172, 254, 0.3); /* 은은한 푸른빛 그림자 */
    color: #1e1847;
}
/************************************************
 Home floating style
************************************************/

#homeFloatingMenu {
    position: absolute;
    right: 1px;
    z-index: 1000;
    transition: bottom 0.3s ease;
}

.float-pill-double {
    display: flex;
    align-items: center;
    height: 110px;
    /* min-width: 300px; */
    background: #ffffff;
    /* border-radius: 999px; */
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    overflow: hidden;
}

/* 좌/우 메뉴 공통 */
.pill-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    /* padding: 0 16px; */
    height: 100%;
    cursor: pointer;
    white-space: nowrap;
    width: 254px;
    /* height: 110px; */
    justify-content: center;
}

.pill-item:hover {
    background: #f7f7f7;
}

/* 아이콘 원 */
.pill-icon {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.pill-icon img {
    width: 35px;
    height: 35px;
    margin-right: 7px;
}

/* 메뉴명 */
.pill-text {
    font-size: 18px;
    font-weight: 500;
    color: #343434;
}

/* 가운데 세로 구분선 */
.pill-divider {
    width: 1px;
    height: 100%;
    background: #e5e5e5;
}

.home-guide{
  background:transparent;
  height:auto;
  min-height:auto;
  display:flex;
  align-items:center;
  overflow:visible;
}
.main-noti h2 {
	font-size: 38px;
    font-weight: 600;
}

.main-noti span {
    color: #666;
    font-size: 14px;
}

.main-noti-title {
	display: flex;
	justify-content: space-between; 
	align-items: center;
	border-bottom: 1px solid #e2e4e5;
	height: 40px;
}
.main-noti-title .title {
    font-weight: 500;
    margin-bottom: 22px;
}

.main-noti-title .search-box {
    background-color: transparent;
	font-size: 12px;
	margin-right: -27px;
}

.main-noti-title .search-box a:after {
    display: inline-flex;
    content: "";
    width: 20px;
    height: 20px;
    margin-left: 8px;
    background: url(image/icon_arr_right_g.bfaa73c0.svg) no-repeat 100%;
}

.noti-box table {
    width: 100%;
    table-layout: fixed;
}

.noti-box tbody td {
    min-width: 0;
}

.noti-box tbody td:first-child a {
    display: block;
    width: 100%;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* =====================================================
   홈 대시보드 - 비회원(GUEST) 전용 스타일
   ===================================================== */

/* 섹션 공통 */
.home-guest-hero,
.home-guest-cards,
.home-guest-faq {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

/* 섹션1+2 배경 래퍼 */
.home-guest-hero-wrap {
    position: relative;
    overflow: hidden;
    padding-top: 0;
}
.home-guest-hero-wrap::before {
    content: '';
    position: absolute;
    inset: 0;
    background-size: cover;
    z-index: 0;
}
.home-bg-guest::before {
    background-image: url('../../../images/bg_home_guest.png');
}
.home-bg-member::before {
    background-image: url('../../../images/bg_home_member.png');
}
.home-guest-hero-wrap::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 75%;
    background: linear-gradient(to bottom, transparent, rgba(255,255,255,0.9));
    -webkit-backdrop-filter: blur(8px);
    z-index: 0;
}
.home-guest-hero-wrap > * {
    position: relative;
    z-index: 1;
    margin-bottom: 30px
}

/* 섹션1: Hero */
.home-guest-hero {
    color: #fff;
    text-align: left;
    align-items: flex-start;
    padding: 0;
    width: 100%;
    max-width: 1437px;
    margin: 130px auto 0;
}
.home-guest-hero h1,
.home-guest-hero p,
.home-guest-hero span {
    padding: 0;
    margin: 0;
}
.home-guest-hero .hero-label {
    display: block;
    font-size: 16px;
    font-weight: 600;
    color: #9CA3AF;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    padding-top: 0;
    margin-bottom: 0;
}
.home-guest-hero .hero-title {
    font-family: "Noto Sans KR", sans-serif;
    font-size: 60px;
    font-weight: 700;
    color: #000;
    word-break: keep-all;
    letter-spacing: -2.2px;
    margin-left: -4px;
}
.home-guest-hero .hero-title .hero-brand {
    font-weight: 800;
    color: #e5003a;
}
.home-guest-hero .hero-subtitle {
    font-size: 31px;
    color: #333;
    margin: 0;
    font-weight: 600;
    margin-left: -2px;
    word-break: keep-all;
    letter-spacing: -1.3px;
    padding-top: 13px;
}
.home-guest-hero .hero-desc {
    font-size: 24px;
    color: #666;
    margin-bottom: 0;
    word-break: keep-all;
    letter-spacing: -0.9px;
    padding-top: 18px;
    padding-bottom: 111px;
}

/* 섹션2+3 래퍼 */
.home-guest-cards-wrapper {
    position: relative;
    z-index: 1;
    padding: 15px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    max-width: 1663px;
    width: calc(100% - 30px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* 섹션2: 안내 카드 */
.home-guest-cards {
    background: transparent;
    max-width: 1437px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: row;
    gap: 33px;
    justify-content: center;
}
.home-guest-more-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 70px;
    cursor: pointer;
    font-size: 15px;
    font-weight: 600;
    color: #888;
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(4px);
    z-index: 100;
    transition: opacity 0.3s, transform 0.3s;
}
.home-guest-more-bar.hidden {
    opacity: 0;
    pointer-events: none;
    transform: translateY(20px);
}
.home-guest-more-bar:hover {
    color: #1e1847;
}
.home-guest-more-bar svg {
    animation: bounceDown 1.5s ease-in-out infinite;
}
@keyframes bounceDown {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(4px); }
}
.home-guest-bottom {
    background: #FFFFFF;
    padding: 44px 0;
    max-width: 100%;
    justify-content: center;
    align-items: stretch;
}
.home-guest-bottom .home-guest-card-row {
    max-width: 1437px;
    margin: 0 auto;
}
.home-guest-cards .section-title {
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    margin-bottom: 32px;
    text-align: center;
}
.home-guest-card-row {
    display: flex;
    gap: 33px;
    justify-content: center;
    width: 100%;
}
.home-guest-card-item {
    max-width: 702px;
    flex: none;
    min-width: 0;
    background: #fff;
    border-radius: 15px;
    padding: 39px 37px;
    box-sizing: border-box;
    box-shadow: 0 4px 20px rgba(0,0,0,0.07);
    display: flex;
    flex-direction: column;
    gap: 0;
    transition: transform 0.2s, box-shadow 0.2s;
}
.home-guest-card-item:first-child {
    flex: 0 0 calc(60% - 17px);
}
/* 카드 헤더 공통 (게스트/멤버 통일) */
.card-head-row {
    display: flex;
    align-items: center;
    gap: 22px;
}
.card-icon {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    flex-shrink: 0;
}
.card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.card-head-text {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.card-head-text .card-title {
    font-size: 25px;
    font-weight: 700;
    color: #1a1a2e;
    letter-spacing: -.5px;
    line-height: 1.3;
}
.card-head-text .card-label {
    letter-spacing: -.1px;
    font-size: 18px;
    color: #666;
}
.home-guest-card-item .card-head-row {
    margin-bottom: 53px;
}
.home-guest-card-item .card-head-row .btn-card {
    margin-left: auto;
    margin-top: 0;
    flex-shrink: 0;
}
.home-status-card .card-icon,
.home-board-card .card-icon {
    width: 46px;
    height: 46px;
    border-radius: 10px;
}
.home-status-card,
.home-board-card {
    width: 100%;
    min-height: 0;
    padding: 39px 37px;
    box-sizing: border-box;
}
.home-status-card .card-title,
.home-board-card .card-title {
    font-size: 30px;
}
.home-status-card .card-head-row,
.home-board-card .card-head-row {
    align-items: flex-start;
    gap: 13px;
    padding-bottom: 10px;
}

.home-status-card .card-head-row {
    border-bottom: 1px solid #EBEBEB;
}
.home-guest-card-item .card-desc {
    font-size: 13px;
    color: #666;
    line-height: 1.6;
    flex: 1;
}
.home-guest-card-item .btn-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 173px;
    height: 43px;
    font-size: 16px;
    font-weight: 700;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    align-self: center;
    margin-top: 0;
}
.home-guest-card-item .btn-card.purple {
    background: #1e1847;
    color: #fff;
}
.home-guest-card-item .btn-card.purple:hover { background: #2d2660; }
.home-guest-card-item .btn-card.outline {
    background: transparent;
    color: #1e1847;
    border: 1.5px solid #1e1847;
}
.home-guest-card-item .btn-card.outline:hover {
    background: #1e1847;
    color: #fff;
}

/* 카드 내 체크리스트 */
.card-checklist-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    flex: 1;
    align-items: center;
}
.card-checklist {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    justify-content: center;
    gap: 20px;
    width: 100%;
}
.card-checklist li {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 16px;
    padding: 0 25px;
    font-size: 18px;
    font-weight: 600;
    color: #1a1a2e;
    flex: 1;
    height: 123px;
    background: #f7f8fb;
    border: 1.5px solid #ebeef5;
    border-radius: 15px;
    box-sizing: border-box;
}
.card-checklist li svg {
    flex-shrink: 0;
}
.card-checklist-text {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
}
.card-checklist-text span {
    display: block;
    line-height: 1.15;
    min-width: 0;
}
.card-checklist-text span + span {
    font-size: 14px;
    margin-top: 7px;
}

/* 카드 내 Step 플로우 */
.card-step-flow {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    flex: none;
    margin: 0;
}
.card-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 251px;
    height: 116px;
    border: 2px solid #e61c3a;
    border-radius: 12px;
    background: #fff;
    position: relative;
    margin: 0 17px;
}
/* 화살표 끝점(우측) 보더 제거 — 화살표가 카드에서 출발하는 효과 */
.card-step::after {
    content: '';
    position: absolute;
    right: -3px;
    top: 50%;
    transform: translateY(-50%);
    width: 6px;
    height: 20px;
    background: #fff;
    z-index: 1;
}
.card-step-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}
.card-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 89px;
    height: 28px;
    background: #e61c3a;
    color: #fff;
    font-size: 15px;
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    font-weight: 400;
    border-radius: 17px;
}
.card-step-bottom {
    margin-top: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
}
.card-step-name {
    font-size: 19px;
    font-weight: 700;
    color: #000;
    vertical-align: middle;
    line-height: 1;
}
:lang(en) .card-step-name {
    font-size: 16px;
    line-height: 1.2;
}
.card-step-arrow {
    position: absolute;
    right: -19px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 15px;
    font-size: 0;
    z-index: 2;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='15' viewBox='0 0 28 15' fill='none'%3E%3Cpath d='M0 7.5h24M20 1l6 6.5-6 6.5' stroke='%23e61c3a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}
/* 마지막 Step 카드는 우측 보더 가림 불필요 */
.card-step:last-child::after {
    display: none;
}

/* 섹션 헤더 (제목 + 더보기) */
.section-header {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    width: 100%;
    max-width: 1306px;
    margin-bottom: 32px;
}
.section-header .section-title {
    font-size: 25px;
    font-weight: 700;
    color: #1a1a2e;
    margin: 0;
}
.section-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 600;
    color: #888;
    text-decoration: none;
    background: #f0f0f0;
    border: 1px solid #f2f2f2;
    border-radius: 12px;
    padding: 2px 12px;
}
.section-more::after {
    content: '\203a';
    display: inline-block;
    width: 6px;
    height: 11px;
    margin-left: 4px;
    font-size: 14px;
    line-height: 11px;
}
.section-more:hover { color: #1e1847; background: #e8e8e8; }

/* 섹션3: FAQ 빠른버튼 */
.home-guest-faq {
    background: #fff;
}
.home-guest-faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 33px;
    row-gap: 28px;
    max-width: 1306px;
    width: 100%;
}
.home-guest-faq-btn {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    height: 90px;
    background: #fff;
    border: 1.5px solid #e8eaf0;
    border-radius: 10px;
    padding: 0 20px;
    cursor: pointer;
    text-decoration: none;
    transition: all 0.2s;
    min-width: 0;
    overflow: hidden;
}
.home-guest-faq-btn:hover {
    box-shadow: 0 4px 16px rgba(30,24,71,0.1);
}
.home-guest-faq-btn .faq-btn-icon {
    width: 31px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 25px;
    font-weight: 700;
    color: #e61c3a;
}
.home-guest-faq-btn .faq-btn-text {
    display: block;
    font-size: 25px;
    font-weight: 600;
    color: #1a1a2e;
    line-height: 1.4;
    flex: 1;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.home-guest-faq-card,
.home-guest-noti-card {
    background: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
    width: 702px;
    flex: none;
    height: auto;
    justify-content: flex-start;
}
.home-guest-faq-card .section-header,
.home-guest-noti-card .section-header {
    margin-bottom: 0;
    padding-top: 38px;
    padding-bottom: 28px;
}
.home-guest-faq-card .section-title,
.home-guest-noti-card .section-title {
    font-size: 25px;
    padding-left: 38px;
    text-align: left;
}
.home-guest-faq-list,
.home-guest-noti-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
    width: 100%;
    margin-top: 0;
}
.home-guest-faq-item,
.home-guest-noti-item {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    height: 70px;
    padding: 0 16px;
    background: #fff;
    border: none;
    border-radius: 10px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    text-decoration: none;
    transition: all 0.15s;
    box-sizing: border-box;
    min-width: 0;
    overflow: hidden;
}
.home-guest-faq-item:hover,
.home-guest-noti-item:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}
.home-guest-faq-item .faq-icon,
.home-guest-noti-item .faq-icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}
.home-guest-faq-item .faq-icon img,
.home-guest-noti-item .faq-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.noti-icon-n {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #e5003a;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    border-radius: 50%;
}
.home-guest-faq-item .faq-text,
.home-guest-noti-item .faq-text {
    display: block;
    flex: 1;
    min-width: 0;
    font-size: 19px;
    font-weight: 500;
    color: #1a1a2e;
    line-height: 1.4;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.home-guest-faq-item .faq-arrow,
.home-guest-noti-item .faq-arrow {
    font-size: 18px;
    color: #ccc;
    flex-shrink: 0;
}

/* 퀵링크 가로 배치 래퍼 */
.home-guest-quicklink-row {
    display: flex;
    gap: 15px;
    width: 100%;
    justify-content: space-between;
}
/* 퀵링크 카드 */
.home-guest-card-item.home-guest-quicklink {
    flex: 1;
    height: 310px;
    min-width: 0;
    text-decoration: none;
    padding: 35px 24px 22px;
    align-items: center;
    justify-content: center;
    border-radius: 15px;
}
.quicklink-card {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding: 28px 16px 20px;
    border: 1.5px solid #f0f0f5;
    border-radius: 14px;
    text-decoration: none;
    transition: all 0.2s;
    background: #fff;
}
.quicklink-card:hover {
    box-shadow: 0 4px 16px rgba(30,24,71,0.08);
    border-color: #ddd;
}
.quicklink-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 14px;
}
.quicklink-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.quicklink-text {
    display: flex;
    flex-direction: column;
    gap: 13px;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #f2f2f2;
    width: 100%;
    text-align: center;
}
.quicklink-text strong {
    display: block;
    font-size: 22px;
    font-weight: 700;
    color: #1a1a2e;
    line-height: 1.5;
    text-align: center;
}
.quicklink-text span {
    display: block;
    font-size: 16px;
    color: #888;
    line-height: 1.5;
    text-align: center;
}
.quicklink-go {
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
    margin-top: 0;
    padding-top: 0;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.quicklink-go::after {
    content: '';
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 10 10' fill='none'%3E%3Cpath d='M1 5h7M6 2l3 3-3 3' stroke='%237e7f80' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
}

/* 플로팅 빠른가이드 버튼 (좌측 하단) */
.home-floating-guide {
    position: fixed;
    bottom: 128px;
    right: 28px;
    z-index: 1000;
}
.home-floating-guide-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    background: #4a3b8b;
    color: #fff;
    border: none;
    border-radius: 50%;
    padding: 0;
    font-size: 38px;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 4px 20px rgba(30,24,71,0.3);
    transition: all 0.2s;
    text-decoration: none;
}
.home-floating-guide-btn img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}
.home-floating-guide-btn:hover {
    background: #3d3078;
    box-shadow: 0 8px 28px rgba(30,24,71,0.3);
    color: #fff;
}
/* 플로팅 가이드 툴팁 (온보드 투어 양식 일치) */
.floating-guide-tooltip {
    position: absolute;
    right: 80px;
    bottom: 4px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(30, 24, 71, 0.18);
    padding: 15px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    transform: translateX(10px);
    transition: all 0.2s;
    pointer-events: none;
    font-family: "Helvetica Neue", Inter, ui-sans-serif, sans-serif;
}
.floating-guide-tooltip::after {
    content: '';
    position: absolute;
    right: -6px;
    bottom: 24px;
    width: 12px;
    height: 12px;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: 2px -2px 4px rgba(30,24,71,0.05);
}
.floating-guide-tooltip strong {
    display: flex;
    align-items: center;
    gap: 8px;
    font: 700 17px/1.5 "Helvetica Neue", sans-serif;
    color: #1e1847;
}
.floating-guide-tooltip strong::before {
    content: '';
    display: inline-block;
    width: 32px;
    height: 32px;
    background: url('../../../images/icon/icon_quickbox.png') no-repeat center;
    background-size: contain;
    flex-shrink: 0;
}
.floating-guide-tooltip span {
    font: 400 14px/1.7 "Helvetica Neue", sans-serif;
    color: #555;
    padding-left: 40px;
}
.home-floating-guide:hover .floating-guide-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}


/* =====================================================
   홈 대시보드 - 회원(member) 전용 스타일
   ===================================================== */

/* 회원 대시보드 스크롤 컨테이너 */
.home-member-scroll {
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    background: #fff;
}

/* 섹션1: Welcome */
.home-member-welcome {
    background: transparent;
    color: #000;
    max-width: 1306px;
    margin: 0 auto;
    padding: 130px 40px 0;
    position: relative;
    z-index: 10;
}
.welcome-inner {
    background: #1e1847;
    border-radius: 15px;
    padding: 34px 40px;
    color: #fff;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 19px;
    position: relative;
}
.welcome-inner::after {
    content: '';
    position: absolute;
    right: -16px;
    top: 0;
    bottom: 0;
    width: 350px;
    background: url('../../../images/bg_welcome.png') no-repeat right center;
    background-size: contain;
    pointer-events: none;
}
.home-member-welcome .welcome-tag {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: none;
    border-radius: 0;
    padding: 0;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -.5px;
    color: #fff;
}
.home-member-welcome .welcome-name {
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -.5px;
    color: #fff;
}
.home-member-welcome .welcome-info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.home-member-welcome .welcome-role {
    font-size: 22px;
    font-weight: 500;
    color: rgba(255,255,255,0.8);
    align-items: center;
    gap: 6px;
    letter-spacing: -.5px;
}
.home-member-welcome .contract-select-wrap label {
    font-size: 14px;
    font-weight: 600;
    color: #000;
    display: block;
    margin-bottom: 6px;
}
/* 커스텀 계약 드롭다운 */
.contract-dropdown {
    position: relative;
    width: 550px;
    z-index: 50;
}
:lang(en) .contract-dropdown {
    width: 752px;
}
.contract-dropdown-selected {
    display: flex;
    align-items: center;
    min-height: 42px;
    height: auto;
    padding: 8px 14px;
    border-radius: 5px;
    background: #fff;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    cursor: pointer;
    box-sizing: border-box;
}
.contract-dropdown-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.contract-dropdown-arrow {
    font-size: 12px;
    color: #333;
    margin-left: 10px;
    flex-shrink: 0;
}
.contract-dropdown-list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    max-height: 300px;
    overflow-y: auto;
    background: #fff;
    border: 1px solid #e8eaf0;
    border-radius: 5px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.1);
    z-index: 9999;
}
.contract-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 14px;
    font-size: 18px;
    font-weight: 500;
    color: #000;
    cursor: pointer;
    border-bottom: 1px solid #f5f5f8;
}
.contract-dropdown-item:last-child { border-bottom: none; }
.contract-dropdown-item:hover { background: #f8f9fb; }
.contract-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 4px 12px;
    border-radius: 12px;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    margin-right: 8px;
    margin-left: 0;
    white-space: nowrap;
}

/* 섹션2: 계약 현황 */
/* 회원 2x2 그리드 (열 크기 연동) */
.home-member-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 33px;
    max-width: 1306px;
    margin: 0 auto;
    padding: 24px 40px 24px;
}
#boardGuideRow {
    display: contents;
}
.home-status-card {
    background: #fff;
    border-radius: 15px;
    padding: 39px 37px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    display: flex;
    flex-direction: column;
    position: relative;
    min-width: 0;
}
.home-status-card .card-head {
    margin-bottom: 24px;
}

/* Step 스텝퍼 */
/* 스텝 리스트 — 세로 배치 */
.home-step-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: stretch;
}
.home-step-item {
    display: grid;
    grid-template-columns: 42px 1fr;
    grid-template-rows: auto;
    align-items: start;
    position: relative;
    gap: 0 16px;
}
.home-step-item:not(:last-child)::after {
    content: '';
    position: absolute;
    height: 80px;
    left: 20px;
    top: 42px;
    bottom: -16px;
    width: 2px;
    background: #e1e5f0;
    z-index: 0;
}
.home-step-item.is-done::after,
.home-step-item.is-active::after { background: #1e1847; }
/* 서클 */
.home-step-item .step-circle {
    grid-column: 1;
    grid-row: 1;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #1e1847;
    margin-top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    flex-shrink: 0;
    z-index: 1;
}
.home-step-item .step-circle svg.icon-check { display: none; }
.home-step-item .step-circle .step-num { display: inline; }
.home-step-item .step-circle .step-lock-img { display: none; }
/* done */
.home-step-item.is-done .step-circle svg.icon-check { display: inline; }
.home-step-item.is-done .step-circle .step-num { display: none; }
/* active: 네이비 바탕 + 흰색 내부 닷(지름 1/2) */
.home-step-item.is-active .step-circle {
    background: #1e1847;
    border: none;
    color: transparent;
}
.home-step-item.is-active .step-circle .step-num { display: none; }
.home-step-item.is-active .step-circle::after {
    content: '';
    width: 50%;
    height: 50%;
    border-radius: 50%;
    background: #fff;
}
/* disabled */
.home-step-item.is-disabled .step-circle { background: #dde1eb; }
.home-step-item.is-disabled .step-circle .step-num { display: none; }
.home-step-item.is-disabled .step-circle .step-lock-img { display: block; width: auto; height: auto; }
.home-step-item.is-disabled .step-body-btn .step-btn {
    background: #f1f3f7;
    color: #8b93a7;
    border: 1px solid #d9dfeb;
    cursor: not-allowed;
    opacity: 1;
    pointer-events: none;
    transform: none;
}
/* 바디 (서클 우측) */
.home-step-item .step-body {
    grid-column: 2;
    grid-row: 1;
    border: 1.5px solid transparent;
    border-radius: 15px;
    background: transparent;
    padding: 10px 20px;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: 4px 12px;
    align-items: center;
    box-sizing: border-box;
    min-height: 42px;
}
.step-body-title {
    grid-column: 1;
    grid-row: 1;
}
.step-body-btn {
    grid-column: 2;
    grid-row: 1 / 3;
    align-self: center;
}
.step-body-desc {
    grid-column: 1;
    grid-row: 2;
}
.home-step-item.is-active .step-body {
    border-color: #edeff6;
    background: #f7f8fb;
}
.step-body-title { font-size: 18px; font-weight: 600; color: #000; text-align: left; letter-spacing: -.3px; }
.step-body-desc { font-size: 13px; font-weight: 300; color: #666; line-height: 1.5; word-break: keep-all; text-align: left; }
.step-body-btn { margin-top: 0; }
.home-step-item .step-body-btn .step-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    padding: 0 14px;
    height: 30px;
    font-size: 13px;
    font-weight: 700;
    border-radius: 999px;
    border: 1px solid transparent;
    cursor: default;
    text-decoration: none;
    background: #eef1f7;
    color: #5d667a;
    transition: background 0.2s, color 0.2s, border-color 0.2s;
}
.home-step-item.is-active .step-body-btn .step-btn,
.home-step-item.is-active .step-body-btn .step-btn:hover {
    background: #e61c3a;
    color: #fff;
    border-color: #e61c3a;
}
.home-step-item.is-done .step-body-btn .step-btn,
.home-step-item.is-done .step-body-btn .step-btn:hover {
    background: #47cec0;
    color: #fff;
    border-color: #47cec0;
}

/* 리포트 현황 테이블 */
.home-report-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 21px;
    border-top: 1px solid #ebeef4;
    border-bottom: 1px solid #ebeef4;
}
.home-report-table th {
    font-weight: 500;
    color: #000;
    font-size: 18px;
    height: 50px;
    padding: 0 12px;
    text-align: center;
    background: #efeff7;
    border-bottom: 1px solid #ebeef4;
    border-right: 1px solid #ebeef4;
}
.home-report-table td {
    height: 55px;
    padding: 0 12px;
    border-bottom: 1px solid #ebeef4;
    border-right: 1px solid #ebeef4;
    color: #000;
    vertical-align: middle;
    text-align: center;
}
.home-report-table td:first-child {
    background: #f7f8fb;
}
.home-report-table tr:last-child td { border-bottom: none; }
.home-report-table th:last-child,
.home-report-table td:last-child { border-right: none; }
.home-report-table td.report-status-red,
.home-report-table td.report-status-green {
    font-weight: 700;
}
.home-report-table td.report-status-red span,
.home-report-table td.report-status-green span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 12px;
    padding: 2px 12px;
    font-size: inherit;
    font-weight: 700;
}
.home-report-table td.report-status-red {
    color: #E61C3A;
}
.home-report-table td.report-status-red span {
    color: #E61C3A;
}
.home-report-table td.report-status-green {
    color: #47CEC0;
}
.home-report-table td.report-status-green span {
    color: #47CEC0;
}
.report-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
}
.report-badge.red    { background: #ffeef0; color: #e7486d; }
.report-badge.green  { background: #e8f5e9; color: #51d0c3; }
.report-badge.orange { background: #fff3e0; color: #e65100; }
.report-badge.gray   { background: #f5f5f5; color: #888;    }
.btn-report-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 210px;
    height: 42px;
    background: #1e1847;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-size: 20px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    text-decoration: none;
    margin-top: auto;
}
#reportStatusWrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: center;
    flex: 1;
}
.btn-report-submit:hover:not(:disabled) {
    background: #2d2660;
    color: #fff;
}
.btn-report-submit:disabled {
    background: #e0e0e0;
    color: #aaa;
    cursor: not-allowed;
    transform: none;
}
.report-empty-msg {
    text-align: center;
    color: #aaa;
    font-size: 18px;
    padding: 24px 0;
}

/* 섹션3: 보드 레이아웃 */
/* home-board-section 은 home-member-grid로 통합 */
.home-board-card {
    background: #fff;
    border-radius: 15px;
    padding: 39px 37px 16px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    min-width: 0;
    width: 100%;
}
.home-board-card .board-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0;
    border-bottom: 1px solid #EBEBEB;
}
.home-board-card .board-title {
    font-size: 15px;
    font-weight: 700;
    color: #1a1a2e;
}
.home-board-card .board-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    color: #888;
    font-weight: 600;
    text-decoration: none;
    background: #f0f0f0;
    border: 1px solid #f2f2f2;
    border-radius: 12px;
    padding: 2px 12px;
}
.home-board-card .board-more:hover { color: #1e1847; background: #e8e8e8; }

/* 탭 */
.home-board-tabs {
    border-bottom: none;
    padding-bottom: 6px;
    margin-top: 31px;
    margin-bottom: 9px;
}
.home-board-tabs .nav-item {
    margin-right: 4px;
}
.home-board-tabs .nav-link {
    width: 170px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 600;
    color: #666;
    background: #fff;
    border: none;
    border-bottom: 2px solid transparent;
    border-bottom: none;
    border-radius: 8px 8px 0 0;
    padding: 0;
}
.home-board-tabs .nav-link.active {
    color: #1e1847;
    background: #fff;
    border: none;
    border-bottom: 2px solid #1e1847;
}

/* IT안내 / 서비스이용안내 공통 리스트 */
.home-board-grid,
.home-board-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-top: 0;
    margin-bottom: 9px;
}
.home-board-grid-item,
.home-board-list-item {
    display: flex;
    align-items: center;
    height: 35px;
    gap: 10px;
    padding: 0 4px;
    cursor: pointer;
    text-decoration: none;
    transition: background 0.15s;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}
.home-board-grid-item:hover,
.home-board-list-item:hover { background: #f8f9fb; }

/* 공통: 제목 */
.board-item-title {
    display: block;
    font-size: 16px;
    color: #1a1a2e;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex: 1;
    min-width: 0;
    max-width: 100%;
}
.board-item-date {
    font-size: 14px;
    color: #aaa;
    flex-shrink: 0;
    margin-left: auto;
}
.board-item-badge-new {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 25px;
    background: #e7486d;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 12px;
    flex-shrink: 0;
}
.board-item-badge-updated {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 75px;
    height: 25px;
    background: #63d0a7;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    border-radius: 12px;
    flex-shrink: 0;
}

/* 반응형: 1열 전환 */
@media (max-width: 900px) {
    .home-member-grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .home-guest-card-row { flex-direction: column; }
    .home-member-welcome { flex-direction: column; }
    .home-board-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-member-grid { padding: 16px 16px; }
    .home-member-welcome { padding: 28px 20px; }
    .home-board-card,
    .home-status-card,
    .home-board-grid-item,
    .home-board-list-item,
    .board-item-title {
        min-width: 0;
    }
}
