@charset "utf-8";
/* ============================================================
   hbil 디자인 테마 (Teal/Emerald)
   reset.css / css.basic.css 위에 로드해서 핵심 토큰 덮어쓰기
   ============================================================ */
:root {
	--hbil-primary:        #0F766E;   /* teal-800 — 메인 */
	--hbil-primary-hover:  #115E59;   /* teal-900 */
	--hbil-primary-deep:   #134E4A;   /* teal-950 */
	--hbil-primary-light:  #CCFBF1;   /* teal-100 */
	--hbil-primary-soft:   #F0FDFA;   /* teal-50 */
	--hbil-accent:         #10B981;   /* emerald-500 — 강조 */
	--hbil-accent-hover:   #059669;   /* emerald-600 */
	--hbil-accent-soft:    #ECFDF5;   /* emerald-50 */
	--hbil-dark:           #064E3B;   /* emerald-900 — 헤더/푸터 */
	--hbil-text:           #111827;   /* gray-900 */
	--hbil-text-soft:      #4B5563;   /* gray-600 */
	--hbil-muted:          #6B7280;   /* gray-500 */
	--hbil-border:         #E5E7EB;   /* gray-200 */
	--hbil-border-soft:    #F3F4F6;   /* gray-100 */
	--hbil-bg:             #F8FAFC;   /* slate-50 */
	--hbil-radius-sm:      8px;
	--hbil-radius:         12px;
	--hbil-radius-lg:      16px;
	--hbil-shadow:         0 1px 2px rgba(17, 24, 39, 0.04);
	--hbil-shadow-md:      0 4px 12px rgba(15, 118, 110, 0.08);
	--hbil-shadow-lg:      0 8px 24px rgba(15, 118, 110, 0.12);
}

/* ============================================================
   기본 링크 / 헤딩 (00bid 의 파랑 → hbil teal)
   ============================================================ */
a { color: var(--hbil-text); }
a:hover, a:focus { color: var(--hbil-primary); }

/* main_menu 활성/선택 액센트 — 00bid 의 파랑(#3B83F6 / #005DFE) 을 teal 로 */
#main_menu { background-color: var(--hbil-dark) !important; }
#main_menu .main_menu_none.active .menu.active::after,
#main_menu .menu.active::after { background: var(--hbil-accent) !important; }
#main_menu .sub_menu a.on { color: var(--hbil-accent) !important; }

/* 좌측메뉴(#wrap_left_menu) 액센트 */
#wrap_left_menu .left_sub_menu li.on a { color: var(--hbil-primary) !important; }
#wrap_left_menu .left_sub_menu li.on::before { background: var(--hbil-primary) !important; }
#wrap_left_menu .left_sub_menu li:hover a { background: var(--hbil-primary-soft); color: var(--hbil-primary); }

/* 헤더 로고 아래 탑 네비 (hbil 의 wrap_top_menu) — 활성 메뉴를 teal 로 */
#wrap_top .wrap_top_menu ul li.active a,
#wrap_top .wrap_top_menu ul li a.on { color: var(--hbil-primary) !important; }

/* breadcrumb (#wrap_navi) — 강조선만 teal 로 */
#wrap_navi .wrap_navi_body li:last-child > a,
#wrap_navi .wrap_navi_body li:last-child > span { color: var(--hbil-primary-deep) !important; }
#wrap_navi .wrap_navi_body li a:hover { color: var(--hbil-primary) !important; background: var(--hbil-primary-soft) !important; }

/* ============================================================
   페이지 타이틀 (.sub-title) — teal 보더
   ============================================================ */
.sub-title,
#page_title,
.tbl_normal,
.box_body_center .tbl_normal,
.box_body_center_content .tbl_normal {
	border-top-color: var(--hbil-primary) !important;
}
.form_section .section-title { border-bottom-color: var(--hbil-primary-light) !important; }
.form_section .section-title::before { background: var(--hbil-primary) !important; }

/* ============================================================
   d_btn 추가 사이즈/모양 — 12px round 일관성
   ============================================================ */
