/* swin-member.css — 2026-10-12 SWIN 디자인 정리 (봇4: 회원 공고 카드·번호복사·참가신청·계산 팝업)
   토큰·공통 컴포넌트(.swin-badge/.swin-copy/.swin-num/.swin-help)는 swin-ds.css 담당. 여기는 회원 화면 배치·위계만.
   bid-price.css의 기존 회원 규칙(.bps-member-bid-home …)보다 뒤에 로드되므로 같은 범위 + 한 단계 더 구체적으로 덮는다. */

/* ---------- 카드 위계: 공고번호 → 공고명 → 핵심 숫자(기초금액·마감) → 상태 배지 → 버튼 ---------- */
.bps-member-bid-home .bps-member-notice-card { gap: 10px; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-big.swin-num,
.bps-member-bid-home .bps-member-modal .bps-modal-code-big.swin-num {
	font-family: var(--swin-font, 'Pretendard', sans-serif);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.01em;
	font-variant-numeric: tabular-nums;
	color: var(--swin-text, #171717);
	overflow-wrap: anywhere;
}
.bps-member-bid-home .bps-copy-inline.swin-copy {
	min-height: 44px;
	min-width: 56px;
	padding: 0 14px;
	font-size: 16px;
	font-weight: 600;
	touch-action: manipulation;
}
.bps-member-bid-home .bps-copy-inline.swin-copy.is-copied::before { content: '✓ '; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-title {
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	max-width: 60ch;
}
.bps-member-bid-home .bps-member-notice-card .bps-card-amount strong,
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-deadline strong {
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}
.bps-member-bid-home .bps-member-notice-card .bps-card-amount strong { font-size: 20px; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-deadline { font-size: 16px; font-weight: 500; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-deadline strong { font-size: 17px; }
.bps-member-bid-home .bps-member-notice-card .bps-card-sub,
.bps-member-bid-home .bps-member-notice-card .bps-card-org { font-size: 15px; color: var(--swin-text-2, #374151); }
.bps-member-bid-home .bps-member-notice-card .bps-my-price strong { font-weight: 700; font-variant-numeric: tabular-nums; }

/* 상태 배지 줄 — 비면 자리도 차지하지 않음 */
.bps-member-bid-home .bps-member-card-status { display: flex; flex-wrap: wrap; justify-content: flex-start; align-self: stretch; gap: 6px; margin: 0; }
/* 마감 줄의 D-day 칩은 글자만(⚠는 상태 배지 쪽에 한 번만) */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-deadline.is-urgent .bps-dl-dday::before { content: none; }
.bps-member-bid-home .bps-member-card-status:not(:has(*)) { display: none; }
/* 기존 .bps-badge / .bps-badge-dday.is-urgent 색 규칙보다 swin 배지 색이 이기게 */
.bps-member-bid-home .bps-member-card-status .bps-badge-dday { margin-left: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-badge { font-size: 15px; }
.bps-member-bid-home .bps-badge.swin-badge { font-size: 15px; font-weight: 600; padding: 3px 10px; border-radius: 999px; }
.bps-member-bid-home .bps-badge.swin-badge--warn { background: var(--swin-warn-bg, #FFF4DB); border-color: var(--swin-warn-line, #D99A1E); color: var(--swin-warn-fg, #7A4500); }
.bps-member-bid-home .bps-badge.swin-badge--muted { background: var(--swin-muted-bg, #EEF0F2); border-color: var(--swin-muted-line, #9CA3AF); color: var(--swin-muted-fg, #374151); }
.bps-member-bid-home .bps-badge.swin-badge--warn::before { content: '⚠'; }

/* 안내(버튼이 하는 일) */
.bps-member-bid-home .swin-help { font-size: 15px; line-height: 1.6; max-width: 70ch; }
.bps-member-bid-home .bps-apply-impact { flex: 1 1 100%; margin: 0; }
.bps-member-bid-home .bps-apply-checkbox { min-height: 48px; font-size: 16px; font-weight: 600; }

/* ---------- 모달(입찰가 설정·상세보기) ---------- */
.bps-member-bid-home .bps-member-modal .bps-modal { position: relative; box-sizing: border-box; overscroll-behavior: contain; }
.bps-member-bid-home .bps-member-modal h3 { font-size: 20px; font-weight: 700; line-height: 1.4; }
.bps-member-bid-home .bps-member-modal .bps-modal-code-label { font-size: 15px; color: var(--swin-text-muted, #4B5563); }
.bps-member-bid-home .bps-member-modal .bps-modal-code-row { flex-wrap: wrap; }
.bps-member-bid-home .bps-member-modal .bps-detail-calc-panel h4 { font-size: 18px; font-weight: 700; margin: 0 0 12px; color: var(--swin-text, #171717); }
.bps-member-bid-home .bps-member-modal .bps-detail-table th { font-weight: 500; color: var(--swin-text-2, #374151); }
.bps-member-bid-home .bps-member-modal .bps-detail-table td { font-weight: 500; color: var(--swin-text, #171717); overflow-wrap: anywhere; }
.bps-member-bid-home .bps-member-modal .bps-detail-table td.swin-num { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bps-member-bid-home .bps-member-modal .bps-detail-table td.is-unknown { color: var(--swin-text-2, #374151); }
/* 계산 결과·미리보기 금액: 크게 600, 숫자 폭 고정 */
.bps-member-bid-home .bps-member-modal .bps-calc-preview-row,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-label { font-size: 16px; }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-label,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-label { color: var(--swin-text-2, #374151); font-weight: 500; }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-rate,
.bps-member-bid-home .bps-member-modal .bps-calc-preview-amount,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-value { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; color: var(--swin-text, #111827); }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-amount,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-amount { font-size: 22px; }
.bps-member-bid-home .bps-member-modal .bps-recommend-bucket-amount,
.bps-member-bid-home .bps-member-modal .bps-recommend-bucket-rate { font-variant-numeric: tabular-nums; font-weight: 600; }
.bps-member-bid-home .bps-member-modal .bps-recommend-bucket { min-height: 44px; }
.bps-member-bid-home .bps-member-modal .bps-field-row { font-size: 16px; font-weight: 500; }
.bps-member-bid-home .bps-member-modal .bps-calc-temp-adjust,
.bps-member-bid-home .bps-member-modal input[name="manual_price"] { min-height: 44px; font-size: 18px; font-variant-numeric: tabular-nums; box-sizing: border-box; max-width: 100%; }
.bps-member-bid-home .bps-member-modal .bps-modal-btns .bps-btn { min-height: 48px; }
.bps-member-bid-home .bps-member-modal details > summary { padding: 10px 0; line-height: 1.5; cursor: pointer; font-size: 16px; font-weight: 600; }
.bps-member-bid-home .bps-member-modal .bps-comment { font-size: 15px; color: var(--swin-text-2, #374151); }

/* ---------- 물품등록 확인 안내(#bps-item-popup, 인라인 스타일을 덮어 읽기 좋게) ---------- */
#bps-item-popup > div:focus { outline: none; }
#bps-item-popup h3 { font-size: 20px; font-weight: 700; line-height: 1.4; }
#bps-item-popup .bps-comment { font-size: 15px; line-height: 1.6; color: var(--swin-text-2, #374151); }
#bps-item-popup .bps-item-popup-notice > div:first-child { font-size: 17px; line-height: 1.5; }
#bps-item-popup .bps-item-popup-notice > div:first-child b { font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; }
#bps-item-popup table { font-size: 15px !important; line-height: 1.5; }
#bps-item-popup th { font-size: 15px; font-weight: 600; color: var(--swin-text-2, #374151); padding: 6px 8px 6px 0; border-bottom: 1px solid var(--swin-border, #E5E7EB); white-space: nowrap; }
#bps-item-popup td { padding: 8px 8px 8px 0; vertical-align: top; font-variant-numeric: tabular-nums; border-bottom: 1px solid var(--swin-border, #E5E7EB); }
#bps-item-popup td .bps-comment { font-size: 15px; }
@media (min-width: 641px) { #bps-item-popup td:nth-child(2), #bps-item-popup td:nth-child(3) { min-width: 8em; } } /* 품명·분류가 2~3글자마다 끊기지 않게 */
/* 버튼 줄은 항상 보이게(긴 목록 아래로 숨지 않음) */
#bps-item-popup .bps-btn { min-height: 44px; font-size: 16px; }
@media (max-width: 640px) {
	#bps-item-popup { padding: 0 !important; align-items: flex-end !important; }
	/* 표 → 카드형(머리글은 data-label, swin-member.js가 붙임) */
	#bps-item-popup table, #bps-item-popup tbody, #bps-item-popup tr, #bps-item-popup td { display: block; width: 100%; box-sizing: border-box; }
	#bps-item-popup tr:first-child:has(th) { display: none; }
	#bps-item-popup tr.bps-item-row { padding: 8px 0; border-bottom: 1px solid var(--swin-border, #E5E7EB); }
	#bps-item-popup td { padding: 2px 0; border: 0; }
	#bps-item-popup td[data-label]::before { content: attr(data-label) ' '; font-size: 15px; font-weight: 600; color: var(--swin-text-2, #374151); margin-right: 6px; }
}

/* ---------- 모바일 360/390 ---------- */
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-big.swin-num,
	.bps-member-bid-home .bps-member-modal .bps-modal-code-big.swin-num { font-size: 21px; }
	.bps-member-bid-home .bps-member-modal.is-open { align-items: flex-end; }
	/* 상세 표: 항목명 위, 값 아래(가로 넘침 방지) */
	.bps-member-bid-home .bps-member-modal .bps-detail-table,
	.bps-member-bid-home .bps-member-modal .bps-detail-table tbody,
	.bps-member-bid-home .bps-member-modal .bps-detail-table tr,
	.bps-member-bid-home .bps-member-modal .bps-detail-table th,
	.bps-member-bid-home .bps-member-modal .bps-detail-table td { display: block; width: auto; }
	.bps-member-bid-home .bps-member-modal .bps-detail-table th { padding: 10px 0 0; white-space: normal; font-size: 15px; border-top: 1px solid var(--swin-border, #E5E7EB); }
	.bps-member-bid-home .bps-member-modal .bps-detail-table tr:first-child th { border-top: 0; }
	.bps-member-bid-home .bps-member-modal .bps-detail-table td { padding: 2px 0 10px; border-top: 0 !important; }
	.bps-member-bid-home .bps-member-modal .bps-detail-calc-panel { padding: 14px 12px; }
	.bps-member-bid-home .bps-member-modal .bps-modal-btns { flex-wrap: wrap; }
	.bps-member-bid-home .bps-member-modal .bps-modal-btns .bps-btn,
	.bps-member-bid-home .bps-member-modal .bps-modal-btns .bps-inline-form { flex: 1 1 100%; }
	.bps-member-bid-home .bps-member-modal .bps-modal-btns .bps-inline-form .bps-btn { width: 100%; }
	.bps-member-bid-home .bps-member-modal .bps-field-row { flex-wrap: wrap; }
	.bps-member-bid-home .bps-member-modal .bps-calc-temp-adjust { width: 100%; }
	/* 미리보기·저장 금액: 라벨 위, 금액 아래 한 줄(숫자 중간 줄바꿈 금지) */
	.bps-member-bid-home .bps-member-modal .bps-calc-preview-row { flex-wrap: wrap; }
	.bps-member-bid-home .bps-member-modal .bps-calc-preview-label { flex: 1 1 100%; }
	.bps-member-bid-home .bps-member-modal .bps-calc-preview-row > span:last-child { margin-left: auto; }
}
.bps-member-bid-home .bps-member-modal .bps-calc-preview-amount,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-amount,
.bps-member-bid-home .bps-member-notice-card .bps-card-amount strong { white-space: nowrap; }
/* "적합이 아님을 확인" 체크 — 글자까지 눌러도 되게 44px 줄 */
.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > label:not(.bps-field-row) { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 16px; font-weight: 500; }
.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > label:not(.bps-field-row) input { width: 20px; height: 20px; flex: none; }

/* ---------- 2차(봇5 #8·#10) ---------- */
/* 한전 SRM·자동입력 도우미 줄: 배지 줄 / 설명 줄 / 버튼 줄로 나눔(kepco-apply.php·autobid.php 마크업 그대로, 순서만 CSS) */
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--swin-border, #E5E7EB); }
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-badge { order: 0; flex: 0 0 auto; }
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-comment,
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-notice-flag-warn { order: 1; flex: 1 1 100%; margin: 0; font-size: 15px; line-height: 1.6; color: var(--swin-text-2, #374151); }
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-inline-form,
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-btn,
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block > .bps-kepco-need-ext { order: 2; flex: 0 0 auto; }
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block .bps-btn { min-height: 44px; }
.bps-member-bid-home .bps-member-notice-card .bps-autobid-block details > summary { padding: 10px 0; cursor: pointer; font-weight: 600; }
/* "안내" 펼침 안 도우미 받기 링크: 44px 누르기 영역 */
.bps-member-bid-home .bps-member-help .bps-comment a { display: inline-flex; align-items: center; min-height: 44px; font-weight: 600; }

/* ===================== 보정 라운드 B (2026-10-12 밤) =====================
   위계 통일: 오늘 처리할 공고(제목) → 큰 공고번호+복사 → 마감/가격/참가신청 사실 줄 → 다음 행동.
   색 역할: 본문 var(--bs-ink, #111827), 보조 var(--bs-ink-2, #475569), 바탕 var(--bs-fill, #F5F6F8), 패널 흰색. 카드 안 카드·무거운 그림자 제거.
   버튼·배지·표·팝업 모양은 관리자와 같은 .swin-btn/.swin-badge/.swin-table/.swin-dialog 규칙(봇1)에 맞춘다. */
body.bps-member-home { background: var(--bs-fill, #F5F6F8); }
/* 바깥 흰 패널 + 안쪽 흰 카드(카드 안 카드) → 바깥 패널은 바탕과 같게 */
body.bps-member-home .bps-panel.bps-bid-suite { background: transparent; border: 0; box-shadow: none; }
body.bps-member-home .bps-bid-suite-panel { background: transparent; }

/* ① 화면 제목 */
.bps-member-bid-home .bps-member-bid-title.swin-title { margin: 0 0 4px; font-size: 28px; font-weight: 700; line-height: 1.3; color: var(--bs-ink, #111827); letter-spacing: -0.01em; }
.bps-member-bid-home .bps-member-bid-summary { font-size: 16px; font-weight: 500; color: var(--bs-ink-2, #475569); }

/* 카드: 흰 패널 한 겹, 얇은 테두리, 그림자 없음 */
.bps-member-bid-home .bps-member-notice-card { background: #fff; border: 1px solid var(--bs-line, #E2E5EA); border-radius: 12px; box-shadow: none; padding: 20px; gap: 12px; }
.bps-member-bid-home .bps-member-notice-card:hover { box-shadow: none; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-label { font-size: 14px; font-weight: 400; color: var(--bs-ink-2, #475569); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-big.swin-num { color: var(--bs-ink, #111827); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-title { color: var(--bs-ink, #111827); word-break: keep-all; }

/* ③ 사실 줄: 마감 / 기초금액 / 기준금액 / 참가신청 */
.bps-member-bid-home .bps-member-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 12px 20px; margin: 0; padding: 12px 0; border-top: 1px solid var(--bs-line, #EEF0F3); border-bottom: 1px solid var(--bs-line, #EEF0F3); }
.bps-member-bid-home .bps-member-fact { display: flex; flex-direction: column; gap: 2px; min-width: 0; margin: 0; background: none; }
.bps-member-bid-home .bps-member-fact-label { font-size: 14px; font-weight: 400; line-height: 1.4; color: var(--bs-ink-2, #475569); }
.bps-member-bid-home .bps-member-fact-value { font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--bs-ink, #111827); word-break: keep-all; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
.bps-member-bid-home .bps-member-notice-card .bps-member-fact-value strong { font-size: 18px; font-weight: 600; color: var(--bs-ink, #111827); font-variant-numeric: tabular-nums; white-space: normal; }
.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong { font-size: 20px; white-space: nowrap; }
.bps-member-bid-home .bps-member-notice-card .bps-member-fact.bps-notice-card-deadline { font-size: 16px; }
.bps-member-bid-home .bps-member-fact .bps-dl-dday { display: inline-block; margin-left: 4px; padding: 0 8px; border-radius: 6px; background: var(--bs-line, #EEF0F2); font-size: 15px; font-weight: 600; color: var(--bs-ink, #111827); }
.bps-member-bid-home .bps-member-fact-apply.is-warn .bps-member-fact-value strong { color: #7A4500; }
.bps-member-bid-home .bps-member-fact-apply.is-warn .bps-member-fact-value strong::before { content: '⚠ '; }
.bps-member-bid-home .bps-member-fact-apply.is-ok .bps-member-fact-value strong { color: #0B6B3A; }
.bps-member-bid-home .bps-member-fact-apply.is-ok .bps-member-fact-value strong::before { content: '✓ '; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-meta { gap: 2px; }
.bps-member-bid-home .bps-member-notice-card .bps-card-org,
.bps-member-bid-home .bps-member-notice-card .bps-card-sub,
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-note { font-size: 15px; font-weight: 400; color: var(--bs-ink-2, #475569); }

/* 카드 안 상자 줄이기: 경고는 왼쪽 막대만, 내 투찰금액은 테두리 없는 옅은 줄, 선택 입력 접힘은 테두리 없음 */
.bps-member-bid-home .bps-member-notice-card .bps-notice-flag-warn { border: 0; border-left: 4px solid #D99A1E; border-radius: 0 6px 6px 0; background: #FFF8E8; font-weight: 600; }
.bps-member-bid-home .bps-member-notice-card .bps-flag-calc.bps-my-price { border: 0; border-radius: 8px; background: var(--bs-fill, #F5F6F8); color: var(--bs-ink, #111827); }
.bps-member-bid-home .bps-member-notice-card .bps-my-price-label { color: var(--bs-ink-2, #475569); font-weight: 400; font-size: 14px; }
.bps-member-bid-home .bps-member-notice-card .bps-my-price strong { color: var(--bs-ink, #111827); font-weight: 700; }

/* ④ 버튼: 관리자와 같은 .swin-btn 모양(빨강 = 주요 행동 1개) */
.bps-member-bid-home .swin-btn.bps-btn { min-height: 44px; padding: 0 16px; border-radius: 8px; border: 1px solid var(--bs-border-strong, #8A919C); background: #fff; color: var(--bs-ink, #111827); font-size: 16px; font-weight: 600; box-shadow: none; text-shadow: none; }
.bps-member-bid-home .swin-btn.bps-btn:hover { background: var(--bs-fill, #F1F2F4); color: var(--bs-ink, #111827); }
.bps-member-bid-home .swin-btn.swin-btn--primary.bps-btn:not(.bps-autobid-open) { background: var(--swin-primary-bg); border-color: var(--swin-primary-line); color: var(--swin-primary-fg); box-shadow: var(--swin-primary-shadow); }
.bps-member-bid-home .swin-btn.swin-btn--primary.bps-btn:not(.bps-autobid-open):hover { background: var(--swin-primary-bg-hover); border-color: var(--swin-primary-line-hover); color: var(--swin-primary-fg); }
.bps-member-bid-home .swin-btn.bps-btn:disabled { background: var(--bs-fill, #F1F2F4); border-color: var(--bs-line, #E5E7EB); color: var(--bs-ink-3, #6B7280); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .swin-btn.bps-btn { min-height: 48px; }
.bps-member-bid-home .bps-copy-inline.swin-copy { border: 1px solid var(--bs-border-strong, #8A919C); border-radius: 8px; background: #fff; color: var(--bs-ink, #111827); box-shadow: none; }
.bps-member-bid-home .bps-apply-checkbox { border: 1px solid var(--bs-border-strong, #8A919C); border-radius: 8px; background: #fff; color: var(--bs-ink, #111827); }

/* 팝업: .swin-dialog 한 겹(안쪽 회색 상자 → 구분선 + 소제목) */
.bps-member-bid-home .bps-member-modal .bps-detail-calc-panel { border: 0; border-top: 1px solid var(--bs-line, #E2E5EA); border-radius: 0; background: none; padding: 16px 0 0; }
.bps-member-bid-home .bps-member-modal .bps-detail-calc-panel h4 { font-size: 18px; font-weight: 700; color: var(--bs-ink, #111827); }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-display,
.bps-member-bid-home .bps-member-modal .bps-calc-saved-display { border: 0; border-radius: 8px; background: var(--bs-fill, #F5F6F8); }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-display.is-out-of-range { background: var(--bs-danger-tint, #FFF8E8); box-shadow: inset 4px 0 0 var(--bs-danger-line, #D99A1E); }
/* 상세 표 = .swin-table 모양 */
.bps-member-bid-home .bps-member-modal .bps-detail-table th { font-size: 14px; font-weight: 500; color: var(--bs-ink-2, #475569); padding: 10px 12px 10px 0; }
.bps-member-bid-home .bps-member-modal .bps-detail-table td { font-size: 16px; font-weight: 500; color: var(--bs-ink, #111827); padding: 10px 0; word-break: keep-all; }
.bps-member-bid-home .bps-member-modal .bps-detail-table tr + tr th,
.bps-member-bid-home .bps-member-modal .bps-detail-table tr + tr td { border-top-color: var(--bs-line, #EEF0F3); }
.bps-member-bid-home .bps-member-modal .bps-detail-table td.swin-num { font-size: 18px; font-weight: 600; }
.bps-member-bid-home .bps-member-modal .bps-comment,
.bps-member-bid-home .bps-member-modal .swin-help { color: var(--bs-ink-2, #475569); }
.bps-member-bid-home .bps-member-modal .bps-modal-code-label { font-size: 14px; font-weight: 400; color: var(--bs-ink-2, #475569); }

/* 물품등록 확인 안내도 같은 팝업 모양 */
#bps-item-popup h3 { font-size: 22px; color: var(--bs-ink, #111827); }
#bps-item-popup .bps-comment { color: var(--bs-ink-2, #475569); }
#bps-item-popup th { font-size: 14px; font-weight: 500; color: var(--bs-ink-2, #475569); background: var(--bs-fill, #F5F6F8); padding: 8px 10px; }
#bps-item-popup td { padding: 10px; border-bottom-color: var(--bs-line, #EEF0F3); color: var(--bs-ink, #111827); }
#bps-item-popup .swin-btn.bps-btn { min-height: 44px; border-radius: 8px; border: 1px solid var(--bs-border-strong, #8A919C); background: #fff; color: var(--bs-ink, #111827); font-weight: 600; box-shadow: none; }
#bps-item-popup .swin-btn.swin-btn--primary.bps-btn { background: var(--swin-primary-bg); border-color: var(--swin-primary-line); color: var(--swin-primary-fg); }
@media (max-width: 640px) {
	#bps-item-popup td { padding: 2px 0; }
	#bps-item-popup td[data-label]::before { font-size: 14px; font-weight: 400; color: var(--bs-ink-2, #475569); }
}
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-bid-title.swin-title { font-size: 24px; }
	.bps-member-bid-home .bps-member-notice-card { padding: 16px; }
	.bps-member-bid-home .bps-member-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; }
	.bps-member-bid-home .bps-member-facts .bps-notice-card-deadline { grid-column: 1 / -1; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong { font-size: 18px; }
	.bps-member-bid-home .bps-member-modal .bps-detail-table th { padding: 10px 0 0; }
	.bps-member-bid-home .bps-member-modal .bps-detail-table td { padding: 2px 0 10px; }
}
/* 보정 B 2: 사실 4칸이 PC에서 한 줄, 참가신청 마감시각은 값 아래 작은 줄 */
.bps-member-bid-home .bps-member-facts { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }
.bps-member-bid-home .bps-member-fact-sub { display: block; font-size: 14px; font-weight: 500; color: var(--bs-ink-2, #475569); }
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-apply-checkbox,
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .swin-btn,
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-inline-form { flex: 1 1 100%; }
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-inline-form .swin-btn { width: 100%; }
}
/* 보정 B 3: 사실 줄은 flex — 마감 칸을 넓게(날짜·시각이 중간에서 안 끊기게) */
.bps-member-bid-home .bps-member-facts { display: flex; flex-wrap: wrap; }
.bps-member-bid-home .bps-member-fact { flex: 1 1 120px; }
.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline { flex: 1.6 1 200px; }
.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { white-space: nowrap; }
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline { flex-basis: 100%; }
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { white-space: normal; }
	.bps-member-bid-home .bps-member-fact { flex: 1 1 40%; }
}

/* 보정 B 4: 팝업 = .swin-dialog 머리/본문/바닥 구조(봇1). 머리·바닥 고정, 본문만 스크롤. */
.bps-member-bid-home .bps-member-modal .bps-modal.swin-dialog { display: flex; flex-direction: column; width: min(760px, calc(100vw - 32px)); max-width: none; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
.bps-member-bid-home .bps-member-modal .bps-modal.swin-dialog:has(.bps-detail-columns.has-calc) { width: min(1080px, calc(100vw - 32px)); }
.bps-member-bid-home .bps-member-modal .swin-dialog__title { margin: 0; font-size: 20px; font-weight: 700; line-height: 1.4; color: var(--bs-ink, #111827); word-break: keep-all; }
.bps-member-bid-home .bps-member-modal .swin-dialog__body { overscroll-behavior: contain; }
.bps-member-bid-home .bps-member-modal .swin-dialog__foot { margin: 0; }
.bps-member-bid-home .bps-member-modal .bps-modal-code-header { margin: 0 0 12px; }
#bps-item-popup > div.swin-dialog { display: flex; flex-direction: column; max-height: calc(100dvh - 32px); padding: 0; overflow: hidden; }
#bps-item-popup > div.swin-dialog:focus { outline: none; }
#bps-item-popup .swin-dialog__title { margin: 0; font-size: 20px; }
#bps-item-popup .swin-dialog__body { overscroll-behavior: contain; }
@media (max-width: 640px) {
	#bps-item-popup > div.swin-dialog { max-height: 92dvh; border-radius: 14px 14px 0 0; }
	#bps-item-popup .swin-dialog__foot { flex-direction: row; }
	#bps-item-popup .swin-dialog__foot .swin-btn { flex: 1 1 45%; width: auto; }
}
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-modal .bps-modal.swin-dialog { width: 100%; max-height: 92dvh; border-radius: 14px 14px 0 0; }
}
/* 모바일 아래 시트: 공통 .swin-dialog 의 margin:auto(가운데)를 풀어 화면 아래에 붙인다 */
@media (max-width: 640px) { #bps-item-popup > div.swin-dialog { margin: auto 0 0; } }
@media (max-width: 600px) { .bps-member-bid-home .bps-member-modal .bps-modal.swin-dialog { margin: auto 0 0; } }
.bps-member-bid-home .bps-member-modal .bps-modal.swin-dialog { margin: auto; }
/* 모바일 사실 줄: 한 줄에 하나(라벨 왼쪽 · 값 오른쪽) — 금액이 두 칸에서 겹치던 문제 */
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-facts { flex-direction: column; gap: 6px; }
	.bps-member-bid-home .bps-member-fact,
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline { flex: none; flex-direction: row; justify-content: space-between; align-items: baseline; gap: 12px; }
	.bps-member-bid-home .bps-member-fact-label { flex: none; }
	.bps-member-bid-home .bps-member-fact-value { text-align: right; }
	.bps-member-bid-home .bps-member-notice-card .bps-member-fact-value strong { font-size: 17px; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong { font-size: 18px; }
}
/* 보정 B 5: PC 사실 줄 = 고정 4칸 그리드(카드마다 같은 자리, 겹침 없음). 마감 쌍은 두 줄. */
@media (min-width: 601px) {
	.bps-member-bid-home .bps-member-facts { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)); gap: 12px 16px; }
	.bps-member-bid-home .bps-member-fact,
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline { flex: none; min-width: 0; }
	.bps-member-bid-home .bps-member-fact.bps-member-fact-apply { grid-column: 4; }
}
.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { white-space: normal; font-size: 17px; }
.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong { white-space: normal; overflow-wrap: anywhere; }
.bps-member-bid-home .bps-member-dl-line { display: block; white-space: normal; word-break: normal; overflow-wrap: anywhere; } /* 나라장터 참가등록·투찰 이름표가 옆 칸(기초금액) 위로 넘치지 않게 — 4.13.16 검수 */
.bps-member-bid-home .bps-member-dl-tag { display: block; font-size: 14px; font-weight: 400; color: var(--bs-ink-2, #475569); }
@media (max-width: 600px) { .bps-member-bid-home .bps-member-dl-line { display: block; text-align: right; } }
/* 보정 B 6: 금액은 한 줄(숫자 중간 줄바꿈 금지) — 칸 비율·크기로 맞춤 */
@media (min-width: 601px) {
	.bps-member-bid-home .bps-member-facts { grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, .85fr); gap: 12px 14px; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong,
	.bps-member-bid-home .bps-member-notice-card .bps-member-fact:not(.bps-notice-card-deadline):not(.bps-member-fact-apply) .bps-member-fact-value strong { font-size: 17px; white-space: nowrap; }
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { font-size: 16px; }
}
@media (min-width: 1500px) {
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong { font-size: 19px; }
}
/* 보정 B 7: 카드 폭 기준(container query) — 넓은 카드 4칸, 좁은 카드 2×2. 참가신청은 항상 오른쪽 끝 칸. D-day 칩은 날짜 아래 줄. */
.bps-member-bid-home .bps-member-notice-card { container-type: inline-size; }
@media (min-width: 601px) {
	.bps-member-bid-home .bps-member-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bps-member-bid-home .bps-member-fact.bps-member-fact-apply { grid-column: 2; }
	.bps-member-bid-home .bps-member-fact .bps-dl-dday { display: table; margin: 2px 0 0; }
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { font-size: 17px; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong,
	.bps-member-bid-home .bps-member-notice-card .bps-member-fact:not(.bps-notice-card-deadline):not(.bps-member-fact-apply) .bps-member-fact-value strong { font-size: 19px; }
}
@container (min-width: 640px) {
	.bps-member-bid-home .bps-member-facts { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, .8fr); }
	.bps-member-bid-home .bps-member-fact.bps-member-fact-apply { grid-column: 4; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong,
	.bps-member-bid-home .bps-member-notice-card .bps-member-fact:not(.bps-notice-card-deadline):not(.bps-member-fact-apply) .bps-member-fact-value strong { font-size: 18px; }
}
/* 보정 B 8: 접힘(안내·담당자 메모) = 관리자와 같은 .swin-advanced. bid-price.css의 .bps-member-fold 안쪽 여백만 풀어 준다. */
.bps-member-bid-home .bps-member-fold.swin-advanced > :not(summary) { margin-left: 0; margin-right: 0; }
.bps-member-bid-home .bps-member-fold.swin-advanced[open] { background: var(--swin-surface, #fff); }
/* 카드 제목: 모바일은 긴 합성어도 줄 끝에서 끊기게(keep-all 때문에 첫 줄에 한 단어만 남던 문제), PC는 단어 단위 유지 */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-title { word-break: normal; overflow-wrap: anywhere; }
@media (min-width: 641px) { .bps-member-bid-home .bps-member-notice-card .bps-notice-card-title { word-break: keep-all; } }
.bps-member-bid-home .bps-member-fold.swin-advanced > summary::before,
.bps-member-bid-home .bps-member-fold.swin-advanced[open] > summary::before { content: ''; color: inherit; }

/* ===== 라운드 C (2026-10-13) 밀도: 첫 화면에 카드·핵심정보·주 행동이 더 보이게. 위계(번호→제목→숫자→상태→행동)는 그대로. =====
   이 블록이 파일 맨 끝이라 위의 같은 선택자를 덮는다. 토큰·색은 라운드 B 그대로. */
/* 위쪽: 제목·안내·필터 간격 줄이기 */
.bps-member-bid-home .bps-member-bid-intro { margin: 0 0 12px; }
.bps-member-bid-home .bps-member-bid-intro .bps-member-bid-summary { margin: 0 0 8px; }
.bps-member-bid-home .bps-member-help.swin-advanced { margin: 0; }
.bps-member-bid-home .bps-member-help.swin-advanced:not([open]) > summary { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.bps-member-bid-home .bps-member-filterbar { margin-bottom: 8px; }
.bps-member-bid-home .bps-member-filterbar .bps-bid-chiprow { margin-bottom: 0; }
.bps-member-bid-home .bps-member-step-tabs { margin: 0 0 12px; }
.bps-member-bid-home .bps-member-step-tab { min-height: 44px; padding: 0 12px; }
.bps-member-bid-home .bps-notice-card-grid { gap: 12px; align-items: start; }  /* 옆 카드가 길어도 빈 흰 칸으로 늘이지 않음 */
.bps-member-home .bps-member-topbar { padding-top: 8px; padding-bottom: 8px; }
.bps-member-home .bps-member-content:has(.bps-bid-suite) { padding-top: 16px; }
/* 카드: 안쪽 여백·간격 */
.bps-member-bid-home .bps-member-notice-card { padding: 16px 18px; gap: 8px; }
/* 공고번호: 라벨을 번호 앞 같은 줄로(번호 크기 22px 유지) */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-block { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-label { display: inline; margin: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-code-big { min-height: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-title { margin: 0; font-size: 18px; line-height: 1.4; }
/* 사실 줄: 카드 폭 520px 이상이면 4칸 한 줄 */
.bps-member-bid-home .bps-member-facts { padding: 10px 0; gap: 8px 14px; }
@container (min-width: 520px) {
	.bps-member-bid-home .bps-member-facts { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, .8fr); }
	.bps-member-bid-home .bps-member-fact.bps-member-fact-apply { grid-column: 4; }
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { white-space: nowrap; }
	.bps-member-bid-home .bps-member-notice-card .bps-card-amount .bps-member-fact-value strong,
	.bps-member-bid-home .bps-member-notice-card .bps-member-fact:not(.bps-notice-card-deadline):not(.bps-member-fact-apply) .bps-member-fact-value strong { font-size: 17px; }
	.bps-member-bid-home .bps-member-fact.bps-notice-card-deadline strong { font-size: 16px; }
}
/* 기관·물품번호·분배: 한 줄씩 쌓지 않고 이어서 흐르게 */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-meta { display: flex; flex-direction: row; flex-wrap: wrap; gap: 0 14px; line-height: 1.5; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions { gap: 8px; margin-top: 2px; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .swin-btn.bps-btn,
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn { min-height: 44px; }
@media (max-width: 600px) {
	/* 회원 위쪽 바: 로고와 링크를 한 줄로 */
	/* 위쪽 바: 들어가면 로고·링크 한 줄, 안 들어가면 링크 줄째 다음 줄(360px 가로넘침 3px 원인 = 안쪽 상자가 글자폭만큼 늘어남 → 폭 100% 고정) */
	.bps-member-home .bps-member-topbar { align-items: stretch; }
	.bps-member-home .bps-member-topbar-inner { width: 100%; min-width: 0; box-sizing: border-box; flex-wrap: wrap; gap: 0 8px; }
	.bps-member-home .bps-member-topbar .bps-topbar-actions { flex-wrap: wrap; gap: 0; width: auto; margin-left: auto; }
	.bps-member-home .bps-member-topbar .bps-topbar-actions a { padding: 0 6px; font-size: 14px; white-space: nowrap; }
	.bps-member-bid-home .bps-member-bid-title.swin-title { font-size: 22px; }
	.bps-member-bid-home .bps-member-notice-card { padding: 14px; }
	.bps-member-bid-home .bps-member-facts { gap: 4px; padding: 8px 0; }
}
/* 라운드 C: 준비상태(봇3 .bps-card-ready) = 배지 옆에 이유를 이어서, 버튼 줄 = 버튼끼리 한 줄 + 설명문은 맨 아래 */
.bps-member-bid-home .bps-member-notice-card .bps-card-ready { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-card-ready-why { display: contents; list-style: none; margin: 0; padding: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-card-ready-why li { margin: 0; padding: 0; font-size: 14px; line-height: 1.5; color: var(--swin-text-2, #475569); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions { flex-wrap: wrap; align-items: center; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .swin-help,
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-official-help { order: 10; flex: 1 1 100%; margin: 0; font-size: 14px; line-height: 1.5; }
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .swin-help,
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-official-help { flex-basis: 100%; }
}
/* 라운드 C 모바일: 채널 칩 = 여러 줄로 감싸 모두 보이게(숨은 가로 스크롤 금지 — "3개만 보인다" 오해 방지), 단계 탭 = 4칸 한 줄(이름 위·건수 아래) */
@media (max-width: 600px) {
	.bps-member-bid-home .bps-member-filterbar .bps-bid-chiprow { flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
	.bps-member-bid-home .bps-member-filterbar .bps-bid-chip { flex: 0 0 auto; min-height: 44px; white-space: nowrap; }
	.bps-member-bid-home .bps-member-step-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
	.bps-member-bid-home .bps-member-step-tab { flex-direction: column; gap: 0; min-width: 0; min-height: 52px; padding: 4px 2px; font-size: 14px; line-height: 1.25; white-space: nowrap; }
	.bps-member-bid-home .bps-member-step-tab .bps-member-step-count { margin: 0; font-size: 14px; }
}
/* 라운드 C: 넓은 PC(1700px 이상)는 화면을 더 쓰고 카드 3열 — 1920에서 한 줄에 3장 */
@media (min-width: 1700px) {
	.bps-member-home .bps-member-topbar-inner,
	.bps-member-home #bps-bid-suite.bps-bid-suite { max-width: 1640px; }
	.bps-member-bid-home .bps-notice-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* 라운드 C: 카드 안 순서 = 번호 → 제목 → 마감·가격·참가신청 → 상태·준비상태 → 다음 행동 → (기관·물품번호·분배, 한전 도우미). 마크업 순서는 그대로, 보이는 순서만 */
.bps-member-bid-home .bps-member-notice-card > .bps-notice-card-meta { order: 3; }
.bps-member-bid-home .bps-member-notice-card > .bps-notice-card-actions { order: 2; }
.bps-member-bid-home .bps-member-notice-card > .bps-autobid-block { order: 4; }
/* 라운드 C: 주 행동 두 개 구분 — 카드마다 빨간 버튼은 1개.
   준비 전(need/blocked·준비상태 없음): [투찰 준비 · 입찰가 계산] = 빨강, [공식 투찰화면 열기] = 흰 바탕 보조(↗).
   준비 완료(data-ready="ready"): [공식 투찰화면 열기] = 빨강, [투찰 준비] = 흰 바탕 보조.
   막힘(disabled): 회색 바탕·회색 글자·점선 테두리 + 아래 이유 문구(.bps-official-help, aria-describedby). */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-card-prepare { background: var(--swin-red); border-color: var(--swin-red); color: #fff; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-card-prepare:hover { background: var(--swin-red-dark); border-color: var(--swin-red-dark); color: #fff; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-official-open { background: #fff; border: 1px solid var(--swin-border-strong); color: var(--swin-text); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-official-open:hover { background: var(--swin-surface-2); color: var(--swin-text); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions a.bps-btn.bps-official-open:not(.bps-autobid-open)::after { content: ' ↗'; }
.bps-member-bid-home .bps-member-notice-card:has(> .bps-card-ready[data-ready="ready"]) .bps-notice-card-actions .bps-btn.bps-official-open { background: var(--swin-red); border-color: var(--swin-red); color: #fff; }
.bps-member-bid-home .bps-member-notice-card:has(> .bps-card-ready[data-ready="ready"]) .bps-notice-card-actions .bps-btn.bps-official-open:hover { background: var(--swin-red-dark); border-color: var(--swin-red-dark); }
.bps-member-bid-home .bps-member-notice-card:has(> .bps-card-ready[data-ready="ready"]) .bps-notice-card-actions .bps-btn.bps-card-prepare { background: #fff; border-color: var(--swin-border-strong); color: var(--swin-text); }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-official-open:disabled,
.bps-member-bid-home .bps-member-notice-card:has(> .bps-card-ready) .bps-notice-card-actions .bps-btn.bps-official-open:disabled { background: var(--bs-fill, #F1F2F4); border: 1px dashed var(--bs-ink-4, #9CA3AF); color: var(--bs-ink-2, #4B5563); opacity: 1; cursor: not-allowed; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn.bps-official-open:disabled::after { content: ' · 지금은 열 수 없음'; font-weight: 500; }  /* 글자로도 막힘 표시(색만으로 전달 금지) */
/* 버튼 순서 고정: 투찰 준비 → 공식 화면 열기 → 나머지(상세보기 등) → 설명문 (예전 "빨간 버튼 맨 앞" order:-1 규칙 무력화) */
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-card-prepare { order: 1; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-official-open,
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions .bps-btn-primary.bps-official-open:not(.bps-autobid-open) { order: 2; }
.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > :not(.bps-card-prepare):not(.bps-official-open):not(.swin-help) { order: 3; }

/* 라운드 C-2: 모바일 카드 버튼 = [투찰 준비][공식 화면 열기] 나란히, 상세보기는 다음 줄 전체 */
@media (max-width: 640px) {
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-card-prepare.swin-btn,
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .bps-official-open.swin-btn { flex: 1 1 calc(50% - 4px); width: auto; min-width: 0; padding: 0 8px; white-space: normal; text-align: center; }
	.bps-member-bid-home .bps-member-notice-card .bps-notice-card-actions > .swin-btn:not(.bps-card-prepare):not(.bps-official-open) { flex: 1 1 100%; }
}
/* 준비상태 "자세히" 접힘: 닫혀 있으면 배지 줄 끝에 붙고, 열면 한 줄 전체 */
.bps-member-bid-home .bps-member-notice-card .bps-card-ready > .bps-card-ready-more { flex: 0 0 auto; margin: 0; }
.bps-member-bid-home .bps-member-notice-card .bps-card-ready > .bps-card-ready-more[open] { flex-basis: 100%; }

/* 계산 미리보기: "허용범위 밖" 같은 문장이 들어오면 금액용 한 줄 고정(nowrap)을 풀어 상자 안에서 줄바꿈 */
.bps-member-bid-home .bps-member-modal .bps-calc-preview-row > span { min-width: 0; }
.bps-member-bid-home .bps-member-modal .bps-calc-preview-display.is-out-of-range .bps-calc-preview-amount { white-space: normal; overflow-wrap: anywhere; word-break: keep-all; text-align: left; }

/* 2026-10-13 밤: 휴대폰 가격 팝업 — 사정율 입력·미리보기·"가격 저장"이 첫 화면에 들어오게.
   보이는 순서만 바꿈(마크업 그대로): 저장값 → 입력 폼 → 공고 정보 표(2칸 압축) → 금액 직접 입력. PC는 그대로. */
@media (max-width: 640px) {
	.bps-member-bid-home .bps-member-modal .bps-modal-code-header { margin-bottom: 4px; }
	.bps-member-bid-home .bps-member-modal .bps-modal-code-header .bps-modal-code-label { display: none; } /* 번호 자체는 크게 그대로, 라벨만 생략(카드와 같은 번호) */
	.bps-member-bid-home .bps-member-modal .bps-calc-member { display: flex; flex-direction: column; gap: 0; padding-top: 8px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member > h4 { margin: 0 0 6px; font-size: 18px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member > .bps-calc-direct-form { order: 1; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member > .bps-detail-table { order: 2; margin-top: 12px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member > .bps-manual-price-block { order: 3; }
	/* 공고 정보 표: 항목명 | 값 2칸 한 줄씩 */
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-detail-table tr { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); column-gap: 10px; border-top: 1px solid var(--swin-border, #E5E7EB); }
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-detail-table tr:first-child { border-top: 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-detail-table th,
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-detail-table td { padding: 6px 0; border-top: 0 !important; font-size: 15px; line-height: 1.45; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-detail-table td.swin-num { font-size: 16px; }
	/* 입력 폼 안: 입력 → 허용범위 → (추천·확인) → 미리보기 → 기본값 저장 → 버튼 → 설명 */
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form { display: flex; flex-direction: column; gap: 6px; margin: 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > * { margin-top: 0; margin-bottom: 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-assess-row { display: flex; flex-wrap: nowrap; align-items: center; gap: 10px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-assess-row > span { flex: 1 1 auto; font-weight: 600; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-assess-row > input { flex: 0 1 9em; min-width: 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-preview-display { margin: 0; padding: 8px 12px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form .bps-calc-preview-row { flex-wrap: nowrap; padding: 2px 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form .bps-calc-preview-row .bps-calc-preview-label { flex: 0 0 auto; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form .bps-calc-preview-row > span:last-child { margin-left: auto; text-align: right; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form .bps-calc-preview-basis { font-size: 14px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form .bps-calc-preview-amount { font-size: 20px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-modal-btns { order: 8; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-modal-btns .bps-btn { width: 100%; min-width: 0; padding: 0 8px; white-space: normal; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-preview { order: 9; font-size: 14px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-impact { order: 10; }
	/* 저장값·추천값 줄: 복사/이 값 넣기 버튼을 줄 끝에 작게(한 줄 전체 차지 금지) */
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-calc-saved-display { margin: 0 0 8px; padding: 8px 12px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-calc-saved-row { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; padding: 2px 0; }
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-calc-saved-row > .bps-btn,
	.bps-member-bid-home .bps-member-modal .bps-calc-member .bps-calc-suggest > .bps-btn { flex: 0 0 auto; width: auto; margin-left: auto; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; }
	.bps-member-bid-home .bps-member-modal .bps-calc-direct-form > label:has(> input[type="checkbox"]) { display: flex; align-items: center; gap: 8px; min-height: 44px; }
}

/* 2026-10-13 밤: 투찰 내역 "마감 지난 미완료 공고" 줄 — PC: 공고 정보 왼쪽 · [제출 시각 입력 + 투찰완료 기록] 오른쪽 묶음 / 휴대폰: 위아래로 */
.bps-bid-history-tab .bps-bid-overdue-section { margin: 24px 0 0; }
.bps-bid-history-tab .bps-bid-overdue-section > summary { padding: 10px 0; cursor: pointer; font-size: 16px; font-weight: 600; line-height: 1.5; color: var(--swin-text, #111827); }
.bps-bid-history-tab .bps-bid-overdue-note { margin: 0 0 8px; font-size: 14px; color: var(--swin-text-2, #475569); }
.bps-bid-history-tab .bps-bid-overdue-section > ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--swin-border, #E5E7EB); }
.bps-bid-history-tab .bps-bid-overdue-section > ul > li { display: flow-root; margin: 0; padding: 12px 0; border-bottom: 1px solid var(--swin-border, #E5E7EB); font-size: 15px; line-height: 1.5; color: var(--swin-text-2, #475569); }
.bps-bid-history-tab .bps-bid-overdue-section > ul > li > strong { display: block; font-size: 16px; color: var(--swin-text, #111827); }
.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 8px; margin: 8px 0 0; }
.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form > label { display: flex; flex-direction: column; gap: 2px; margin: 0; font-size: 14px; color: var(--swin-text-2, #475569); }
.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form input[type="datetime-local"] { min-height: 44px; padding: 0 10px; box-sizing: border-box; border: 1px solid var(--swin-border-strong, #8A919C); border-radius: 8px; font-size: 16px; color: var(--swin-text, #111827); background: #fff; }
.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form > .bps-btn { min-height: 44px; margin: 0; white-space: nowrap; }
@media (min-width: 900px) {
	.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form { float: right; margin: 0 0 0 24px; justify-content: flex-end; }
	.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form > label { max-width: 28em; }
}
@media (max-width: 600px) {
	.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form { flex-direction: column; align-items: stretch; }
	.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form input[type="datetime-local"] { width: 100%; }
	.bps-bid-history-tab .bps-bid-overdue-section li > .bps-inline-form > .bps-btn { width: 100%; white-space: normal; }
}

/* 계산 입력 (봇3) — 사정율 직접 입력·미리보기(2026-10-13). 배치만, 색·글꼴은 공통 토큰 */
.bps-calc-member .bps-calc-assess-row input.bps-calc-member-assess { width: 100%; max-width: 12em; min-height: 44px; font-size: 18px; font-weight: 600; font-variant-numeric: tabular-nums; box-sizing: border-box; }
.bps-calc-member .bps-calc-assess-row input[aria-invalid="true"] { border-color: var(--swin-red, #E10600); }
.bps-calc-member .bps-calc-suggest { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.bps-calc-member .bps-calc-preview-amount { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.bps-calc-member .bps-calc-preview-basis { font-size: 14px; color: var(--swin-text-2, #475569); }
.bps-calc-member .bps-calc-preview-display.is-out-of-range .bps-calc-preview-amount { color: var(--swin-red-dark, #B90400); font-size: 16px; }
.bps-calc-member .bps-calc-save-default { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; }
.bps-calc-member .bps-calc-preview-row { flex-wrap: wrap; min-width: 0; }
.bps-calc-member .bps-calc-preview-amount, .bps-calc-member .bps-calc-preview-basis { min-width: 0; white-space: normal; word-break: keep-all; overflow-wrap: anywhere; }
/* 2026-10-13 투찰 보조(카드 안): 확정 금액 숫자+한글 한 줄, 모바일은 버튼 한 줄에 하나 */
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist-amount { order: 1; flex: 1 1 100%; margin: 0; font-size: 15px; color: var(--swin-text-2, #374151); }
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist-amount strong { font-size: 20px; color: var(--swin-text, #111827); margin-right: 6px; }
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-assist-run,
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .swin-copy,
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-bid-assist-submit { order: 2; min-height: 44px; }
.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-comment:last-child { order: 3; }
.bps-member-bid-home .bps-submit-record-form .bps-field-row { display: flex; flex-direction: column; align-items: stretch; gap: 4px; margin: 0 0 12px; text-align: left; }
.bps-member-bid-home .bps-submit-record-form input[type="text"], .bps-member-bid-home .bps-submit-record-form input[type="datetime-local"] { min-height: 44px; font-size: 16px; width: 100%; box-sizing: border-box; }
.bps-member-bid-home .bps-submit-record-form { display: block; }
@media (max-width: 480px) {
	.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-assist-run,
	.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .swin-copy,
	.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-bid-assist-submit,
	.bps-member-bid-home .bps-member-notice-card .bps-bid-assist > .bps-inline-form { flex: 1 1 100%; }
	.bps-member-bid-home .bps-member-notice-card .bps-bid-assist .bps-btn { width: 100%; justify-content: center; }
}
.bps-member-bid-home .bps-submit-record-form .bps-field-row > span, .bps-member-bid-home .bps-submit-record-form .swin-help { text-align: left; }

/* 사업자 전환(같은 사람의 다른 사업자 계정, 2026-10-14) */
.bps-switch-acct{position:relative;display:inline-block}
.bps-switch-acct>summary{list-style:none;cursor:pointer}
.bps-switch-acct>summary::-webkit-details-marker{display:none}
.bps-switch-acct-list{position:absolute;right:0;top:calc(100% + 6px);z-index:50;min-width:220px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--bs-line, #E5E7EB);border-radius:10px;box-shadow:0 8px 24px rgba(17,24,39,.12);padding:10px;display:flex;flex-direction:column;gap:6px}
.bps-switch-acct-list form{margin:0}
.bps-switch-acct-list button{width:100%;text-align:left;white-space:normal}
@media (max-width:640px){.bps-switch-acct-list{position:fixed;left:12px;right:12px;top:60px;min-width:0;max-width:none}}

/* =====================================================================================
   2026-10-17 리디자인(bidsite) — 회원 화면 전체. 이 블록이 위 규칙들을 덮는다(body.bps-member-home 범위로 한 단계 더 구체적, !important 없음).
   원칙: 한 화면 한 가지 주 행동 · 강조색(빨강)은 주 버튼에만 · 회색 위계 #191F28/#4E5968/#6B7684 · 테두리 대신 연한 바탕 · 8px 배수 간격 ·
   카드 둥글기 20px · 그림자 없음 · 상태는 색 점 + 짧은 말 · 390px 우선, PC는 가운데 정렬 폭 제한.
   ===================================================================================== */
body.bps-member-home {
	/* 3차(4.14.2): care79 챔페인 톤 값. 글자 #6B5B4E/#776B62(아이보리 위 4.5+), #807468 은 흰 바탕에서만 */
	--bs-ink: #6B5B4E; --bs-ink-2: #776B62; --bs-ink-3: #776B62; --bs-ink-4: #807468;
	--bs-bg: #FBF8F2; --bs-border-strong: #DCCDB3; --bs-fill: #F7F1E6; --bs-fill-2: #FBF8F2; --bs-line: #EFE6D6;
	--bs-accent: var(--swin-red, #9A3F28); --bs-accent-dark: var(--swin-red-dark, #8F3A24);
	--bs-ok: #4F6B45; --bs-warn: #7A5A24; --bs-info: #C9AE80;
	--bs-radius: 24px; --bs-radius-btn: 999px;
	background: var(--bs-bg);
	color: var(--bs-ink);
}
/* 상단 바: 흰 바탕, 선 없이 */
body.bps-member-home .bps-member-topbar { background: #fff; border-bottom: 0; padding: 12px 20px; }
body.bps-member-home .bps-member-topbar-inner { max-width: 760px; }
body.bps-member-home .bps-member-topbar a { color: var(--bs-ink-2); font-weight: 600; font-size: 15px; text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
body.bps-member-home .bps-member-content { padding: 0 16px 48px; }
body.bps-member-home .bps-member-content:has(.bps-bid-suite) { align-items: center; }
body.bps-member-home .bps-panel.bps-bid-suite { width: 100%; max-width: 760px; background: transparent; border: 0; box-shadow: none; padding: 0; }
/* 큰 탭(입찰공고 / 투찰 내역): 글자 탭, 선택은 진한 글자 + 진한 밑줄 */
body.bps-member-home .bps-bid-suite-nav { background: transparent; border-bottom: 0; gap: 8px; padding: 8px 0 0; }
body.bps-member-home .bps-bid-suite-tab { padding: 12px 4px; margin-right: 12px; font-size: 18px; font-weight: 700; color: var(--bs-ink-4); border-bottom: 2px solid transparent; background: transparent; min-height: 44px; box-sizing: border-box; }
body.bps-member-home .bps-bid-suite-tab.is-active { color: var(--bs-ink); border-bottom-color: var(--bs-ink); background: transparent; }
body.bps-member-home .bps-bid-suite-tab:not(.is-active) { color: var(--bs-ink-3); }
body.bps-member-home .bps-bid-suite-panel { padding: 16px 0 0; }

/* 머리말 */
body.bps-member-home .bps-member-bid-home .bps-member-bid-intro { padding: 8px 0 16px; background: transparent; border: 0; }
body.bps-member-home .bps-member-bid-home .bps-member-bid-title { font-size: 24px; font-weight: 700; line-height: 1.35; color: var(--bs-ink); margin: 0 0 4px; letter-spacing: -0.02em; }
body.bps-member-home .bps-member-bid-home .bps-member-bid-title .bs-count { color: var(--bs-ink); }
body.bps-member-home .bps-member-bid-home .bps-member-bid-summary { font-size: 15px; color: var(--bs-ink-3); margin: 0; }
body.bps-member-home .bps-member-bid-home .bps-member-count-proof { display: block; font-size: 14px; color: var(--bs-ink-3); }

/* 기관 칩: 테두리 없는 연한 칩 1줄(가로 스크롤), 선택 = 진한 바탕 흰 글자 */
body.bps-member-home .bps-member-bid-home .bps-member-filterbar { margin: 0 0 8px; padding: 0; background: transparent; border: 0; }
body.bps-member-home .bps-member-bid-home .bps-bid-filterrow-main { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
body.bps-member-home .bps-bid-chiprow { display: flex; flex-wrap: nowrap; gap: 8px; overflow-x: auto; scrollbar-width: none; margin: 0; padding: 2px 0; }
body.bps-member-home .bps-bid-chiprow::-webkit-scrollbar { display: none; }
body.bps-member-home .bps-bid-chip,
body.bps-member-home .bps-member-bid-home .bps-bid-chip { flex: 0 0 auto; min-height: 44px; padding: 0 16px; border: 0; border-radius: 999px; background: #fff; color: var(--bs-ink-2); font-size: 15px; font-weight: 600; box-shadow: none; white-space: nowrap; }
body.bps-member-home .bps-bid-chip:hover { background: #fff; color: var(--bs-ink); }
body.bps-member-home .bps-bid-chip.is-active,
body.bps-member-home .bps-member-bid-home .bps-bid-chip.is-active { background: var(--bs-ink); color: #fff; border: 0; }
body.bps-member-home .bps-bid-chip .bps-chip-count { margin-left: 4px; font-weight: 600; opacity: .7; }
body.bps-member-home .bps-bid-chip .bps-chip-note { font-size: 13px; opacity: .8; }
/* 탭 위 칩 높이 44 이하 허용 안 함 — 터치 영역은 위아래 여백 포함 44px(아래 padding) */
body.bps-member-home .bps-bid-chiprow { padding: 2px 0; }
body.bps-member-home .bps-bid-chip { min-height: 44px; }
/* 검색: 연한 바탕 입력칸, 버튼은 글자 */
body.bps-member-home .bs-search { display: flex; align-items: center; background: #fff; border-radius: var(--bs-radius-btn); padding: 0 4px 0 16px; }
body.bps-member-home .bs-search input[type="search"] { flex: 1; min-width: 0; min-height: 48px; border: 0; background: transparent; font-size: 16px; color: var(--bs-ink); padding: 0; box-shadow: none; outline: none; }
body.bps-member-home .bs-search:focus-within { outline: 3px solid var(--swin-focus, #1D4ED8); outline-offset: 2px; }
body.bps-member-home .bs-search .bs-search-btn { border: 0; background: transparent; color: var(--bs-ink-2); font-weight: 700; min-height: 44px; padding: 0 12px; box-shadow: none; }

/* 단계 탭: 세그먼트 1줄(연한 바탕 안 흰 알약) */
body.bps-member-home .bps-member-bid-home .bps-member-step-tabs.bs-segment { display: flex; flex-wrap: nowrap; gap: 4px; padding: 4px; margin: 8px 0 16px; background: #E5E8EB; border-radius: 14px; }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab { flex: 1 1 0; min-width: 0; min-height: 44px; padding: 0 4px; border: 0; border-radius: 10px; background: transparent; color: var(--bs-ink-3); font-size: 15px; font-weight: 600; white-space: nowrap; gap: 4px; }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab:hover { background: rgba(255,255,255,.5); color: var(--bs-ink); }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab.is-active { background: #fff; color: var(--bs-ink); font-weight: 700; border: 0; box-shadow: 0 1px 2px rgba(0,0,0,.06); }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-count { opacity: 1; color: var(--bs-ink-4); font-weight: 600; }
body.bps-member-home .bps-member-bid-home .bs-segment .is-active .bps-member-step-count { color: var(--bs-ink-2); }

/* ---------- 공고 카드 ---------- */
body.bps-member-home .bps-member-bid-home .bps-member-card-grid { display: flex; flex-direction: column; gap: 16px; grid-template-columns: none; }
body.bps-member-home .bps-member-bid-home .bps-member-notice-card.bs-card { display: flex; flex-direction: column; gap: 16px; padding: 24px; background: #fff; border: 0; border-radius: var(--bs-radius); box-shadow: none; }
body.bps-member-home .bps-member-bid-home .bs-card.is-held { opacity: .75; }
body.bps-member-home .bps-member-bid-home .bs-card-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0; }
body.bps-member-home .bps-member-bid-home .bs-card-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 0; }
body.bps-member-home .bps-member-bid-home .bs-card-meta .bps-badge { padding: 0; border: 0; background: transparent; color: var(--bs-ink-3); font-size: 14px; font-weight: 600; border-radius: 0; min-height: 0; }
body.bps-member-home .bps-member-bid-home .bs-card-meta .bps-badge + .bps-badge::before { content: '·'; margin: 0 6px; color: var(--bs-ink-4); }
body.bps-member-home .bps-member-bid-home .bs-card-meta .bps-badge-review { color: var(--bs-warn); }
body.bps-member-home .bps-member-bid-home .bs-dday { flex: 0 0 auto; padding: 4px 10px; border-radius: 8px; background: var(--bs-fill); color: var(--bs-ink-2); font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
body.bps-member-home .bps-member-bid-home .bs-dday.is-urgent { background: #FFF3E0; color: #B45309; }
body.bps-member-home .bps-member-bid-home .bs-dday.is-over { background: var(--bs-fill); color: var(--bs-ink-3); }
body.bps-member-home .bps-member-bid-home .bs-card .bps-notice-card-title { margin: -8px 0 0; font-size: 20px; font-weight: 700; line-height: 1.4; color: var(--bs-ink); letter-spacing: -0.02em; max-width: none; }
/* 사실: 기초금액 크게, 나머지 연한 바탕 안 2칸 */
body.bps-member-home .bps-member-bid-home .bps-member-facts.bs-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; padding: 16px; border: 0; border-radius: 14px; background: var(--bs-fill-2); }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-fact { display: flex; flex-direction: column; gap: 2px; margin: 0; padding: 0; min-width: 0; flex: none; }
body.bps-member-home .bps-member-bid-home .bs-facts dd { margin: 0; }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-fact-label { font-size: 14px; font-weight: 500; color: var(--bs-ink-3); }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-fact-value,
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-fact-value strong { font-size: 16px; font-weight: 600; color: var(--bs-ink); font-variant-numeric: tabular-nums; }
body.bps-member-home .bps-member-bid-home .bs-facts .bs-fact-main { grid-column: 1 / -1; }
body.bps-member-home .bps-member-bid-home .bs-facts .bs-fact-main .bps-member-fact-value strong { font-size: 24px; font-weight: 700; letter-spacing: -0.01em; }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-dl-line { display: block; }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-notice-card-deadline { grid-column: auto; }
body.bps-member-home .bps-member-bid-home .bs-facts .is-warn .bps-member-fact-value strong { color: #B45309; }
body.bps-member-home .bps-member-bid-home .bs-facts .bps-member-fact-sub { font-size: 14px; color: var(--bs-ink-3); }
/* 공고번호: 작게·회색 */
body.bps-member-home .bps-member-bid-home .bs-code { display: flex; align-items: center; flex-wrap: wrap; gap: 0 8px; margin: -4px 0 0; font-size: 14px; color: var(--bs-ink-3); }
body.bps-member-home .bps-member-bid-home .bs-code .bps-notice-card-code-label { font-size: 14px; color: var(--bs-ink-3); }
body.bps-member-home .bps-member-bid-home .bps-member-notice-card .bs-code .bps-notice-card-code-big.swin-num { font-size: 14px; font-weight: 600; color: var(--bs-ink-2); letter-spacing: 0; }
body.bps-member-home .bps-member-bid-home .bps-notice-card-meta { display: flex; flex-direction: column; gap: 2px; margin: -8px 0 0; }
body.bps-member-home .bps-member-bid-home .bps-member-notice-card .bps-card-sub,
body.bps-member-home .bps-member-bid-home .bps-member-notice-card .bps-card-org { font-size: 14px; color: var(--bs-ink-3); }

/* 글자 링크 버튼(보조 행동) — 44px 터치 높이, 테두리 없음 */
body.bps-member-home .bs-link,
body.bps-member-home .bps-member-bid-home .bs-link.bps-copy-inline.swin-copy,
body.bps-member-home .bps-member-bid-home button.bs-link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 8px; margin: 0; border: 0; border-radius: 10px; background: transparent; color: var(--bs-ink-2); font-size: 15px; font-weight: 600; text-decoration: none; box-shadow: none; cursor: pointer; touch-action: manipulation; }
body.bps-member-home .bs-link:hover { background: var(--bs-fill); color: var(--bs-ink); }
body.bps-member-home .bs-link:focus-visible,
body.bps-member-home .bs-primary:focus-visible,
body.bps-member-home .bs-secondary:focus-visible,
body.bps-member-home .bs-more > summary:focus-visible { outline: 3px solid var(--swin-focus, #1D4ED8); outline-offset: 2px; }
body.bps-member-home .bs-code .bs-link { min-height: 44px; padding: 0 8px; margin-left: -4px; font-size: 14px; color: var(--bs-ink-2); }

/* 주 버튼(카드당 1개) / 보조 버튼 */
body.bps-member-home .bps-member-bid-home .bs-primary,
body.bps-member-home .bs-primary { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 0 20px; border: 0; border-radius: var(--bs-radius-btn); background: var(--bs-accent); color: #fff; font-size: 17px; font-weight: 700; text-decoration: none; box-shadow: none; box-sizing: border-box; }
body.bps-member-home .bs-primary:hover { background: var(--bs-accent-dark); color: #fff; }
body.bps-member-home .bs-primary:disabled { background: #E5E8EB; color: var(--bs-ink-3); cursor: not-allowed; }
body.bps-member-home .bps-member-bid-home .bs-secondary,
body.bps-member-home .bs-secondary { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 52px; padding: 0 20px; border: 0; border-radius: var(--bs-radius-btn); background: var(--bs-fill); color: var(--bs-ink); font-size: 16px; font-weight: 700; box-shadow: none; box-sizing: border-box; }
body.bps-member-home .bs-secondary:hover { background: #E5E8EB; }
body.bps-member-home .bs-secondary:disabled { color: var(--bs-ink-4); cursor: not-allowed; }
body.bps-member-home .bps-member-bid-home .bs-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: -8px 0 0; }
body.bps-member-home .bps-member-bid-home .bs-actions > .bs-primary,
body.bps-member-home .bps-member-bid-home .bs-actions > form,
body.bps-member-home .bps-member-bid-home .bs-actions > .bs-status,
body.bps-member-home .bps-member-bid-home .bs-actions > .bps-apply-checkbox,
body.bps-member-home .bps-member-bid-home .bs-actions > .bps-apply-impact,
body.bps-member-home .bps-member-bid-home .bs-actions > details { flex: 1 1 100%; margin: 0 0 8px; }
body.bps-member-home .bps-member-bid-home .bs-actions > form.bps-apply-form { display: none; }
body.bps-member-home .bps-member-bid-home .bs-actions > .bs-link:first-child,
body.bps-member-home .bps-member-bid-home .bs-actions > .bs-primary + .bs-link { margin-left: -8px; }

/* 상태: 색 점 + 짧은 말 */
body.bps-member-home .bs-status { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; padding: 0; border: 0; background: transparent; font-size: 15px; font-weight: 600; line-height: 1.5; color: var(--bs-ink-2); }
body.bps-member-home .bs-status .bs-dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--bs-info); }
body.bps-member-home .bs-status--ok .bs-dot { background: var(--bs-ok); }
body.bps-member-home .bs-status--warn .bs-dot { background: var(--bs-warn); }
body.bps-member-home .bs-status--muted .bs-dot { background: var(--bs-ink-4); }
body.bps-member-home .bs-status .bps-card-ready-top { flex: 1 1 0; min-width: 0; font-size: 15px; font-weight: 600; color: var(--bs-ink-2); }
body.bps-member-home .bs-status .bs-more { flex: 1 1 100%; }
body.bps-member-home .bs-plain.swin-badge,
body.bps-member-home .bs-status .swin-badge { padding: 0; border: 0; background: transparent; color: inherit; font-size: inherit; font-weight: inherit; min-height: 0; }
body.bps-member-home .bps-member-bid-home .bps-notice-flag-warn.bs-status,
body.bps-member-home .bps-member-bid-home .bps-notice-flag-done.bs-status { background: transparent; border: 0; padding: 0; color: var(--bs-ink-2); }

/* 접힘(더보기): 테두리 없는 글자 머리 */
body.bps-member-home .bs-more { margin: 0; padding: 0; border: 0; background: transparent; }
body.bps-member-home .bs-more > summary { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; padding: 0 8px; margin-left: -8px; border: 0; border-radius: 10px; background: transparent; color: var(--bs-ink-3); font-size: 14px; font-weight: 600; cursor: pointer; list-style: none; }
body.bps-member-home .bs-more > summary::-webkit-details-marker { display: none; }
body.bps-member-home .bs-more > summary::after { content: ''; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin: -3px 0 0 6px; }
body.bps-member-home .bs-more[open] > summary::after { transform: rotate(-135deg); margin-top: 3px; }
body.bps-member-home .bs-more > summary::before { content: none; }
body.bps-member-home .bs-more ul { margin: 0 0 8px; padding-left: 20px; font-size: 14px; color: var(--bs-ink-2); }
body.bps-member-home .bs-more .swin-help { font-size: 14px; color: var(--bs-ink-3); }

/* ---------- bidsite 투찰 칸(금액 확인 → 공식 화면 → 제출 기록) ---------- */
body.bps-member-home .bps-member-bid-home .bs-assist { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 20px; border: 0; border-radius: 16px; background: var(--bs-fill-2); }
body.bps-member-home .bps-member-bid-home .bs-assist > p { margin: 0; }
body.bps-member-home .bps-member-bid-home .bs-assist .bs-primary { margin-top: 8px; }
body.bps-member-home .bps-member-bid-home .bs-assist form { margin: 0; }
body.bps-member-home .bs-amount-label { font-size: 14px; font-weight: 600; color: var(--bs-ink-3); margin: 0; }
body.bps-member-home .bs-amount-num,
body.bps-member-home .bs-amount-num strong { font-size: 30px; font-weight: 800; line-height: 1.25; letter-spacing: -0.02em; color: var(--bs-ink); font-variant-numeric: tabular-nums; margin: 0; overflow-wrap: anywhere; }
body.bps-member-home .bs-amount-hangul { font-size: 14px; color: var(--bs-ink-3); margin: 0; overflow-wrap: anywhere; }
body.bps-member-home .bs-amount-sub { font-size: 14px; color: var(--bs-ink-2); margin: 0; }
body.bps-member-home .bs-assist .bs-assist-help { font-size: 14px; color: var(--bs-ink-3); margin: 0; }
body.bps-member-home .bs-inline-links { display: flex; flex-wrap: wrap; align-items: center; gap: 0 8px; margin: 0 0 0 -8px; }
body.bps-member-home .bs-inline-links form { display: inline; margin: 0; }
body.bps-member-home .bps-member-bid-home .bs-assist.is-submitted .bs-amount-num { font-size: 22px; }
body.bps-member-home .bps-member-bid-home .bs-assist .bps-comment { font-size: 14px; color: var(--bs-ink-3); margin: 0; }
/* 단계 표시 1·2·3 */
body.bps-member-home .bs-steps { display: flex; gap: 4px; margin: 0 0 8px; padding: 0; list-style: none; counter-reset: bs; }
body.bps-member-home .bs-steps li { flex: 1 1 0; min-width: 0; counter-increment: bs; padding-top: 8px; border-top: 3px solid #E5E8EB; font-size: 13px; font-weight: 600; color: var(--bs-ink-3); line-height: 1.35; }
body.bps-member-home .bs-steps li::before { content: counter(bs) '. '; }
body.bps-member-home .bs-steps li.is-done { border-top-color: var(--bs-ink-2); color: var(--bs-ink-2); }
body.bps-member-home .bs-steps li.is-current { border-top-color: var(--bs-ink); color: var(--bs-ink); font-weight: 700; }
/* 내 투찰금액(수동 입력 등 bidsite 투찰 칸이 없는 경우) */
body.bps-member-home .bps-member-bid-home .bps-my-price.bs-amount { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 20px; border: 0; border-radius: 16px; background: var(--bs-fill-2); }
body.bps-member-home .bps-member-bid-home .bps-my-price .bs-amount-num { font-size: 26px; }
body.bps-member-home .bps-member-bid-home .bps-my-price .bs-link { align-self: flex-start; margin-left: -8px; }

/* 처리 결과 알림(작업 확정·기록 후) — 화면 아래 잠깐 */
body.bps-member-home .bs-toast-msg { position: fixed; left: 50%; bottom: 24px; z-index: 9999; transform: translateX(-50%); width: max-content; max-width: calc(100vw - 32px); margin: 0; padding: 14px 20px; border-radius: 14px; background: var(--bs-ink); color: #fff; font-size: 15px; font-weight: 600; line-height: 1.5; animation: bs-toast 6s ease forwards; pointer-events: none; }
@keyframes bs-toast { 0%, 85% { opacity: 1; } 100% { opacity: 0; visibility: hidden; } }
@media (prefers-reduced-motion: reduce) { body.bps-member-home .bs-toast-msg { animation-duration: 10s; } }
/* 투찰 기록 목록(접힘) */
body.bps-member-home .bps-member-bid-home .bs-jobs { margin: 0 0 8px; padding: 0 16px; border: 0; border-radius: 16px; background: #fff; box-shadow: none; }
body.bps-member-home .bps-member-bid-home .bs-jobs > summary { margin-left: -8px; color: var(--bs-ink-2); font-size: 15px; }
body.bps-member-home .bps-member-bid-home .bs-jobs .bps-goods-list { margin: 0 0 16px; padding: 0; list-style: none; }
body.bps-member-home .bps-member-bid-home .bs-jobs .bps-autobid-job { display: flex; flex-wrap: wrap; gap: 4px 8px; padding: 12px 0; border-top: 1px solid var(--bs-line); font-size: 15px; }

/* 빈 상태 */
body.bps-member-home .bps-member-bid-home .bps-member-empty-state { padding: 48px 24px; border: 0; border-radius: var(--bs-radius); background: #fff; text-align: center; box-shadow: none; }
body.bps-member-home .bps-member-bid-home .bps-member-empty-icon { color: var(--bs-ink-4); width: 40px; height: 40px; }
body.bps-member-home .bps-member-bid-home .bps-member-empty-title { font-size: 18px; font-weight: 700; color: var(--bs-ink); margin: 12px 0 8px; }
body.bps-member-home .bps-member-bid-home .bps-member-empty-sub { font-size: 15px; color: var(--bs-ink-3); max-width: 36ch; margin: 0 auto; }
body.bps-member-home .bps-member-bid-home .bps-member-empty-action { display: inline-flex; align-items: center; min-height: 48px; margin-top: 16px; padding: 0 20px; border: 0; border-radius: var(--bs-radius-btn); background: var(--bs-fill); color: var(--bs-ink); font-weight: 700; text-decoration: none; }
/* 마감 지난 공고·도우미 안내(맨 아래 접힘) */
body.bps-member-home .bps-member-bid-home .bps-member-expired,
body.bps-member-home .bps-member-bid-home .bs-help-foot { margin: 16px 0 0; padding: 0 16px; border: 0; border-radius: 16px; background: #fff; }
body.bps-member-home .bps-member-bid-home .bps-member-expired > summary,
body.bps-member-home .bps-member-bid-home .bs-help-foot > summary { min-height: 52px; color: var(--bs-ink-2); font-size: 15px; font-weight: 600; }
body.bps-member-home .bps-member-bid-home .bs-help-foot .bps-comment { font-size: 14px; color: var(--bs-ink-3); margin: 0 0 16px; }

/* ---------- 팝업(투찰 금액 정하기·제출 완료 기록): 모바일은 아래에서 올라오는 시트 ---------- */
body.bps-member-home .bps-member-modal .swin-dialog { border: 0; border-radius: 24px; }
body.bps-member-home .bps-member-modal .swin-dialog__title { font-size: 20px; font-weight: 700; color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .bs-modal-sub { margin: 0 0 4px; font-size: 15px; color: var(--bs-ink-2); }
body.bps-member-home .bps-member-modal .bps-modal-code-header { border: 0; padding: 0 0 8px; margin: 0; }
body.bps-member-home .bps-member-bid-home .bps-member-modal .bps-modal-code-big.swin-num { font-size: 15px; font-weight: 600; color: var(--bs-ink-3); }
body.bps-member-home .bps-member-modal .bps-modal-code-label { font-size: 14px; color: var(--bs-ink-3); }
body.bps-member-home .bps-member-modal .bps-modal-code-row .bps-copy-inline.swin-copy { min-height: 44px; border: 0; background: var(--bs-fill); border-radius: 10px; color: var(--bs-ink-2); font-size: 14px; }
body.bps-member-home .bps-member-modal .bps-calc-member h4 { font-size: 17px; font-weight: 700; color: var(--bs-ink); margin: 8px 0 12px; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-member-assess { min-height: 56px; font-size: 22px; font-weight: 700; border: 0; border-radius: 14px; background: var(--bs-fill); padding: 0 16px; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-member-assess:focus { outline: 3px solid var(--swin-focus, #1D4ED8); outline-offset: 2px; background: #fff; }
body.bps-member-home .bps-member-modal .bps-calc-assess-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
body.bps-member-home .bps-member-modal .bps-calc-assess-row > span { font-size: 15px; font-weight: 600; color: var(--bs-ink-2); }
body.bps-member-home .bps-member-modal .bps-calc-preview-display { border: 0; border-radius: 16px; background: var(--bs-fill-2); padding: 16px; }
body.bps-member-home .bps-member-modal .bps-calc-preview-amount { font-size: 28px; font-weight: 800; color: var(--bs-ink); letter-spacing: -0.02em; }
body.bps-member-home .bps-member-modal .bps-calc-preview-label { color: var(--bs-ink-3); font-size: 14px; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-modal-btns { display: flex; flex-direction: row-reverse; align-items: center; gap: 8px; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-modal-btns .bs-primary { flex: 1 1 auto; width: auto; }
body.bps-member-home .bps-member-modal .bps-calc-saved-display { border: 0; border-radius: 16px; background: var(--bs-fill-2); padding: 16px; }
body.bps-member-home .bps-member-modal .bps-calc-saved-amount { font-size: 22px; font-weight: 800; color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .swin-help { color: var(--bs-ink-3); }
body.bps-member-home .bps-member-modal .bs-calc-facts { margin: 0 0 8px; }
body.bps-member-home .bps-member-modal .bps-submit-record-form .bs-amount-num { font-size: 26px; margin-bottom: 8px; }
body.bps-member-home .bps-member-modal input[type="text"],
body.bps-member-home .bps-member-modal input[type="datetime-local"],
body.bps-member-home .bps-member-modal input[type="number"] { min-height: 52px; border: 0; border-radius: 12px; background: var(--bs-fill); font-size: 17px; padding: 0 16px; color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .swin-dialog__foot .bps-btn { min-height: 52px; border-radius: var(--bs-radius-btn); font-weight: 700; }
body.bps-member-home .bps-member-modal .swin-dialog__foot .bps-btn-outline { border: 0; background: var(--bs-fill); color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .swin-dialog__foot .bps-btn-primary { border: 0; background: var(--bs-accent); color: #fff; }
@media (max-width: 640px) {
	body.bps-member-home .bps-member-modal .bps-modal.swin-dialog { border-radius: 24px 24px 0 0; }
	/* 모바일: 계산 팝업의 [다음]은 화면 아래 고정 */
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form > .bps-modal-btns { position: sticky; bottom: -16px; z-index: 2; margin: 8px -16px 0; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; }
	/* 모바일: 계산 결과(산출 투찰금액)를 사정율 입력칸 바로 아래로 — 처음 열었을 때 고정 [다음] 버튼에 가려지지 않게(표시 순서만, 내용 동일) */
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form { display: flex; flex-direction: column; }
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form > * { order: 2; }
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form > .bps-calc-assess-row { order: 0; }
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form > .bps-calc-preview-display { order: 1; margin-top: 8px; }
}

/* ---------- 투찰 내역 ---------- */
body.bps-member-home .bps-bid-history-tab { background: transparent; border: 0; box-shadow: none; padding: 0; }
body.bps-member-home .bps-bid-history-tab > .bps-channel-name { font-size: 24px; font-weight: 700; color: var(--bs-ink); text-align: left; margin: 8px 0 16px; }
body.bps-member-home .bps-bid-history-tab .bps-bid-chiprow { margin: 0 0 16px; }
body.bps-member-home .bps-bid-history-tab .bps-bid-empty-state { padding: 48px 24px; border-radius: var(--bs-radius); background: #fff; text-align: center; color: var(--bs-ink-3); }
body.bps-member-home .bps-bid-history-tab .bps-bid-table-scroll { overflow: visible; }
body.bps-member-home .bps-bid-history-tab .bs-history { width: 100%; border: 0; border-collapse: separate; border-spacing: 0; background: #fff; border-radius: var(--bs-radius); overflow: hidden; }
body.bps-member-home .bps-bid-history-tab .bs-history th { background: transparent; color: var(--bs-ink-3); font-size: 14px; font-weight: 600; border: 0; border-bottom: 1px solid var(--bs-line); padding: 12px 16px; text-align: left; }
body.bps-member-home .bps-bid-history-tab .bs-history td { border: 0; border-bottom: 1px solid var(--bs-line); padding: 12px 16px; font-size: 15px; color: var(--bs-ink); vertical-align: middle; }
body.bps-member-home .bps-bid-history-tab .bs-history tr:last-child td { border-bottom: 0; }
/* 투찰 내역: 숫자·단위가 두 줄로 끊기지 않게(공고명만 줄바꿈), 숫자는 고정폭 숫자(소수점이 또렷하게) */
body.bps-member-home .bps-bid-history-tab .bs-history td { font-variant-numeric: tabular-nums; }
body.bps-member-home .bps-bid-history-tab .bs-history .bs-nowrap { white-space: nowrap; }
@media (min-width: 641px) {
	body.bps-member-home .bps-bid-history-tab .bs-history th,
	body.bps-member-home .bps-bid-history-tab .bs-history td { padding: 12px 8px; white-space: nowrap; }
	body.bps-member-home .bps-bid-history-tab .bs-history td.bs-history-title { white-space: normal; min-width: 8em; }
	body.bps-member-home .bps-bid-history-tab .bs-history td.bs-history-at { white-space: normal; }
	body.bps-member-home .bps-bid-history-tab .bs-history td .bps-copy-inline { min-height: 0; padding: 0 0 0 6px; }
}
body.bps-member-home .bps-bid-overdue-section { margin: 0 0 16px; padding: 16px 20px; border: 0; border-radius: var(--bs-radius); background: #fff; }
@media (max-width: 640px) {
	body.bps-member-home .bps-bid-history-tab .bs-history { background: transparent; border-radius: 0; overflow: visible; }
	body.bps-member-home .bps-bid-history-tab .bs-history tr { margin: 0 0 12px; padding: 16px 20px; border: 0; border-radius: var(--bs-radius); background: #fff; }
	body.bps-member-home .bps-bid-history-tab .bs-history td { border: 0; padding: 4px 0; }
	body.bps-member-home .bps-bid-history-tab .bs-history td.bs-history-title { font-size: 17px; font-weight: 700; }
}

/* ---------- 로그인(비로그인 첫 화면) ---------- */
body.bs-auth-page { min-height: 100vh; min-height: 100dvh; background: #fff; }
body.bs-auth-page .bs-auth-wrap { box-sizing: border-box; max-width: 440px; margin: 0 auto; padding: 48px 24px; }
body.bs-auth-page .bs-auth-logo { display: block; height: 32px; width: auto; margin: 0 0 40px; }
body.bs-auth-page .bs-auth-title { margin: 0 0 8px; font-size: 26px; font-weight: 700; line-height: 1.4; letter-spacing: -0.02em; color: var(--bs-ink); }
body.bs-auth-page .bs-auth-sub { margin: 0 0 32px; font-size: 16px; color: var(--bs-ink-3); }
body.bs-auth-page .bps-auth { max-width: none; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
body.bs-auth-page .bps-auth .bps-field { display: flex; flex-direction: column; gap: 8px; margin: 0 0 16px; }
body.bs-auth-page .bps-auth .bps-field > span { font-size: 15px; font-weight: 600; color: var(--bs-ink-2); }
body.bs-auth-page .bps-auth input[type="text"],
body.bs-auth-page .bps-auth input[type="password"],
body.bs-auth-page .bps-auth input[type="email"],
body.bs-auth-page .bps-auth input[type="tel"] { box-sizing: border-box; width: 100%; min-height: 56px; padding: 0 16px; border: 0; border-radius: var(--bs-radius-btn); background: var(--bs-fill); font-size: 17px; color: var(--bs-ink); }
body.bs-auth-page .bps-auth input:focus { outline: 3px solid var(--swin-focus, #1D4ED8); outline-offset: 2px; background: #fff; }
body.bs-auth-page .bs-auth-btns { display: flex; flex-direction: column; align-items: stretch; gap: 8px; margin-top: 24px; }
body.bs-auth-page .bs-auth-btns .bs-link { align-self: center; }
body.bs-auth-page .bps-auth-error { min-height: 0; color: #C2410C; font-size: 15px; }
body.bs-auth-page .bps-auth .bps-btn { min-height: 52px; border-radius: var(--bs-radius-btn); font-weight: 700; }
body.bs-auth-page .bps-auth .bps-btn-primary { border: 0; background: var(--bs-accent); color: #fff; }
body.bs-auth-page .bps-auth .bps-btn-outline { border: 0; background: var(--bs-fill); color: var(--bs-ink); }

/* ---------- 설정 미완료(공고 수신정보 입력) — 연한 바탕 카드로만 정리(입력칸·순서 그대로) ---------- */
body.bps-member-home .bps-member-content > .bps-panel:not(.bps-bid-suite) { max-width: 640px; width: 100%; border: 0; border-radius: var(--bs-radius); box-shadow: none; background: #fff; padding: 24px; box-sizing: border-box; margin-top: 16px; }

@media (min-width: 900px) {
	body.bps-member-home .bps-member-bid-home .bps-member-filterbar .bps-bid-filterrow-main { flex-direction: row; align-items: center; }
	body.bps-member-home .bps-member-bid-home .bps-member-filterbar .bps-bid-chiprow { flex: 1 1 auto; }
	body.bps-member-home .bps-member-bid-home .bps-member-filterbar .bs-search { flex: 0 0 280px; }
}
@media (max-width: 640px) {
	body.bps-member-home .bps-member-topbar { padding: 8px 16px; }
	body.bps-member-home .bps-member-bid-home .bps-member-notice-card.bs-card { padding: 20px; }
	body.bps-member-home .bps-member-bid-home .bs-card .bps-notice-card-title { font-size: 19px; }
	body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab { font-size: 14px; }
}
/* 리디자인 보정 1: 카드 폭(위 container-type 규칙 때문에 내용 폭으로 줄던 문제) · 검색칸 폭 · 세그먼트 한 줄 */
body.bps-member-home .bps-member-bid-home { width: 100%; box-sizing: border-box; }
body.bps-member-home .bps-member-bid-home .bps-member-card-grid,
body.bps-member-home .bps-member-bid-home .bps-member-notice-card.bs-card { width: 100%; box-sizing: border-box; align-self: stretch; }
body.bps-member-home .bps-member-bid-home .bps-member-filterbar,
body.bps-member-home .bps-member-bid-home .bs-search { width: 100%; box-sizing: border-box; max-width: 100%; }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab { flex-direction: row; align-items: center; justify-content: center; }
/* 리디자인 보정 2: 옛 라운드 C 카드 규칙(버튼 반반·order·오른쪽 정렬·↗ 자동 붙임)을 .bs-card 범위에서 무력화 */
body.bps-member-home .bps-member-bid-home .bs-card > *,
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > *,
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist > * { order: 0; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-primary.swin-btn { flex: 1 1 100%; width: 100%; padding: 0 20px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-link.bps-card-prepare { flex: 0 0 auto; background: transparent; color: var(--bs-ink-2); border: 0; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-link::after { content: none; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bps-member-fact-value,
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bps-member-dl-line { text-align: left; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist { align-items: stretch; text-align: left; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist form,
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bs-primary,
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bs-secondary { width: 100%; max-width: none; flex: none; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bs-inline-links { justify-content: flex-start; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts { align-items: start; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bps-bid-assist-amount { font-size: 30px; color: var(--bs-ink); }
body.bps-member-home .bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-assess-row { display: flex; flex-direction: column; align-items: stretch; gap: 8px; }
body.bps-member-home .bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-calc-assess-row > input { flex: none; width: 100%; max-width: none; height: 56px; }
body.bps-member-home .bps-member-bid-home .bps-member-modal .bps-calc-direct-form > .bps-modal-btns { display: flex; flex-direction: row-reverse; }
body.bps-member-home .bs-toast-msg { left: 16px; right: 16px; transform: none; width: auto; max-width: 520px; margin: 0 auto; }
@container (min-width: 600px) {
	body.bps-member-home .bps-member-bid-home .bs-card .bps-member-facts.bs-facts { grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); align-items: end; }
	body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bs-fact-main { grid-column: auto; }
}
body.bps-member-home .bps-bid-chip.is-active { box-shadow: none; }
body.bps-member-home .bps-bid-history-tab .bps-wide-table.bs-history { min-width: 0; }
@media (max-width: 640px) {
	body.bps-member-home .bps-bid-history-tab .bs-history td { text-align: left; }
	body.bps-member-home .bps-bid-history-tab .bs-history td[data-label]::before { font-weight: 500; color: var(--bs-ink-3); }
}
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bs-inline-links form { width: auto; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bps-bid-assist-amount strong { font-size: 30px; font-weight: 800; color: var(--bs-ink); }
/* 위계 보정: 가장 크게 = 공고명(22)·D-day, 다음 = 기초금액(20) */
body.bps-member-home .bps-member-bid-home .bs-card .bps-notice-card-title { font-size: 22px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bs-fact-main .bps-member-fact-value strong { font-size: 20px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday { font-size: 15px; padding: 4px 12px; }
@media (max-width: 640px) { body.bps-member-home .bps-member-bid-home .bs-card .bps-notice-card-title { font-size: 21px; } }

/* =====================================================================================
   2026-10-17 2차(4.14.1) — 목록 조용하게: 금액 안 정한 카드는 짧은 행(.is-compact, 카드 전체 누르면 금액 정하기),
   빨간 주 버튼은 bidsite 투찰 칸(금액 확정·공식 화면)에서만 · 카드 정보는 공고명·채널/기관·D-day·기초금액·마감만 ·
   D-1/D-0만 색 점 · 단계 완료 ✓ · 숫자 tabular-nums.
   ===================================================================================== */
body.bps-member-home .bps-member-bid-home,
body.bps-member-home .bps-member-modal { font-variant-numeric: tabular-nums; }
/* 채널 · 지역 · 기관 한 줄(기관은 말줄임) */
body.bps-member-home .bps-member-bid-home .bs-card .bs-card-top { align-items: center; min-width: 0; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-card-meta { flex: 1 1 auto; flex-wrap: nowrap; min-width: 0; overflow: hidden; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-card-meta .bps-badge { flex: 0 0 auto; white-space: nowrap; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-card-meta .bs-card-org { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; font-weight: 500; }
/* D-day: 평소 회색 글자, D-1·오늘만 빨간 점 + 진한 글자 */
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday { display: inline-flex; align-items: center; gap: 6px; padding: 0; background: transparent; color: var(--bs-ink-3); font-size: 14px; font-weight: 600; white-space: nowrap; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday.is-urgent { background: transparent; color: var(--bs-accent-dark); font-weight: 700; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday .bs-dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--bs-accent); }
/* 기초금액 · 마감: 바탕 없이 두 칸 한 줄 */
body.bps-member-home .bps-member-bid-home .bs-card .bps-member-facts.bs-facts { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; justify-content: flex-start; gap: 8px 32px; padding: 0; background: transparent; border-radius: 0; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bps-member-fact { flex: 0 0 auto; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bps-member-fact-label { font-size: 13px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bps-member-fact-value strong { white-space: nowrap; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bs-fact-main .bps-member-fact-value strong { font-size: 20px; font-weight: 700; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-code { margin: -12px 0 -8px; }
/* 짧은 카드 */
body.bps-member-home .bps-member-bid-home .bs-card.is-compact { gap: 12px; cursor: pointer; transition: background-color .15s; }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact:hover { background: #FCFCFD; }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact .bps-notice-card-title { margin: -4px 0 0; font-size: 19px; }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact .bps-card-ready.bs-status--info { display: none; }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact .bs-actions { flex-wrap: nowrap; margin: -8px 0 -8px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go { order: 9; flex: 0 0 auto; display: inline-flex; align-items: center; gap: 2px; min-height: 44px; margin: 0 -8px 0 auto; padding: 0 8px 0 12px; border: 0; border-radius: 10px; background: transparent; color: var(--bs-ink); font: inherit; font-size: 16px; font-weight: 700; cursor: pointer; touch-action: manipulation; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go:hover { background: var(--bs-fill); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go:focus-visible { outline: 2px solid var(--bs-ink); outline-offset: 2px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-go .bs-chev { font-size: 22px; line-height: 1; color: var(--bs-ink-3); margin-top: -2px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go + .bs-link { margin-left: -8px; }
@media (min-width: 641px) { body.bps-member-home .bps-member-bid-home .bs-card.is-compact .bps-notice-card-title { font-size: 20px; } }
/* bidsite 투찰 단계: 끝난 단계 ✓(초록), 지금 단계 진한 원, 남은 단계 회색 */
body.bps-member-home .bs-steps { display: flex; gap: 0; margin: 0 0 12px; padding: 0; list-style: none; }
body.bps-member-home .bs-steps li { position: relative; flex: 1 1 0; display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 0; border: 0; font-size: 13px; font-weight: 600; color: var(--bs-ink-3); white-space: nowrap; }
body.bps-member-home .bs-steps li::before { content: none; }
body.bps-member-home .bs-steps li:not(:last-child)::after { content: ''; position: absolute; top: 11px; left: 30px; right: 6px; height: 2px; border-radius: 1px; background: var(--bs-line); }
body.bps-member-home .bs-steps .bs-step-mark { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: var(--bs-line); color: var(--bs-ink-2); font-size: 13px; font-weight: 700; }
body.bps-member-home .bs-steps li.is-done { color: var(--bs-ink-2); border: 0; }
body.bps-member-home .bs-steps li.is-done .bs-step-mark { background: var(--bs-ok); color: #fff; }
body.bps-member-home .bs-steps li.is-done::after { background: var(--bs-ok); }
body.bps-member-home .bs-steps li.is-current { color: var(--bs-ink); font-weight: 700; border: 0; }
body.bps-member-home .bs-steps li.is-current .bs-step-mark { background: var(--bs-ink); color: #fff; }
/* 공식 화면 안내: 최신 PC 도우미가 있으면 "bidsite가 금액을 넣어드려요" */
body.bps-member-home .bs-assist .bs-help-ext,
body.bps-member-home .bs-assist.has-helper .bs-help-noext { display: none; }
body.bps-member-home .bs-assist.has-helper .bs-help-ext { display: block; }
/* 투찰 내역 금액 칸 오른쪽 정렬(PC 표) */
@media (min-width: 641px) { body.bps-member-home .bps-bid-history-tab .bs-history td[data-label="투찰금액"] { text-align: right; } }
@media (min-width: 641px) { body.bps-member-home .bps-bid-history-tab .bs-history th:nth-child(4) { text-align: right; } }

/* =====================================================================================
   2026-10-17 3차(4.14.2) — care79 챔페인 톤(사장님 지시 "care79 디자인 그대로").
   토큰은 위 --bs-* 와 swin-ds.css 의 body.bps-member-home 블록. 여기는 모양만: 주 버튼 = 챔페인 pill, 보조 = 흰 pill,
   카드 radius 24 흰 바탕 + 은은한 그림자, 제목 가는 글씨 + 굵은 글씨, 이징 cubic-bezier(.22,.61,.36,1).
   빨강은 회원 화면에서 쓰지 않는다 — 위험(102% 초과·오류·D-1/오늘)만 적갈색 #9A3F28(아이보리 위 6.4:1).
   2차 구조(짧은 카드·단계 ✓·한 줄 마감)와 선택자·data-* 는 그대로.
   ===================================================================================== */
/* 상단 바: care79 헤더처럼 흰 반투명 + 머리카락 선. 로고 파일은 그대로, 주변 여백만 */
body.bps-member-home .bps-member-topbar { background: rgba(255,255,255,.94); border-bottom: 1px solid #EDE3D2; -webkit-backdrop-filter: saturate(1.2) blur(10px); backdrop-filter: saturate(1.2) blur(10px); }
body.bps-member-home .bps-member-topbar a { color: var(--bs-ink); font-weight: 500; }
body.bps-member-home .bps-member-topbar a:hover { color: var(--swin-gold-d); }
/* 큰 탭: 선택 = 진한 글자 + 골드 밑줄 */
body.bps-member-home .bps-bid-suite-tab { font-weight: 500; }
body.bps-member-home .bps-bid-suite-tab.is-active { color: var(--bs-ink); border-bottom-color: var(--swin-gold); font-weight: 600; }
/* 제목: 가는 글씨 + 굵은 숫자 */
body.bps-member-home .bps-member-bid-home .bps-member-bid-title { font-weight: 300; letter-spacing: -0.03em; color: var(--bs-ink); }
body.bps-member-home .bps-member-bid-home .bps-member-bid-title .bs-count { font-weight: 700; color: var(--swin-champ-t); }
body.bps-member-home .bps-bid-history-tab > .bps-channel-name { font-weight: 500; letter-spacing: -0.03em; }
/* 기관 칩: 흰 pill + #DCCDB3 선, 선택 = 챔페인 */
body.bps-member-home .bps-bid-chip,
body.bps-member-home .bps-member-bid-home .bps-bid-chip { border: 1px solid var(--swin-border-strong); background: #fff; color: var(--bs-ink-2); font-weight: 500; transition: background .2s var(--swin-ease), border-color .2s var(--swin-ease); }
body.bps-member-home .bps-bid-chip:hover { border-color: var(--swin-gold); color: var(--bs-ink); background: #fff; }
body.bps-member-home .bps-bid-chip.is-active,
body.bps-member-home .bps-member-bid-home .bps-bid-chip.is-active { background: linear-gradient(180deg, var(--swin-champ-a), var(--swin-champ-b)); border: 1px solid var(--swin-champ-line); color: var(--swin-champ-t); font-weight: 700; }
body.bps-member-home .bps-bid-chip .bps-chip-count,
body.bps-member-home .bps-bid-chip .bps-chip-note { opacity: 1; }
/* 검색: 흰 pill + 선, 포커스 = 골드 */
body.bps-member-home .bs-search { border: 1px solid var(--swin-border-strong); }
body.bps-member-home .bs-search:focus-within { outline: 2px solid var(--swin-gold-d); outline-offset: 2px; border-color: var(--swin-gold-d); }
body.bps-member-home .bs-search input[type="search"]::placeholder { color: #807468; opacity: 1; }
body.bps-member-home .bs-search .bs-search-btn { color: var(--swin-gold-d); }
/* 단계 탭 세그먼트: 연한 샌드 바탕 안 흰 pill */
body.bps-member-home .bps-member-bid-home .bps-member-step-tabs.bs-segment { background: #F3EADB; border-radius: 999px; }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab { border-radius: 999px; color: #6B5B4E; font-weight: 500; }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab:hover { background: rgba(255,255,255,.6); }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-tab.is-active { background: #fff; color: var(--swin-champ-t); font-weight: 700; box-shadow: 0 6px 14px -8px rgba(107,91,78,.35); }
body.bps-member-home .bps-member-bid-home .bs-segment .bps-member-step-count,
body.bps-member-home .bps-member-bid-home .bs-segment .is-active .bps-member-step-count { color: inherit; }
/* 카드: 흰 바탕 radius 24, 머리카락 선 + 은은한 그림자 */
body.bps-member-home .bps-member-bid-home .bps-member-notice-card.bs-card,
body.bps-member-home .bps-member-bid-home .bps-member-empty-state,
body.bps-member-home .bps-member-bid-home .bs-jobs,
body.bps-member-home .bps-member-bid-home .bps-member-expired,
body.bps-member-home .bps-member-bid-home .bs-help-foot,
body.bps-member-home .bps-bid-history-tab .bps-bid-empty-state,
body.bps-member-home .bps-bid-overdue-section,
body.bps-member-home .bps-member-content > .bps-panel:not(.bps-bid-suite) { border: 1px solid var(--bs-line); box-shadow: var(--swin-shadow-card); }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact { transition: box-shadow .5s var(--swin-ease), border-color .5s var(--swin-ease), transform .5s var(--swin-ease); }
body.bps-member-home .bps-member-bid-home .bs-card.is-compact:hover { background: #fff; border-color: var(--swin-champ-b); box-shadow: 0 22px 40px -22px rgba(107,91,78,.35); }
@media (prefers-reduced-motion: no-preference) { body.bps-member-home .bps-member-bid-home .bs-card.is-compact:hover { transform: translateY(-2px); } }
body.bps-member-home .bps-member-bid-home .bs-card .bps-notice-card-title { font-weight: 600; letter-spacing: -0.03em; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-card-meta .bps-badge:first-child { color: var(--swin-gold-d); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-facts .bs-fact-main .bps-member-fact-value strong { color: var(--swin-champ-t); }
/* D-day: 평소 글자만, D-1·오늘 = 적갈색 점 + 적갈색 글자 */
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday { color: var(--bs-ink-3); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday.is-urgent { color: var(--swin-red); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-dday .bs-dot { background: var(--swin-red); }
body.bps-member-home .bps-member-bid-home .bs-facts .is-warn .bps-member-fact-value strong { color: var(--swin-red); }
/* 글자 링크·투찰하기 › */
body.bps-member-home .bs-link { transition: background .2s var(--swin-ease), color .2s var(--swin-ease); }
body.bps-member-home .bs-link:hover { background: var(--bs-fill); color: var(--swin-gold-d); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go { color: var(--swin-gold-d); border-radius: 999px; }
body.bps-member-home .bps-member-bid-home .bs-card .bs-go .bs-chev { color: var(--swin-gold); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-actions > .bs-go:focus-visible { outline-color: var(--swin-gold-d); }
/* 주 버튼 = 챔페인 그라데이션 pill(글자 #66533E, 5.2:1) · 보조 = 흰 pill */
body.bps-member-home .bps-member-bid-home .bs-primary,
body.bps-member-home .bs-primary,
body.bps-member-home .bps-member-modal .swin-dialog__foot .bps-btn-primary,
body.bs-auth-page .bps-auth .bps-btn-primary,
body.bps-member-home .bps-member-modal .bps-btn-primary { border: 1px solid var(--swin-champ-line); border-radius: 999px; background: linear-gradient(180deg, var(--swin-champ-a) 0%, var(--swin-champ-b) 100%); color: var(--swin-champ-t); font-weight: 600; letter-spacing: .02em; box-shadow: var(--swin-shadow-btn); transition: background .2s var(--swin-ease), border-color .2s var(--swin-ease), box-shadow .2s var(--swin-ease); }
body.bps-member-home .bs-primary:hover,
body.bps-member-home .bps-member-modal .bps-btn-primary:hover,
body.bs-auth-page .bps-auth .bps-btn-primary:hover { background: linear-gradient(180deg, #F0E4CD 0%, #E2CFAC 100%); border-color: #CDB384; color: var(--swin-champ-t); box-shadow: 0 14px 28px -14px rgba(150,120,75,.65), inset 0 1px 0 rgba(255,255,255,.7); }
body.bps-member-home .bs-primary:disabled,
body.bps-member-home .bps-member-modal .bps-btn-primary:disabled { background: #F3EEE6; border-color: var(--bs-line); color: #776B62; box-shadow: none; }
body.bps-member-home .bps-member-bid-home .bs-secondary,
body.bps-member-home .bs-secondary,
body.bps-member-home .bps-member-modal .swin-dialog__foot .bps-btn-outline,
body.bs-auth-page .bps-auth .bps-btn-outline,
body.bps-member-home .bps-member-bid-home .bps-member-empty-action { border: 1px solid var(--swin-border-strong); border-radius: 999px; background: #fff; color: var(--bs-ink); font-weight: 600; box-shadow: none; transition: background .2s var(--swin-ease), border-color .2s var(--swin-ease), color .2s var(--swin-ease); }
body.bps-member-home .bs-secondary:hover,
body.bps-member-home .bps-member-modal .bps-btn-outline:hover,
body.bs-auth-page .bps-auth .bps-btn-outline:hover,
body.bps-member-home .bps-member-bid-home .bps-member-empty-action:hover { background: var(--bs-bg); border-color: var(--swin-gold); color: var(--swin-gold-d); }
body.bps-member-home .bs-primary:focus-visible,
body.bps-member-home .bs-secondary:focus-visible,
body.bps-member-home .bs-link:focus-visible,
body.bps-member-home .bs-more > summary:focus-visible { outline-color: var(--swin-gold-d); }
/* bidsite 투찰 칸: 아이보리 판 + 머리카락 선 */
body.bps-member-home .bps-member-bid-home .bs-assist,
body.bps-member-home .bps-member-bid-home .bps-my-price.bs-amount { border: 1px solid var(--bs-line); border-radius: 20px; background: var(--bs-bg); }
body.bps-member-home .bs-amount-num,
body.bps-member-home .bs-amount-num strong,
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bps-bid-assist-amount,
body.bps-member-home .bps-member-bid-home .bs-card .bs-assist .bps-bid-assist-amount strong { font-weight: 700; color: var(--swin-champ-t); }
/* 단계: 끝난 단계 = 골드 원 ✓ + 골드 선, 지금 = 흰 원 골드 테두리, 남은 = 연한 원 */
body.bps-member-home .bs-steps li { color: var(--bs-ink-3); }
body.bps-member-home .bs-steps .bs-step-mark { background: #F3EADB; color: var(--bs-ink-2); }
body.bps-member-home .bs-steps li.is-done .bs-step-mark { background: var(--swin-gold-d); color: #fff; }
body.bps-member-home .bs-steps li.is-done::after { background: var(--swin-gold); }
body.bps-member-home .bs-steps li.is-current .bs-step-mark { background: #fff; color: var(--swin-champ-t); box-shadow: inset 0 0 0 2px var(--swin-gold-d); }
body.bps-member-home .bs-steps li.is-current { color: var(--swin-champ-t); }
/* 상태 점 */
body.bps-member-home .bs-status .bs-dot { background: var(--swin-gold); }
/* 빈 상태 */
body.bps-member-home .bps-member-bid-home .bps-member-empty-icon { color: var(--swin-gold); }
body.bps-member-home .bps-member-bid-home .bps-member-empty-title { font-weight: 600; }
/* 알림 */
body.bps-member-home .bs-toast-msg { border-radius: 20px; background: var(--bs-ink); box-shadow: var(--swin-shadow); }
/* 팝업 */
body.bps-member-home .bps-member-modal .swin-dialog { border: 1px solid var(--bs-line); box-shadow: var(--swin-shadow); }
body.bps-member-home .bps-member-modal .swin-dialog__title { font-weight: 600; letter-spacing: -0.03em; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-member-assess,
body.bps-member-home .bps-member-modal input[type="text"],
body.bps-member-home .bps-member-modal input[type="datetime-local"],
body.bps-member-home .bps-member-modal input[type="number"],
body.bs-auth-page .bps-auth input[type="text"],
body.bs-auth-page .bps-auth input[type="password"],
body.bs-auth-page .bps-auth input[type="email"],
body.bs-auth-page .bps-auth input[type="tel"] { border: 1px solid var(--swin-border-strong); background: #fff; color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-member-assess { border-radius: 16px; }
body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-member-assess:focus,
body.bps-member-home .bps-member-modal input:focus,
body.bs-auth-page .bps-auth input:focus { outline: 0; border-color: var(--swin-gold-d); box-shadow: 0 0 0 3px rgba(201,174,128,.35); background: #fff; }
body.bps-member-home .bps-member-modal .bps-calc-preview-display,
body.bps-member-home .bps-member-modal .bps-calc-saved-display { border: 1px solid var(--bs-line); background: var(--bs-bg); }
body.bps-member-home .bps-member-modal .bps-calc-preview-amount,
body.bps-member-home .bps-member-modal .bps-calc-saved-amount { font-weight: 700; color: var(--swin-champ-t); }
body.bps-member-home .bps-member-modal .bps-modal-code-row .bps-copy-inline.swin-copy { border-radius: 999px; }
/* 투찰 내역 표 */
body.bps-member-home .bps-bid-history-tab .bs-history { border: 1px solid var(--bs-line); box-shadow: var(--swin-shadow-card); }
@media (max-width: 640px) {
	body.bps-member-home .bps-bid-history-tab .bs-history { border: 0; box-shadow: none; }
	body.bps-member-home .bps-bid-history-tab .bs-history tr { border: 1px solid var(--bs-line); box-shadow: var(--swin-shadow-card); }
	body.bps-member-home .bps-member-modal .bps-calc-member .bps-calc-direct-form > .bps-modal-btns { background: #fff; }
}
/* 로그인: 아이보리 바탕, 가는+굵은 제목 */
body.bs-auth-page { background: var(--bs-bg); }
body.bs-auth-page .bs-auth-title { font-weight: 300; letter-spacing: -0.03em; }
body.bs-auth-page .bs-auth-title b { font-weight: 700; }
body.bs-auth-page .bps-auth-error { color: var(--swin-red); }
/* 3차 보정: 옛 bid-price.css 토큰(--bps-*)도 회원 화면에선 care79 값. 주 버튼은 --swin-primary-* 토큰(swin-ds.css) */
body.bps-member-home { --bps-primary: #9A3F28; --bps-primary-dark: #8F3A24; --bps-primary-tint: #FBEDE8;
	--bps-select: #7D6747; --bps-select-text: #66533E; --bps-success: #7D6747; --bps-calc: #66533E; --bps-mint-tint: #F7F1E6;
	--bps-warn: #C9AE80; --bps-danger: #9A3F28; --bps-border: #EFE6D6; --bps-border-strong: #DCCDB3; --bps-page-bg: #FBF8F2; --bps-text: #6B5B4E; --bps-muted: #776B62; }
body.bps-member-home .bps-btn.bps-btn-primary { background: var(--swin-primary-bg); border-color: var(--swin-primary-line); color: var(--swin-primary-fg); border-radius: 999px; box-shadow: var(--swin-primary-shadow); }
body.bps-member-home .bps-btn.bps-btn-primary:hover { background: var(--swin-primary-bg-hover); border-color: var(--swin-primary-line-hover); color: var(--swin-primary-fg); }
body.bps-member-home .bps-member-bid-home .bs-card .bs-go .bs-chev { color: var(--swin-gold-d); }
body.bps-member-home .bs-steps .bs-step-mark { color: #6B5B4E; }
/* 3차 보정 2: 팝업 뒤 어둡게 = 따뜻한 갈색 반투명, 계산 근거 글자 = 보조색, 기관 칩 한 줄에 들어가게 */
body.bps-member-home .bps-overlay { background: rgba(107, 91, 78, .42); }
body.bps-member-home .bps-calc-preview-rate,
body.bps-member-home .bps-calc-preview-row span:last-child { color: var(--bs-ink); }
body.bps-member-home .bps-member-modal .bps-calc-preview-basis { color: var(--bs-ink-2); font-weight: 500; }
body.bps-member-home .bps-member-bid-home .bps-bid-chip { padding: 0 14px; }
body.bps-member-home { accent-color: #7D6747; } /* 체크박스·라디오 = 골드(파랑 기본색 대신) */
body.bps-member-home { --bs-danger-line: #C98A76; --bs-danger-tint: #FBEDE8; } /* 허용범위 밖 상자 왼쪽 막대(적갈색 연한) */
/* 4.15.0 [자동투찰] 한 번 흐름: 버튼 아래 작은 글씨, 확인창 큰 금액, 출처 줄, 오늘 투찰 n건 머리 */
body.bps-member-home .bps-autobid-go[hidden], body.bps-member-home .bps-assist-run[hidden] { display: none !important; }
body.bps-member-home .bs-assist .bps-autobid-go { width: 100%; min-height: 52px; font-size: 18px; font-weight: 700; }
body.bps-member-home .bs-go-sub { margin: 4px 0 0; font-size: 13px; color: var(--bs-ink-2); text-align: center; }
body.bps-member-home .bs-sources { font-size: 13px; }
body.bps-member-home .bs-assist-warn { color: var(--bs-ink); font-weight: 600; }
body.bps-member-home .bps-autobid-confirm .bs-go-big { font-size: 36px; }
body.bps-member-home .bps-autobid-confirm .bs-go-hangul { font-size: 18px; font-weight: 700; color: var(--bs-ink); margin: 2px 0 12px; }
body.bps-member-home .bs-go-list { margin: 0 0 12px; padding-left: 20px; color: var(--bs-ink-2); }
body.bps-member-home .bs-go-list li { margin: 2px 0; }
body.bps-member-home .bs-go-must { margin: 8px 0; padding: 10px 12px; border-radius: 12px; background: var(--bs-fill, #F7F1E6); color: var(--bs-ink); }
body.bps-member-home .bps-autobid-go-msg:empty, body.bps-member-home .bps-autobid-consent-msg:empty { display: none; }
body.bps-member-home .bps-autobid-consent .bps-apply-checkbox { display: flex; gap: 8px; align-items: flex-start; justify-content: flex-start; margin: 10px 0; line-height: 1.5; } /* 짧은 문장도 왼쪽 정렬(공통 .bps-apply-checkbox 의 가운데 정렬 덮기) */
body.bps-member-home .bps-autobid-consent .bps-apply-checkbox input { margin-top: 4px; flex: 0 0 auto; width: 20px; height: 20px; }
body.bps-member-home .bps-bidsite-today { margin: 6px 0 0; font-size: 15px; }
body.bps-member-home .bps-bidsite-today strong { color: var(--bs-ink); }
body.bps-member-home .bs-snapshot { font-size: 13px; }
body.bps-member-home .bps-bidsite-today-why { display: block; margin: 2px 0 0 18px; }

/* ---------- 2026-10-28 빠른 필터·저장 검색·마감 달력 (p2m) ---------- */
.bps-member-bid-home .bps-member-quick, .bps-member-bid-home .bps-member-saved .bps-bid-chiprow { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.bps-member-bid-home .bps-member-row-label { font-size: 14px; font-weight: 600; color: var(--swin-text-2, #374151); margin-right: 4px; }
.bps-member-bid-home .bps-member-saved, .bps-member-bid-home .bps-member-cal { margin: 8px 0; }
.bps-member-ss-form { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 16px; align-items: end; margin: 8px 0; }
.bps-member-ss-form label { display: flex; flex-direction: column; gap: 4px; font-size: 14px; font-weight: 600; color: var(--swin-text-2, #374151); min-width: 0; }
.bps-member-ss-form input { min-height: 44px; font-size: 16px; box-sizing: border-box; width: 100%; min-width: 0; }
.bps-member-ss-form .bps-member-ss-adv { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 10px 16px; }
.bps-member-ss-form .bps-member-ss-adv > summary { grid-column: 1 / -1; cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.bps-member-ss-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-width: 0; }
.bps-member-ss-form > .bps-btn { min-height: 44px; }
.bps-cal-head { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.bps-cal-head .bps-btn { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.bps-cal-dow, .bps-cal-week { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; }
.bps-cal-week { margin-top: 4px; }
.bps-cal-dow span { text-align: center; font-size: 14px; color: var(--swin-text-2, #374151); }
.bps-cal-day { min-width: 0; }
.bps-cal-btn { width: 100%; min-height: 64px; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 6px; box-sizing: border-box; background: var(--swin-panel, #fff); border: 1px solid var(--swin-border, #E5E7EB); border-radius: 8px; font: inherit; color: var(--swin-text, #111827); text-align: left; cursor: pointer; }
.bps-cal-btn:disabled { cursor: default; }
.bps-cal-day.is-out .bps-cal-btn { opacity: .4; }
.bps-cal-day.is-past .bps-cal-btn { background: var(--swin-muted-bg, #EEF0F2); }
.bps-cal-day.is-today .bps-cal-btn { border: 2px solid var(--swin-red, #E10600); }
.bps-cal-day.is-picked .bps-cal-btn { outline: 3px solid var(--swin-focus, #1D4ED8); outline-offset: 1px; }
.bps-cal-date { font-weight: 700; font-size: 15px; }
.bps-cal-date em { font-style: normal; font-size: 14px; color: var(--swin-red-dark, #B90400); }
.bps-cal-wd { display: none; }
.bps-cal-counts { display: flex; flex-wrap: wrap; gap: 2px; }
.bps-cal-tag { display: inline-block; font-size: 14px; line-height: 1.3; padding: 0 4px; border-radius: 4px; background: var(--swin-info-bg, #EAF1FF); color: var(--swin-info-fg, #1E40AF); white-space: nowrap; }
.bps-cal-tag.is-app { background: var(--swin-warn-bg, #FFF4DB); color: var(--swin-warn-fg, #7A4500); }
.bps-cal-items { display: none; list-style: none; margin: 0; padding: 0; }
.bps-cal-items li { padding: 6px 0; border-bottom: 1px solid var(--swin-border, #E5E7EB); overflow-wrap: anywhere; }
.bps-cal-items a { min-height: 44px; font-weight: 600; }
.bps-cal-panel { margin-top: 12px; padding: 12px; border: 1px solid var(--swin-border, #E5E7EB); border-radius: 8px; background: var(--swin-panel, #fff); }
.bps-cal-panel h6 { margin: 0 0 6px; font-size: 16px; }
.bps-cal-panel .bps-cal-items { display: block; }
@media (max-width: 640px) {
	/* 모바일: 주 단위 목록 — 공고 있는 날(과 오늘)만, 목록을 날짜 안에 바로 */
	.bps-cal-dow, .bps-cal-panel, .bps-cal-week.is-empty, .bps-cal-day.is-out, .bps-cal-day:not(.has-ev):not(.is-today) { display: none !important; }
	.bps-cal-week { display: block; margin-top: 10px; }
	.bps-cal-week::before { content: attr(data-week); display: block; font-size: 14px; font-weight: 700; color: var(--swin-text-2, #374151); margin-bottom: 4px; }
	.bps-cal-day { margin-bottom: 6px; border: 1px solid var(--swin-border, #E5E7EB); border-radius: 8px; padding: 6px 10px; background: var(--swin-panel, #fff); }
	.bps-cal-day.is-today { border: 2px solid var(--swin-red, #E10600); }
	.bps-cal-btn, .bps-cal-day.is-today .bps-cal-btn { min-height: 44px; flex-direction: row; align-items: center; justify-content: space-between; border: 0; padding: 0; background: none; }
	.bps-cal-wd { display: inline; font-weight: 500; }
	.bps-cal-items { display: block; }
}
.bps-cal-tag.is-open { background: var(--swin-ok-bg, #E6F4EC); color: var(--swin-ok-fg, #0B6B3A); }
.bps-cal-views { display: inline-flex; gap: 6px; }
/* 주간 보기: 7일을 줄로, 목록은 날짜 옆에 바로(달력 아래 칸 안 씀) */
.bps-cal.is-week .bps-cal-dow, .bps-cal.is-week ~ .bps-cal-panel { display: none !important; }
.bps-cal.is-week .bps-cal-week { display: block; }
.bps-cal.is-week .bps-cal-day { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px; align-items: start; padding: 8px 0; border-bottom: 1px solid var(--swin-border, #E5E7EB); }
.bps-cal.is-week .bps-cal-btn { min-height: 44px; }
.bps-cal.is-week .bps-cal-wd, .bps-cal.is-week .bps-cal-items { display: block; }
.bps-cal.is-week .bps-cal-wd { display: inline; }
@media (max-width: 640px) {
	.bps-cal.is-week .bps-cal-day { display: block !important; padding: 6px 10px; }
	.bps-cal.is-week .bps-cal-day:not(.has-ev):not(.is-today) { display: block !important; }
	.bps-cal.is-week .bps-cal-week::before { display: none; }
	.bps-cal.is-week .bps-cal-week.is-empty { display: block !important; }
}
.bps-member-bid-home .bps-bid-chiprow.bps-member-quick { flex-wrap: wrap; overflow: visible; }
.bps-cal-head .bps-btn { flex: 0 0 auto; width: 44px; padding: 0; }
.bps-cal-items .swin-num { font-size: 15px; margin: 0 6px 0 4px; }
.bps-cal-items li > .swin-help:last-child { margin-left: 6px; }