.d_btn.type_mini,
.d_btn.type_small,
.d_btn.type_large { border-radius: 12px; }
.d_btn.type_block { border-radius: 12px; }

/* outline 변형 — 기본 + teal */
.d_btn.type_outline {
	background: #fff !important;
	color: var(--hbil-primary) !important;
	border-color: var(--hbil-primary) !important;
}
.d_btn.type_outline:hover {
	background: var(--hbil-primary-soft) !important;
	color: var(--hbil-primary-hover) !important;
	border-color: var(--hbil-primary-hover) !important;
}

/* 페이지 액션(.form_actions) 통일 */
.form_actions .d_btn.type_black {
	background: var(--hbil-dark) !important;
	border-color: var(--hbil-dark) !important;
}
.form_actions .d_btn.type_black:hover {
	background: var(--hbil-primary-deep) !important;
	border-color: var(--hbil-primary-deep) !important;
}

/* ============================================================
   아이콘 헬퍼 (.h_icon) — 아웃라인 + 단색 원형 배경
   사용 예: <span class="h_icon h_icon_teal"><i class="fa-regular fa-user"></i></span>
   ============================================================ */
.h_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--hbil-primary-soft);
	color: var(--hbil-primary);
	font-size: 14px;
	flex-shrink: 0;
	transition: background 0.15s ease, color 0.15s ease;
}
.h_icon.h_icon_lg { width: 48px; height: 48px; font-size: 18px; }
.h_icon.h_icon_sm { width: 28px; height: 28px; font-size: 12px; }
.h_icon.h_icon_teal    { background: var(--hbil-primary-soft); color: var(--hbil-primary); }
.h_icon.h_icon_emerald { background: var(--hbil-accent-soft);  color: var(--hbil-accent-hover); }
.h_icon.h_icon_red     { background: #FEE2E2; color: #DC2626; }
.h_icon.h_icon_amber   { background: #FEF3C7; color: #B45309; }
.h_icon.h_icon_indigo  { background: #E0E7FF; color: #4338CA; }
.h_icon.h_icon_dark    { background: var(--hbil-dark); color: #fff; }
/* solid (채워진) variant */
.h_icon.is_solid.h_icon_teal    { background: var(--hbil-primary); color: #fff; }
.h_icon.is_solid.h_icon_emerald { background: var(--hbil-accent);  color: #fff; }
/* 호버시 색 강조 */
a:hover > .h_icon,
button:hover > .h_icon { background: var(--hbil-primary); color: #fff; }

/* ============================================================
   카드 헬퍼 (.h_card) — hbil 공통 카드
   ============================================================ */
.h_card {
	background: #fff;
	border: 1px solid var(--hbil-border);
	border-radius: var(--hbil-radius);
	padding: 20px 24px;
	box-shadow: var(--hbil-shadow);
}
.h_card.is_hoverable {
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	cursor: pointer;
}
.h_card.is_hoverable:hover {
	transform: translateY(-2px);
	box-shadow: var(--hbil-shadow-md);
	border-color: #99F6E4;
}
.h_card_title {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	color: var(--hbil-text);
	letter-spacing: -0.01em;
	display: flex;
	align-items: center;
	gap: 10px;
}

/* ============================================================
   #quickmenu (inc_right_menu.html) — hbil teal 카드형 플로팅
   레거시 inline style 보강용
   ============================================================ */
/* hbil 전용 디자인: 카드형(00bid) 대신, 화면 우측 중앙에 떠 있는
   원형 아이콘 "독(dock)" + hover 시 라벨 pill 이 왼쪽으로 슬라이드되어 펼쳐짐 */
#quickmenu.qm_card,
.qm_card {
	position: fixed;
	top: 180px;
	right: 18px;
	width: auto;
	background: transparent;
	border: none;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
	font-family: Pretendard, -apple-system, BlinkMacSystemFont, sans-serif;
	z-index: 50;
}
/* 상단 'Quick' 표시 — 작은 라운드 뱃지 (텍스트 숨김) */
#quickmenu .qm_head {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--hbil-border);
	box-shadow: var(--hbil-shadow-md);
}
#quickmenu .qm_head i { font-size: 13px; color: var(--hbil-primary); }
#quickmenu .qm_head span { display: none; }
#quickmenu .qm_list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}
#quickmenu .qm_list li { margin: 0; padding: 0; float: none !important; width: auto !important; }
/* 라벨(왼쪽, 평소 숨김) + 아이콘(오른쪽, 항상 보임) — row-reverse 로 배치 */
#quickmenu .qm_list a {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 0;
	text-decoration: none;
}
#quickmenu .qm_ico {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	color: #fff;
	font-size: 17px;
	box-shadow: var(--hbil-shadow-md);
	transition: transform 0.18s ease;
}
#quickmenu .qm_list a:hover .qm_ico { transform: scale(1.08); }
/* hover 시 펼쳐지는 라벨 pill */
#quickmenu .qm_label {
	max-width: 0;
	margin-right: 0;
	padding: 0;
	overflow: hidden;
	white-space: nowrap;
	opacity: 0;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--hbil-primary);
	background: #fff;
	border: 1px solid var(--hbil-border);
	border-radius: 999px;
	box-shadow: var(--hbil-shadow-md);
	transition: max-width 0.25s ease, opacity 0.2s ease, padding 0.25s ease, margin-right 0.25s ease;
}
#quickmenu .qm_list a:hover .qm_label {
	max-width: 160px;
	opacity: 1;
	margin-right: 10px;
	padding: 9px 18px;
}
#quickmenu .qm_ico_teal     { background: linear-gradient(135deg, #14B8A6, #0F766E); }
#quickmenu .qm_ico_emerald  { background: linear-gradient(135deg, #10B981, #047857); }
#quickmenu .qm_ico_amber    { background: linear-gradient(135deg, #F59E0B, #B45309); }
#quickmenu .qm_ico_indigo   { background: linear-gradient(135deg, #6366F1, #4338CA); }
#quickmenu .qm_ico_dark     { background: linear-gradient(135deg, var(--hbil-dark), #022C22); }
#quickmenu .qm_top {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--hbil-border);
	box-shadow: var(--hbil-shadow-md);
	color: var(--hbil-primary);
	font-size: 14px;
	text-decoration: none;
	margin-top: 2px;
}
#quickmenu .qm_top:hover { background: var(--hbil-primary); color: #fff; }
@media (max-width: 1400px) {
	#quickmenu.qm_card { right: 12px; top: 160px; }
}

/* quickmenu 가 있는 페이지: 본문 우측에 quickmenu 폭(88) + 여백(24+12) 확보
   인라인 style="padding: 0 25px" 같은 케이스도 덮을 수 있도록 !important + 다중 셀렉터 */
body:has(#quickmenu) #wrap_body_content,
body:has(#quickmenu) #wrap_body_content > #box_body_main,
body:has(#quickmenu) .box_body_center,
body:has(#quickmenu) .ceo_wrap,
body:has(#quickmenu) .faq_wrap,
body:has(#quickmenu) .bs_landing,
body:has(#quickmenu) #box_body_content,
#wrap_body:has(#quickmenu) #wrap_body_content {
	padding-right: 90px !important;
	box-sizing: border-box !important;
}
/* 좁은 화면에서는 quickmenu 폭이 작아지므로 우측 padding 도 축소 */
@media (max-width: 1400px) {
	body:has(#quickmenu) #wrap_body_content,
	body:has(#quickmenu) #wrap_body_content > #box_body_main,
	body:has(#quickmenu) .box_body_center,
	body:has(#quickmenu) .ceo_wrap,
	body:has(#quickmenu) .faq_wrap,
	body:has(#quickmenu) .bs_landing,
	body:has(#quickmenu) #box_body_content { padding-right: 78px !important; }
}
@media (max-width: 900px) {
	#quickmenu.qm_card { display: none !important; }
	body:has(#quickmenu) #wrap_body_content,
	body:has(#quickmenu) #wrap_body_content > #box_body_main,
	body:has(#quickmenu) .box_body_center,
	body:has(#quickmenu) .ceo_wrap,
	body:has(#quickmenu) .faq_wrap,
	body:has(#quickmenu) .bs_landing,
	body:has(#quickmenu) #box_body_content { padding-right: 0 !important; }
}

/* ============================================================
   검색 버튼 / 검색 폼 색상 통일 (teal)
   ============================================================ */
.d_btn.type_search { background: #fff !important; color: var(--hbil-primary) !important; border-color: var(--hbil-primary) !important; }
.d_btn.type_search:hover {
	background: var(--hbil-primary) !important;
	color: #fff !important;
	border-color: var(--hbil-primary) !important;
}
.d_btn.type_search:before { color: var(--hbil-primary) !important; }
.d_btn.type_search:hover:before { color: #fff !important; }
/* ============================================================
   리스트 상단 검색바 (#tbl_list_summary)
   좌측: 총 N건 (강조) / 우측: 검색 컨트롤 — 통합 pill
   ============================================================ */
#tbl_list_summary {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 16px;
	margin: 16px 0 20px;
	padding: 0;
	background: transparent;
	border: none;
	border-radius: 0;
	flex-wrap: wrap;
}
/* 좌측 카운트 — pill 배지 형태 */
#tbl_list_summary .info {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	background: var(--hbil-primary-soft);
	border: 1px solid #99F6E4;
	border-radius: 999px;
	font-size: 13px;
	color: var(--hbil-text-soft);
	font-weight: 500;
	letter-spacing: -0.01em;
	white-space: nowrap;
}
#tbl_list_summary .info:before {
	content: "\f0ca"; /* list */
	font-family: "Font Awesome 6 Pro";
	font-weight: 900;
	font-size: 11px;
	color: var(--hbil-primary);
	margin-right: 4px;
}
#tbl_list_summary .info strong,
#tbl_list_summary .info b,
#tbl_list_summary .info * {
	color: var(--hbil-primary) !important;
	font-weight: 700 !important;
	font-size: 14px;
}

/* 검색 폼 — select + input + 버튼을 하나의 통합 pill 로 묶음 */
.list_search_form,
#tbl_list_summary .list_search_form,
.bs_search_box {
	display: inline-flex !important;
	align-items: stretch !important;
	gap: 0 !important;
	background: #fff !important;
	border: 1px solid #D1D5DB !important;
	padding: 0 !important;
	border-radius: 10px !important;
	margin: 0 !important;
	overflow: hidden;
	flex-wrap: nowrap !important;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.list_search_form:focus-within,
#tbl_list_summary .list_search_form:focus-within {
	border-color: var(--hbil-primary) !important;
	box-shadow: 0 0 0 3px rgba(15,118,110,0.12);
}
/* 통합 pill 내부 컨트롤 — 모두 보더/라운드/배경 제거하고 한몸으로 */
.list_search_form .d_form,
.list_search_form select.d_form,
.list_search_form input[type="text"].d_form,
.list_search_form input[type="search"].d_form,
.list_search_form input[type="password"].d_form,
.list_search_form .combo,
.list_search_form .combo > .d_form {
	height: 40px !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	outline: none !important;
	font-size: 13.5px;
}
.list_search_form select.d_form {
	min-width: 110px;
	padding: 0 32px 0 14px !important;
	border-right: 1px solid #E5E7EB !important;
	color: var(--hbil-text);
	font-weight: 500;
}
.list_search_form input[type="text"].d_form,
.list_search_form .combo > input.d_form {
	min-width: 240px;
	padding: 0 14px !important;
	color: var(--hbil-text);
}
.list_search_form input::placeholder { color: #9CA3AF; }
/* combo 안에 있는 경우 */
.list_search_form .combo {
	display: inline-flex !important;
	background: transparent !important;
	border: none !important;
}
.list_search_form .combo > input.d_form {
	border-right: 1px solid #E5E7EB !important;
}
.list_search_form .combo > select.d_form,
.list_search_form .combo > input.d_form:not(:last-child) {
	border-right: 1px solid #E5E7EB !important;
}
/* 검색 버튼 — 우측 끝에 teal 채움 */
.list_search_form .d_btn,
.list_search_form button[type="submit"],
.list_search_form .combo .d_btn {
	height: 40px !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border: none !important;
	border-radius: 0 !important;
	background: var(--hbil-primary) !important;
	color: #fff !important;
	font-weight: 600;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	letter-spacing: -0.01em;
}
.list_search_form .d_btn:before,
.list_search_form .combo .d_btn:before { color: #fff !important; margin-right: 0; }
.list_search_form .d_btn:hover,
.list_search_form .combo .d_btn:hover {
	background: var(--hbil-primary-hover) !important;
}

/* 좁은 화면 */
@media (max-width: 720px) {
	#tbl_list_summary { flex-direction: column; align-items: stretch !important; }
	#tbl_list_summary .info { align-self: flex-start; }
	.list_search_form,
	#tbl_list_summary .list_search_form { width: 100%; }
	.list_search_form input[type="text"].d_form,
	.list_search_form .combo > input.d_form { flex: 1; min-width: 0 !important; }
}

/* ============================================================
   tbl_normal / 데이터 테이블 — teal 헤더 액센트
   ============================================================ */
.tbl_normal,
.box_body_center .tbl_normal,
.box_body_center_content .tbl_normal {
	width: 100%;
	border: 1px solid var(--hbil-border) !important;
	border-top: 2px solid var(--hbil-primary) !important;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 0 0 var(--hbil-radius) var(--hbil-radius);
	overflow: hidden;
	background: #fff;
	margin-bottom: 16px;
}
.tbl_normal thead th,
.box_body_center .tbl_normal thead th,
.box_body_center_content .tbl_normal thead th {
	padding: 12px 14px !important;
	background: var(--hbil-primary-soft) !important;
	color: var(--hbil-primary) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center;
	letter-spacing: -0.01em;
	border-bottom: 1px solid #99F6E4 !important;
	border-right: 1px solid #99F6E4 !important;
}
.tbl_normal thead th:last-child,
.box_body_center .tbl_normal thead th:last-child,
.box_body_center_content .tbl_normal thead th:last-child { border-right: none !important; }
.tbl_normal tbody td,
.box_body_center .tbl_normal tbody td,
.box_body_center_content .tbl_normal tbody td {
	padding: 10px 14px;
	font-size: 13px;
	color: var(--hbil-text);
	border-bottom: 1px solid var(--hbil-border-soft);
	border-right: 1px solid var(--hbil-border-soft);
	vertical-align: middle;
}
.tbl_normal tbody td:last-child,
.box_body_center .tbl_normal tbody td:last-child,
.box_body_center_content .tbl_normal tbody td:last-child { border-right: none; }
.tbl_normal tbody tr:last-child td,
.box_body_center .tbl_normal tbody tr:last-child td,
.box_body_center_content .tbl_normal tbody tr:last-child td { border-bottom: none; }
.tbl_normal tbody tr:hover td,
.box_body_center .tbl_normal tbody tr:hover td,
.box_body_center_content .tbl_normal tbody tr:hover td { background: var(--hbil-primary-soft); }
.tbl_normal .board_title a { color: var(--hbil-text); text-decoration: none; font-weight: 500; }
.tbl_normal .board_title a:hover { color: var(--hbil-primary); text-decoration: underline; }
.tbl_normal .row_notice td { background: #FFF7ED; }
.tbl_normal .row_notice:hover td { background: #FFEDD5 !important; }
.tbl_normal td.empty { padding: 40px 12px; color: var(--hbil-muted); font-size: 13px; }

/* d_table — reset.css 정의 위에 teal 톤 */
table.d_table { border-color: var(--hbil-border) !important; }
table.d_table th,
table.d_table td { border-color: var(--hbil-border-soft) !important; }
table.d_table th { background: var(--hbil-primary-soft) !important; color: var(--hbil-primary) !important; font-weight: 700 !important; }

/* 페이징 */
.paginate1 a.active,
.paginate1 strong,
#box_paging .paginate1 a.active,
#box_paging_new .paginate1 a.active {
	background: var(--hbil-primary) !important;
	color: #fff !important;
	border-color: var(--hbil-primary) !important;
}
.paginate1 a:hover { color: var(--hbil-primary) !important; border-color: var(--hbil-primary) !important; }

/* ============================================================
   .tabbar_bid — mybap 분석함 전용 탭 (Segmented Control 스타일)
   00bid 와 확연히 다른 톤: 흰 카드 + teal 활성 underline + 아이콘
   ============================================================ */
.tabbar_bid {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 0 !important;       /* 아래 분리선이 곧바로 붙도록 */
	padding: 0 0 16px 0 !important;
	background: transparent !important;
	border: none !important;
	border-bottom: 2px solid var(--hbil-primary) !important;  /* 탭 영역과 본문 분리 */
}
.tabbar_bid > ul {
	display: inline-flex !important;
	align-items: stretch;
	gap: 8px !important;            /* 탭 간 간격 */
	list-style: none !important;
	margin: 0 !important;
	padding: 6px !important;
	background: var(--hbil-bg, #F8FAFC) !important;
	border: 1px solid var(--hbil-border) !important;
	border-radius: 14px !important;
	box-shadow: inset 0 1px 2px rgba(17,24,39,0.03);
}
.tabbar_bid > ul > li {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	list-style: none !important;
}
.tabbar_bid > ul > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	padding: 10px 22px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	color: var(--hbil-muted) !important;
	background: transparent !important;
	border: none !important;
	border-radius: 10px !important;
	text-decoration: none !important;
	transition: all 0.18s ease;
	white-space: nowrap;
}
.tabbar_bid > ul > li > a:hover {
	color: var(--hbil-primary) !important;
	background: rgba(15,118,110,0.06) !important;
}
.tabbar_bid > ul > li.tc-selected > a,
.tabbar_bid > ul > li.tc-selected > a:hover {
	color: #fff !important;
	background: var(--hbil-primary) !important;
	box-shadow: 0 2px 8px rgba(15,118,110,0.25);
}
/* 탭 옆에 따라붙는 안내 문구 (입찰가능한 공고들 입니다.) */
.tabbar_bid .c_red {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	font-size: 12.5px;
	font-weight: 500;
	color: var(--hbil-accent-hover, #059669) !important;
	background: var(--hbil-accent-soft);
	border: 1px solid #A7F3D0;
	border-radius: 999px;
}
.tabbar_bid .c_red:before {
	content: "\f0eb"; /* lightbulb */
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	font-size: 12px;
	color: var(--hbil-accent-hover);
}

/* ============================================================
   분석담당자 배너 (.analyst_bar)
   00bid 의 좁은 우측정렬 안내 → hbil 은 풀폭 카드 + 아이콘 분리
   ============================================================ */
.analyst_bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 14px 0;
	padding: 14px 20px;
	background: linear-gradient(135deg, var(--hbil-primary-soft) 0%, #ECFDF5 100%);
	border: 1px solid #99F6E4;
	border-radius: 12px;
	font-family: Pretendard, sans-serif;
	flex-wrap: wrap;
}
.analyst_bar_left {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--hbil-text-soft);
	font-weight: 600;
	letter-spacing: -0.01em;
}
.analyst_bar_left i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--hbil-primary);
	color: #fff;
	font-size: 13px;
}
.analyst_bar_right {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.analyst_bar_right .analyst_name {
	font-size: 14px;
	color: var(--hbil-text);
	font-weight: 500;
}
.analyst_bar_right .analyst_name strong {
	color: var(--hbil-primary);
	font-weight: 700;
}
.analyst_bar_right .analyst_phone {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	background: #fff;
	border: 1px solid var(--hbil-primary);
	border-radius: 999px;
	color: var(--hbil-primary) !important;
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none !important;
	transition: all 0.15s ease;
}
.analyst_bar_right .analyst_phone:hover {
	background: var(--hbil-primary);
	color: #fff !important;
}
.analyst_bar_right .analyst_phone i { font-size: 11px; }

/* 탭 아래 본문 여백 — tabbar_bid 의 padding-bottom + border-bottom 으로 충분하므로 비활성화
.tabbar_bid + *,
.tabbar_bid ~ #box_search,
.tabbar_bid ~ .analyst_bar,
.tabbar_bid ~ table.tbl_normal,
.tabbar_bid ~ table.d_table {
	margin-top: 20px !important;
}
*/

@media (max-width: 720px) {
	.tabbar_bid { flex-direction: column; align-items: stretch !important; }
	.tabbar_bid > ul { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.analyst_bar { flex-direction: column; align-items: stretch; text-align: center; }
	.analyst_bar_right { justify-content: center; }
}

/* ============================================================
   탭 디자인 (.tab_bar) — teal pill 스타일
   reset.css 의 .tab_bar(border-bottom + underline) 무력화
   ============================================================ */
.tab_bar {
	display: flex !important;
	align-items: stretch !important;
	flex-wrap: wrap;
	gap: 6px !important;
	margin: 0 0 18px !important;
	padding: 6px !important;
	border: 1px solid var(--hbil-border) !important;
	border-radius: var(--hbil-radius) !important;
	background: var(--hbil-primary-soft) !important;
	clear: both;
}
.tab_bar:after { display: none; }
.tab_bar > li {
	float: none !important;
	margin: 0 !important;
	list-style: none !important;
}
.tab_bar > li > a {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 10px 18px !important;
	font-size: 13.5px !important;
	font-weight: 600 !important;
	color: var(--hbil-text-soft) !important;
	background: transparent !important;
	border: 1px solid transparent !important;
	border-bottom: none !important;
	border-radius: 8px !important;
	margin-bottom: 0 !important;
	text-decoration: none !important;
	transition: all 0.15s ease;
}
.tab_bar > li > a:hover {
	color: var(--hbil-primary) !important;
	background: rgba(255,255,255,0.65) !important;
}
.tab_bar > li.tc-selected > a,
.tab_bar > li.tc-selected > a:hover {
	color: #fff !important;
	background: var(--hbil-primary) !important;
	border-color: var(--hbil-primary) !important;
	border-bottom-color: var(--hbil-primary) !important;
	box-shadow: 0 2px 6px rgba(15,118,110,0.20);
}
/* underline 타입 (구버전 호환) */
.tab_bar.type_underline {
	background: transparent !important;
	border: none !important;
	border-bottom: 1px solid var(--hbil-border) !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.tab_bar.type_underline > li > a {
	border-radius: 0 !important;
	border-bottom: 2px solid transparent !important;
	padding: 12px 18px !important;
}
.tab_bar.type_underline > li.tc-selected > a {
	background: transparent !important;
	color: var(--hbil-primary) !important;
	border-color: transparent !important;
	border-bottom-color: var(--hbil-primary) !important;
	box-shadow: none;
}
/* small 변형 (간격 축소) */
.tab_bar.type_small > li > a { padding: 7px 14px !important; font-size: 13px !important; }

/* panels (탭 콘텐츠) */
.panels {
	background: #fff;
	border: 1px solid var(--hbil-border);
	border-radius: var(--hbil-radius);
	padding: 20px;
	margin: 0;
	clear: both;
}
.panels .tc-panel { display: none; }
.panels .tc-panel.tc-selected { display: block; }

/* ============================================================
   배지 헬퍼 (.h_badge)
   ============================================================ */
.h_badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 4px 10px;
	font-size: 11.5px;
	font-weight: 600;
	border-radius: 999px;
	letter-spacing: -0.01em;
}
.h_badge.is_teal    { background: var(--hbil-primary-soft); color: var(--hbil-primary); }
.h_badge.is_emerald { background: var(--hbil-accent-soft);  color: var(--hbil-accent-hover); }
.h_badge.is_dark    { background: var(--hbil-dark);  color: #fff; }
.h_badge.is_amber   { background: #FEF3C7; color: #B45309; }
.h_badge.is_red     { background: #FEE2E2; color: #DC2626; }
.h_badge.is_outline { background: transparent; border: 1px solid var(--hbil-border); color: var(--hbil-text-soft); }
