/* REALJEJU consolidated stylesheet / Ver 2.903 */
/* Legacy split CSS is merged here so realjeju_2.903.html loads one CSS file. */
/* Responsive Refactor 3.240
 * Breakpoint order (desktop -> mobile): 1440, 980, 900, 720, 480
 * Rule:
 * 1) New responsive styles must use only the breakpoints above.
 * 2) Do not add inline one-line @media blocks.
 * 3) Keep component base style + responsive override close together.
 */


/* ===== MERGED FROM map_2.712.css ===== */
/* ===== INLINE FROM map.css ===== */
/* REALJEJU map.css - stable split from realjeju_2.361(3).html / Ver 2.396 */

.map-side-tools
{
	transition: none;
}

.map-wrap.is-roadview-open #map
{
	transform: none;
	filter: none;
}

.roadview-overlay
{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: auto;
	width: min(66vw, calc(100% - 360px));
	min-width: min(520px, 100%);
	max-width: 100%;
	z-index: 260;
	overflow: hidden;
	pointer-events: none;
	opacity: 0;
	transform: translateX(-24px) scale(1.02);
	transition: opacity 0.28s ease, transform 0.32s ease;
	background: #000;
}

.roadview-overlay.detail-panel-roadview
{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	width: var(--rj-detail-panel-width);
	max-width: 100vw;
	z-index: 10080;
	transform: translateX(24px) scale(1.02);
}

.roadview-overlay:fullscreen
{
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	min-width: 0;
	max-width: none;
	z-index: 2147483647;
}

.roadview-overlay:-webkit-full-screen
{
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100vh;
	min-width: 0;
	max-width: none;
	z-index: 2147483647;
}

.roadview-overlay.open
{
	pointer-events: auto;
	opacity: 1;
	transform: translateX(0) scale(1);
}

.roadview-inner
{
	width: 100%;
	height: 100%;
}

.roadview-close-btn
{
	position: absolute;
	top: 16px;
	right: 16px;
	z-index: 130;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 0;
	background: rgba(17,24,39,0.72);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	backdrop-filter: blur(6px);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.2s ease 0.08s, transform 0.24s ease 0.08s, background 0.18s ease;
}

.roadview-close-btn:hover
{
	background: rgba(17,24,39,0.84);
}

.roadview-close-btn i
{
	font-size: 17px;
	line-height: 1;
}

.roadview-fullscreen-btn
{
	position: absolute;
	top: 16px;
	right: 64px;
	z-index: 130;
	height: 40px;
	padding: 0 14px;
	border: 0;
	border-radius: 0;
	background: rgba(255,255,255,0.92);
	color: #111827;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	backdrop-filter: blur(6px);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: -0.1px;
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.2s ease 0.08s, transform 0.24s ease 0.08s, background 0.18s ease;
}

.roadview-fullscreen-btn:hover
{
	background: rgba(255,255,255,0.98);
}

.roadview-overlay.open .roadview-close-btn, .roadview-overlay.open .roadview-fullscreen-btn
{
	opacity: 1;
	transform: translateY(0);
}

.roadview-direction-overlay
{
	--roadview-pan: 0deg;
	position: relative;
	width: 96px;
	height: 96px;
	pointer-events: none;
	transform: translateZ(0);
}

.roadview-direction-range
{
	position: absolute;
	inset: 10px;
	border-radius: 999px;
	background: rgba(37, 99, 235, 0.18);
	border: 1px solid rgba(37, 99, 235, 0.22);
	box-sizing: border-box;
}

.roadview-direction-cone
{
	position: absolute;
	left: 50%;
	top: 50%;
	width: 76px;
	height: 76px;
	background: linear-gradient(90deg, rgba(34, 197, 94, 0.82), rgba(34, 197, 94, 0.28));
	clip-path: polygon(50% 50%, 8% 14%, 92% 14%);
	transform: translate(-50%, -50%) rotate(var(--roadview-pan));
	transform-origin: 50% 50%;
	filter: drop-shadow(0 4px 8px rgba(15, 23, 42, 0.16));
}

.map-filter-bar
{
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 30;
	display: flex;
	flex-direction: column;
	gap: 8px;
	max-width: calc(100% - 24px);
	padding: 12px;
	border-radius: 0;
	background: rgba(255,255,255,0.94);
	border: 1px solid rgba(0,0,0,0.05);
	box-shadow: var(--shadow);
	backdrop-filter: blur(10px);
}

.map-result-count
{
	display: none;
	position: absolute;
	top: 120px;
	left: 12px;
	z-index: 30;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 10px 15px;
	border-radius: 0;
	background: rgba(15,41,66,0.92);
	color: #fff;
	font-size: 14px;
	font-weight: 900;
	box-shadow: var(--shadow);
	backdrop-filter: blur(10px);
	letter-spacing: -0.2px;
}

.map-result-count::before
{
	content: "●";
	color: #34d399;
	font-size: 14px;
	letter-spacing: -0.1px;
}

.map-agent-card
{
	position: absolute;
	top: 24px;
	right: 20px;
	z-index: 33;
	width: 460px;
	border-radius: 0;
	background: rgba(255,255,255,0.98);
	border: 1px solid rgba(15, 41, 66, 0.08);
	box-shadow: 0 16px 36px rgba(15, 41, 66, 0.16);
	backdrop-filter: blur(10px);
	overflow: hidden;
	display: none;
}

.map-agent-close
{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 0;
	background: rgba(15, 41, 66, 0.08);
	color: #506070;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 2;
}

.map-agent-close:hover
{
	background: rgba(15, 41, 66, 0.08);
	color: #506070;
}

.map-agent-close i
{
	font-size: 14px;
	line-height: 1;
}

.map-agent-head
{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 14px 16px 10px;
	border-bottom: 1px solid #eef2f6;
	background: rgba(255,255,255,0.6);
	backdrop-filter: blur(10px);
}

.map-agent-head-title
{
	font-size: 18px;
	font-weight: 900;
	color: #2563eb;
	letter-spacing: -0.3px;
}

.map-agent-head-sub
{
	font-size: 15px;
	font-weight: 900;
	color: #1f2a36;
	letter-spacing: -0.2px;
}

.map-agent-body
{
	display: grid;
	grid-template-columns: 124px 1fr;
	gap: 12px;
	padding: 12px 14px 14px;
}

.map-agent-photo
{
	height: 118px;
	border-radius: 0;
	background: #eef3f7 center / cover no-repeat;
	box-shadow: 0 8px 20px rgba(15, 41, 66, 0.10);
	overflow: hidden;
}

.map-agent-photo img
{
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: #f4f7fb;
}

.map-agent-content
{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.map-agent-name-row
{
	display: flex;
	align-items: baseline;
	gap: 8px;
	min-width: 0;
	flex-wrap: wrap;
}

.map-agent-name-role
{
	font-size: 15px;
	font-weight: 900;
	color: #111827;
	line-height: 1.35;
	letter-spacing: -0.2px;
}

.map-agent-badges
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	margin-bottom: var(--property-registrant-check-bottom-gap);
}

.map-agent-badge
{
	display: inline-flex;
	align-items: center;
	height: 26px;
	padding: 0 10px;
	border-radius: 0;
	background: #eef5ff;
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.map-agent-badge.secondary
{
	background: #f3eefe;
	color: #7c4dff;
}

.map-agent-name
{
	font-size: 24px;
	font-weight: 950;
	color: #111827;
	line-height: 1.08;
	letter-spacing: -0.8px;
	margin: 0;
}

.map-agent-office
{
	font-size: 18px;
	font-weight: 800;
	color: #1f6fff;
	letter-spacing: -0.25px;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.map-agent-desc
{
	display: none;
}

.map-agent-badge.secondary
{
	display: none;
}

.map-agent-desc
{
	font-size: 13px;
	font-weight: 800;
	color: #7c4dff;
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.map-agent-meta
{
	display: flex;
	flex-direction: column;
	gap: 0px;
	margin-top: 2px;
}

.map-agent-meta-row
{
	display: flex;
	align-items: center;
	gap: 0px;
	min-width: 0;
	min-height: 28px;
}

.map-agent-meta-label
{
	width: 72px;
	flex: 0 0 72px;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 700;
	color: #9aa3af;
	line-height: 1.35;
	white-space: nowrap;
	font-family: var(--font-ui);
}

.map-agent-meta-value
{
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	min-height: 24px;
	margin: 0;
	padding: 0;
	font-family: var(--font-ui);
	font-variant-numeric: normal;
	font-size: 14px;
	font-weight: 700;
	color: #4b5563;
	letter-spacing: -0.12px;
	line-height: 1.35;
	min-width: 0;
	white-space: nowrap;
	overflow: visible;
	text-overflow: clip;
	word-break: normal;
}

#mapAgentAddress
{
	white-space: normal;
	line-height: 1.45;
	word-break: keep-all;
}

#mapAgentRegNo
{
	line-height: 1.35;
}

#mapAgentPhone
{
	display: flex;
	align-items: center;
	font-size: 20px;
	font-weight: 800;
	color: #1f2a36;
	letter-spacing: -0.18px;
	line-height: 1.35;
	font-family: var(--font-ui);
	font-variant-numeric: normal;
}

.map-recommend-close
{
	position: absolute;
	top: 10px;
	right: 10px;
	width: 28px;
	height: 28px;
	border: 0;
	border-radius: 0;
	background: rgba(15, 41, 66, 0.08);
	color: #506070;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 1;
}

.map-recommend-close:hover
{
	background: rgba(15, 41, 66, 0.08);
	color: #506070;
}

.map-recommend-close i
{
	font-size: 14px;
	line-height: 1;
}

.map-recommend-card
{
	display: none;
	position: absolute;
	right: 20px;
	bottom: 20px;
	z-index: 32;
	width: 320px;
	border-radius: 0;
	background: rgba(255,255,255,0.98);
	border: 1px solid rgba(15, 41, 66, 0.08);
	box-shadow: 0 16px 36px rgba(15, 41, 66, 0.16);
	backdrop-filter: blur(10px);
	overflow: hidden;
	cursor: pointer;
}

.map-recommend-head
{
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 14px 16px 10px;
	border-bottom: 1px solid #eef2f6;
}

.map-recommend-title
{
	font-size: 18px;
	font-weight: 900;
	color: #2563eb;
	letter-spacing: -0.3px;
}

.map-recommend-sub
{
	font-size: 15px;
	font-weight: 900;
	color: #1f2a36;
	letter-spacing: -0.2px;
}

.map-recommend-body
{
	display: grid;
	grid-template-columns: 124px 1fr;
	gap: 12px;
	padding: 12px 14px 14px;
}

.map-recommend-thumb
{
	height: 118px;
	border-radius: 0;
	background: #eef3f7 center / cover no-repeat;
	box-shadow: 0 8px 20px rgba(15, 41, 66, 0.10);
}

.map-recommend-content
{
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.map-recommend-badges
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	margin-bottom: 0;
}

.map-recommend-badge
{
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 10px;
	border-radius: 0;
	background: #f3eefe;
	color: #7c4dff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	white-space: nowrap;
}

.map-recommend-badge.deal
{
	background: #eef5ff;
	color: #2563eb;
}

.map-recommend-price
{
	font-family: var(--font-ui);
	font-variant-numeric: tabular-nums;
	font-size: 24px;
	font-weight: 950;
	color: #111827;
	line-height: 1.08;
	letter-spacing: -0.8px;
	margin: 0;
}

.map-recommend-title-text
{
	font-size: 15px;
	font-weight: 900;
	color: #111827;
	line-height: 1.35;
	letter-spacing: -0.25px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: keep-all;
}

.map-recommend-address
{
	font-size: 13px;
	font-weight: 700;
	color: #6b7785;
	line-height: 1.45;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.map-recommend-footer, .map-agent-footer
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	padding: 10px 16px 14px;
	border-top: 1px solid #eef2f6;
	background: rgba(255,255,255,0.98);
}

.map-hide-today-label
{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
	letter-spacing: -0.1px;
	cursor: pointer;
	user-select: none;
}

.map-hide-today-label input
{
	width: 14px;
	height: 14px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex: 0 0 auto;
}

.map-side-tools
{
	position: absolute;
	top: var(--map-side-tools-top);
	right: var(--map-side-tools-right);
	left: auto;
	z-index: 31;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: var(--map-tool-stack-gap);
}

.map-tool-group
{
	display: flex;
	flex-direction: column;
	gap: var(--map-tool-button-gap);
	padding: 0;
	height: auto;
	border-radius: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	backdrop-filter: none;
	overflow: visible;
}

.map-tool-btn
{
	width: var(--map-control-box-size);
	height: var(--map-control-box-size);
	box-sizing: border-box;
	border: 1px solid #cfd7e2;
	border-radius: var(--map-control-radius);
	padding: 0;
	background: #ffffff;
	color: #223244;
	font-size: var(--map-control-font-size);
	font-weight: 900;
	letter-spacing: -0.2px;
	cursor: pointer;
	white-space: nowrap;
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.map-tool-btn + .map-tool-btn
{
	margin-left: 0;
	border-left: 1px solid #cfd7e2;
}

.map-tool-btn.active
{
	background: #1f6fff;
	border-color: #1a5fe0;
	color: #ffffff;
	box-shadow: 0 8px 18px rgba(31,111,255,0.22);
}

#areaUnitToolGroup
{
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.map-unit-split
{
	width: var(--map-control-box-size);
	height: var(--map-control-box-size);
	box-sizing: border-box;
	border: 1px solid #cfd7e2;
	border-radius: var(--map-control-radius);
	background: #ffffff;
	overflow: hidden;
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
	display: flex;
	flex-direction: column;
	margin-top: var(--map-unit-top-offset);
	margin-left: 0;
}

.map-unit-half-btn
{
	flex: 1 1 50%;
	border: 0;
	background: #ffffff;
	color: #223244;
	font-size: var(--map-control-font-size);
	font-weight: 900;
	letter-spacing: -0.2px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	line-height: 1;
	padding: 0;
}

.map-unit-half-btn + .map-unit-half-btn
{
	border-top: 1px solid #dbe2eb;
	border-left: 0;
}

.map-unit-half-btn.active
{
	background: #1f6fff;
	color: #ffffff;
}

.life-safety-legend
{
	position: absolute;
	top: var(--map-side-tools-top);
	right: calc(var(--map-side-tools-right) + var(--map-control-box-size) + var(--map-zoom-stack-gap-from-unit));
	z-index: 33;
	display: none;
	width: 162px;
	box-sizing: border-box;
	padding: 10px 11px;
	border: 1px solid #dbe4ee;
	border-radius: var(--map-control-radius);
	background: rgba(255,255,255,0.94);
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
	color: #223244;
	font-family: var(--font-ui);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.25;
	pointer-events: none;
}

.life-safety-legend.open
{
	display: block;
}

.life-safety-legend-title
{
	margin-bottom: 3px;
	font-size: 13px;
	font-weight: 800;
	color: #111827;
	white-space: nowrap;
}

.life-safety-legend-scope
{
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	color: #6b7280;
	white-space: normal;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.life-safety-legend-row
{
	display: flex;
	align-items: center;
	gap: 7px;
	min-height: 18px;
	color: #374151;
}

.life-safety-legend-swatch
{
	width: 14px;
	height: 10px;
	border: 1px solid rgba(31, 41, 55, 0.18);
	box-sizing: border-box;
	flex: 0 0 auto;
}

.life-safety-legend-swatch.level-1
{
	background: #fff7cc;
}

.life-safety-legend-swatch.level-2
{
	background: #facc15;
}

.life-safety-legend-swatch.level-3
{
	background: #f59e0b;
}

.life-safety-legend-swatch.level-4
{
	background: #f97316;
}

.life-safety-legend-swatch.level-5
{
	background: #dc2626;
}

.life-safety-legend-note
{
	margin-top: 7px;
	padding-top: 7px;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.35;
}

.map-wrap > .map-filter-bar
{
	display: none;
}

.map-empty-state
{
	position: absolute;
	inset: 50% auto auto 50%;
	transform: translate(-50%, -50%);
	z-index: 29;
	display: none;
	width: min(420px, calc(100% - 48px));
	padding: 18px 20px;
	border-radius: 0;
	background: rgba(255,255,255,0.96);
	border: 1px solid rgba(15, 41, 66, 0.08);
	box-shadow: 0 16px 36px rgba(15, 41, 66, 0.14);
	backdrop-filter: blur(10px);
	text-align: center;
	pointer-events: none;
}

.map-empty-state.open
{
	display: block;
}

.map-empty-state-title
{
	font-size: 17px;
	font-weight: 900;
	color: #17212b;
	letter-spacing: -0.25px;
	margin-bottom: 8px;
	line-height: 1.35;
}

.map-empty-state-desc
{
	font-size: 14px;
	font-weight: 700;
	color: #6b7785;
	letter-spacing: -0.15px;
	line-height: 1.5;
	white-space: pre-line;
}

/* ===== custom map zoom buttons ===== */ .map-zoom-stack
{
	position: absolute;
	right: var(--map-side-tools-right);
	top: calc(var(--map-side-tools-top) + var(--map-type-tool-height) + var(--map-tool-stack-gap) + var(--map-unit-top-offset) + var(--map-unit-tool-height) + var(--map-zoom-stack-gap-from-unit));
	transform: none;
	z-index: 34;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--map-zoom-current-gap);
}

.map-zoom-group
{
	display: flex;
	flex-direction: column;
	width: var(--map-control-box-size);
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid #cfd7e2;
	border-radius: var(--map-control-radius);
	background: #ffffff;
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
}

.map-zoom-btn, .map-current-btn
{
	width: var(--map-control-box-size);
	height: var(--map-control-box-size);
	min-width: var(--map-control-box-size);
	max-width: var(--map-control-box-size);
	min-height: var(--map-control-box-size);
	max-height: var(--map-control-box-size);
	aspect-ratio: 1 / 1;
	box-sizing: border-box;
	flex: 0 0 var(--map-control-box-size);
	padding: 0;
	line-height: 1;
	border: 0;
	background: #ffffff;
	color: #223244;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	transition: none;
}

.map-zoom-btn
{
	width: 100%;
	height: var(--map-control-box-size);
	min-width: 0;
	max-width: none;
	border-radius: 0;
	box-shadow: none;
}

.map-zoom-btn + .map-zoom-btn
{
	border-top: 1px solid #dbe2eb;
}

.map-current-btn
{
	width: var(--map-control-box-size);
	height: var(--map-control-box-size);
	border: 1px solid #cfd7e2;
	border-radius: var(--map-control-radius);
	background: #ffffff;
	color: #223244;
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
}

.map-zoom-btn i
{
	font-size: 16px;
	line-height: 1;
	pointer-events: none;
}

.map-current-btn i
{
	font-size: 16px;
	line-height: 1;
	pointer-events: none;
}

.map-current-btn:hover, .map-zoom-btn:hover
{
	background: #ffffff;
	color: #223244;
	box-shadow: 0 6px 14px rgba(15, 41, 66, 0.12);
}

.map-current-btn:hover
{
	background: #ffffff;
	color: #223244;
}

.map-current-btn:active, .map-zoom-btn:active
{
	transform: none;
	box-shadow: none;
}

/* ===== hide Kakao original zoom control ===== */ .map-wrap .map_zoomcontrol, .map-wrap .map_controls, .map-wrap .map_typecontrol
{
	display: none;
}

.sidebar, .map-wrap, #map
{
	height:calc(100dvh - var(--topbar-main-height) - var(--topbar-sub-height));
}

.map-wrap
{
	position:relative;
	min-width:0;
	width:100%;
	overflow:hidden;
	background:#dde7ef;
}

#map
{
	width:100%;
	transition:transform .32s ease, filter .28s ease;
	transform-origin:center center;
}

.global-topbar .map-filter-bar
{
	position:static;
	top:auto;
	left:auto;
	z-index:auto;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	gap:12px;
	max-width:none;
	width:100%;
	min-width:0;
	padding:0;
	border-radius: 0;
	background:transparent;
	border:0;
	box-shadow:none;
	backdrop-filter:none;
	overflow:visible;
}

.map-side-tools
{
	right: var(--map-side-tools-right);
	left: auto;
}

.map-empty-state
{
	text-align:left;
}

.map-empty-state-desc
{
	display:flex;
	flex-direction:column;
	gap:2px;
	text-align:left;
	white-space:normal;
}

.global-topbar .map-filter-bar
{
	width: max-content;
	min-width: max-content;
	max-width: none;
	overflow: visible;
	flex: 0 0 auto;
}

.sub-topbar .map-filter-bar
{
	position:static;
	top:auto;
	left:auto;
	z-index:auto;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:center;
	gap:var(--sub-filter-gap);
	width: max-content;
	min-width: max-content;
	max-width: none;
	padding:0;
	border-radius:0;
	background:transparent;
	border:0;
	box-shadow:none;
	backdrop-filter:none;
	overflow: visible;
	flex: 0 0 auto;
	margin: 0 auto;
}


/* ===== MERGED FROM detail_2.712.css ===== */
/* ===== INLINE FROM detail.css ===== */
/* REALJEJU detail.css - stable split from realjeju_2.361(3).html / Ver 2.396 */

.sidebar-detail-panel::-webkit-scrollbar
{
	display: none;
}

.sidebar.expanded .sidebar-detail-panel
{
	opacity: 1;
}

.detail-topbar
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 5.8px 12px;
	border-bottom: 1px solid #eef2f6;
	background: rgba(255,255,255,0.98);
	backdrop-filter: blur(8px);
	overflow: visible;
}

.detail-close-btn, .detail-icon-btn
{
	border: 0;
	background: transparent;
	color: #223244;
	cursor: pointer;
	border-radius: 0;
	height: 36px;
	min-width: 36px;
	padding: 0 10px;
	font-weight: 600;
	font-size: 24px;
}

.detail-top-actions
{
	position: relative;
	display: flex;
	gap: 4px;
}

.detail-topbar-id
{
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 12px;
	font-size: 13px;
	font-weight: 400;
	color: #9ca3af;
	line-height: 1.3;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: center;
}

.detail-topbar-id-label
{
	color: #9ca3af;
	font-weight: 400;
}

.detail-topbar-id-value
{
	margin-left: 6px;
	color: #111827;
	font-weight: 700;
}

.detail-share-menu
{
	position: absolute;
	top: calc(100% + 14px);
	left: auto;
	right: 14px;
	width: 260px;
	min-width: 0;
	max-width: calc(100% - 28px);
	padding: 16px 14px 18px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #ffffff;
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.14);
	display: none;
	flex-direction: column;
	gap: 14px;
	z-index: 999999;
	pointer-events: auto;
	visibility: visible;
	transition: none;
	transform: none;
}

.detail-share-menu.open
{
	display: flex;
}

.detail-top-actions
{
	position: static;
	margin-left: auto;
	min-width: max-content;
}

.detail-auth-trigger
{
	border: 0;
	background: transparent;
	color: #6b7280;
	cursor: pointer;
	height: 36px;
	padding: 0 4px 0 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.15px;
	white-space: nowrap;
}

.detail-auth-trigger:hover
{
	color: #374151;
}

.detail-auth-trigger .auth-dot
{
	margin: 0 4px;
	color: #9ca3af;
}

.detail-top-actions .detail-icon-btn
{
	display: none;
}

.detail-share-head
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.detail-share-head strong
{
	color: #111827;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0;
	width: calc((100% - 18px) / 2);
	text-align: center;
	white-space: nowrap;
	display: inline-flex;
	align-items: baseline;
	justify-content: center;
}

.detail-share-feedback
{
	margin-left: 6px;
	color: #2563eb;
	font-size: 16px;
	font-weight: 800;
	vertical-align: baseline;
	display: inline-block;
	min-width: 42px;
	text-align: left;
}

.detail-share-close
{
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #7b8490;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: none;
	transition: none;
	transform: none;
}

.detail-share-close i
{
	font-size: 20px;
	line-height: 1;
}

.detail-share-options
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.detail-share-option
{
	width: 100%;
	min-height: 76px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111827;
	font-size: 14px;
	letter-spacing: 0;
	font-weight: 500;
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 0;
	cursor: pointer;
	user-select: none;
	box-shadow: none;
	transition: none;
	transform: none;
}

.detail-share-option:hover,
.detail-share-option:focus,
.detail-share-option:focus-visible,
.detail-share-option:active
{
	background: transparent;
	color: #111827;
	box-shadow: none;
	transform: none;
}

.detail-share-option-icon
{
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: #f2f4f7;
	color: #111827;
}

.detail-share-option.kakao .detail-share-option-icon
{
	background: #FEE500;
	color: #111827;
}

.detail-share-option-icon i
{
	font-size: 20px;
	line-height: 1;
}

.detail-scroll::-webkit-scrollbar
{
	display: none;
}

.detail-hero
{
	aspect-ratio: 4 / 3;
	height: auto;
	min-height: 0;
	background: #dbe6ef center / cover no-repeat;
	position: relative;
	overflow: hidden;
}

.detail-hero::after
{
	display: none;
}

.detail-hero-slides
{
	position: absolute;
	inset: 0;
	z-index: 0;
}

.detail-hero-slide
{
	position: absolute;
	inset: 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	opacity: 0;
	transition: opacity 0.35s ease;
	filter: contrast(1.05) brightness(1.03) saturate(1.05);
}

.detail-hero-slide.active
{
	opacity: 1;
}

.detail-hero img
{
	filter: contrast(1.05) brightness(1.03) saturate(1.05);
}

.detail-hero
{
	cursor: zoom-in;
}

.detail-hero-expand, .detail-hero-nav
{
	position: absolute;
	width: 44px;
	height: 56px;
	border-radius: 0;
	background: transparent;
	border: 0;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: none;
	cursor: pointer;
	z-index: 3;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.detail-hero-nav
{
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	transform: none;
}

.detail-hero-nav.prev
{
	left: 12px;
}

.detail-hero-nav.next
{
	right: 12px;
}

.detail-hero-nav i
{
	font-size: 24px;
	font-weight: 600;
	color: #ffffff;
	line-height: 1;
	text-shadow: 0 2px 8px rgba(0,0,0,0.55);
}

.detail-hero-nav:hover
{
	background: rgba(15,23,42,0.12);
}

.detail-hero-nav:active
{
	background: rgba(15,23,42,0.20);
}

.detail-hero-dots
{
	position: absolute;
	right: 16px;
	bottom: 16px;
	transform: none;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(15,23,42,0.62);
	color: #ffffff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	z-index: 3;
}

.detail-hero-dot
{
	width: 8px;
	height: 8px;
	border: 0;
	border-radius: 0;
	background: rgba(255,255,255,0.42);
	cursor: pointer;
	padding: 0;
	transition: width 0.2s ease, background 0.2s ease;
}

.detail-hero-dot.active
{
	width: 20px;
	background: rgba(255,255,255,0.98);
}

.detail-hero-badge
{
	display: none;
}

.detail-hero-overlay
{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	padding: 18px 18px 38px;
	color: #fff;
}

.detail-hero-price-row
{
	display: flex;
	align-items: flex-end;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.detail-hero-deal
{
	font-size: 16px;
	font-weight: 900;
	color: #8bd2ff;
	text-shadow: 0 2px 10px rgba(0,0,0,0.25);
	letter-spacing: -0.2px;
	line-height: 1.1;
}

.detail-hero-price
{
	font-size: 34px;
	font-weight: 900;
	line-height: 1.04;
	letter-spacing: -1px;
	text-shadow: 0 3px 14px rgba(0,0,0,0.32);
}

.detail-hero-address
{
	font-size: 14px;
	letter-spacing: -0.1px;
	line-height: 1.45;
	color: rgba(255,255,255,0.94);
	text-shadow: 0 1px 6px rgba(0,0,0,0.2);
}

.detail-hero-features
{
	display: none;
}

.detail-content
{
	padding: 16px 18px 0;
}

.detail-summary-top
{
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.detail-summary-type-badge
{
	display: inline-flex;
	align-items: center;
	height: 21px;
	padding: 0 8px;
	border-radius: 999px;
	background: #f5f7fa;
	color: #667085;
	font-size: 11.5px;
	letter-spacing: -0.1px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.15px;
	white-space: nowrap;
	max-width: 520px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.detail-summary-price-row
{
	display: flex;
	align-items: center;
	gap: 7px;
	flex-wrap: wrap;
	margin-bottom: 8px;
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	gap:6px;
}

.detail-summary-deal-badge
{
	display: inline-flex;
	align-items: center;
	height: 21px;
	padding: 0 8px;
	border-radius: 999px;
	background: #eef5ff;
	color: #2563eb;
	font-size: 11.5px;
	letter-spacing: -0.1px;
	font-weight: 760;
	line-height: 1;
	letter-spacing: -0.15px;
	white-space: nowrap;
	margin-top:0;
}

.detail-summary-block
{
	margin-bottom: 14px;
}

.detail-summary-badges
{
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	margin-bottom: 10px;
}

.detail-summary-badge
{
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 0;
	background: #eef5ff;
	color: #2563eb;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.15px;
	white-space: nowrap;
}

.detail-summary-price
{
	font-family: var(--font-ui);
	font-variant-numeric: tabular-nums;
	font-size: 34px;
	font-weight: 850;
	line-height: 1.05;
	letter-spacing: -0.55px;
	color: #111827;
	margin-bottom: 8px;
}

.detail-summary-address
{
	font-size: 13.5px;
	letter-spacing: -0.1px;
	line-height: 1.5;
	color: #7b8794;
}

.detail-summary-block
{
	margin-bottom: 12px;
}

.detail-summary-price-row
{
	align-items: flex-start;
	justify-content: flex-start;
	text-align: left;
	margin-bottom: 6px;
}

.detail-summary-price
{
	text-align: left;
	margin-bottom: 0;
}

.detail-summary-address
{
	margin-top: 6px;
	margin-bottom: 4px;
}

.detail-listing-no
{
	display: none;
	font-size: 12.5px;
	font-weight: 800;
	letter-spacing: -0.2px;
	color: #6b7280;
	margin-bottom: 4px;
	line-height: 1.3;
}

.detail-title-row
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 14px;
}

.detail-title-wrap
{
	flex: 0 0 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.detail-listing-no
{
	display: none;
	s font-size: 12.5px;
	font-weight: 800;
	letter-spacing: -0.2px;
	color: #6b7280;
	margin-bottom: 4px;
	line-height: 1.3;
}

.detail-title
{
	margin: 0;
	font-size: 16px;
	font-weight: 760;
	color: #1d2733;
	letter-spacing: -0.22px;
	line-height: 1.42;
}

.detail-inline-price, .detail-inline-address, .detail-type-badge
{
	display: none;
}

.detail-meta-grid
{
	display: grid;
	grid-template-columns: minmax(120px, 1.15fr) minmax(100px, 0.95fr) minmax(100px, 0.95fr);
	gap: 0;
	overflow: hidden;
	border-radius: 8px;
	border: 1px solid #eef2f6;
	margin-bottom: 14px;
	background: #fff;
}

.detail-meta-item
{
	padding: 9px 11px;
	border-right: 1px solid #eef2f6;
	min-width: 0;
}

.detail-meta-item:last-child
{
	border-right: 0;
}

.detail-meta-label
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 12px;
	letter-spacing: -0.1px;
	color: #98a2b3;
	margin-bottom: 4px;
	font-weight: 650;
}

.detail-meta-value
{
	display: flex;
	align-items: center;
	min-height: 20px;
	line-height: 1;
	font-size: 14px;
	color: #1f6fff;
	font-weight: 760;
	letter-spacing: -0.15px;
}

.detail-area-wrap
{
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	flex-wrap: nowrap;
	white-space: nowrap;
	min-width: 0;
	width: max-content;
	line-height: 1;
}

#detailAreaLabel
{
	font-size: 11.5px;
	font-weight: 650;
	color: #98a2b3;
	letter-spacing: -0.02px;
}

.detail-desc
{
	font-family: "Inter", "Pretendard", sans-serif;
	font-size: 13px;
	margin-bottom: 16px;
	color: #1f2a36;
	line-height: 1.58;
	white-space: pre-line;
	background: #ffffff;
	border: 1px solid #eef2f6;
	border-radius: 8px;
	padding: 14px 15px;
}

.detail-section-title
{
	display: none;
}

.detail-info-sections
{
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 6px;
	margin-bottom: 16px;
}

.detail-info-section
{
	background: #ffffff;
	border: 1px solid #eef2f6;
	border-radius: 8px;
	padding: 14px 15px 12px;
	box-shadow: none;
}

.detail-info-section-title
{
	font-size: 14px;
	font-weight: 760;
	color: #111827;
	margin-bottom: 10px;
	letter-spacing: -0.15px;
	padding-left: 0;
	margin-left: 0;
	line-height: 1.3;
}

.detail-info-list
{
	margin-bottom: 0;
	background: transparent;
	border: 0;
}

.detail-info-row
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 9px 0;
	border-bottom: 1px solid #f1f4f8;
}

.detail-info-row:last-child
{
	border-bottom: 0;
	padding-bottom: 2px;
}

.detail-info-label
{
	min-width: 100px;
	font-size: 12.5px;
	letter-spacing: -0.1px;
	font-weight: 500;
	color: #98a2b3;
	text-align: left;
	line-height: 1.3;
	letter-spacing: -0.15px;
}

.detail-info-value
{
	flex: 1;
	font-size: 12.5px;
	font-weight: 650;
	color: #1f2a36;
	text-align: right;
	line-height: 1.5;
	white-space: normal;
	word-break: break-word;
	overflow-wrap: anywhere;
	letter-spacing: -0.2px;
	min-width: 0;
}

.detail-agent-card
{
	border-radius: 8px;
	border: 1px solid #eef2f6;
	background: #ffffff;
	padding: 14px;
	margin-bottom: 16px;
	box-shadow: none;
}

.detail-agent-top
{
	display: flex;
	align-items: flex-start;
	gap: 12px;
}

.detail-agent-avatar
{
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #eef3f7;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4d5d6d;
	font-weight: 900;
	font-size: 14px;
	letter-spacing: -0.1px;
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid #e5ebf1;
}

.detail-agent-avatar img
{
	border-radius: 50%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.detail-agent-main
{
	flex: 0 0 auto;
	min-width: 0;
}

.detail-agent-name-row
{
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	margin-bottom: 4px;
}

.detail-agent-name
{
	font-size: 14px;
	font-weight: 760;
	color: #202124;
	line-height: 1.4;
}

.detail-agent-title
{
	font-size: 13px;
	font-weight: 650;
	color: #6b7280;
	line-height: 1.4;
}

.detail-agent-office
{
	font-size: 13px;
	letter-spacing: -0.1px;
	font-weight: 760;
	color: #202124;
	line-height: 1.52;
	margin-bottom: 5px;
}

.detail-agent-address
{
	font-size: 13px;
	letter-spacing: -0.1px;
	color: #525a66;
	line-height: 1.52;
	margin-bottom: 5px;
}

.detail-agent-regno
{
	font-size: 13px;
	letter-spacing: -0.1px;
	color: #525a66;
	line-height: 1.52;
	margin-bottom: 5px;
}

.detail-agent-phone-inline
{
	font-size: 13px;
	letter-spacing: -0.1px;
	font-weight: 800;
	color: #202124;
	line-height: 1.52;
	margin-bottom: 5px;
}

.detail-roadview-inline-btn:hover
{
	background: #eff6ff;
}

.detail-roadview-inline-btn:hover
{
	background: #eff6ff;
}

.detail-action-box
{
	display: none;
}

.detail-phone
{
	display: none;
}

.detail-actions
{
	display: none;
}

.detail-action-btn
{
	flex: 0 0 auto;
	min-width: 100px;
	min-height: 38px;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: #eef3f7;
	color: #203040;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 900;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 4px 10px rgba(0,0,0,0.08);
	transition: box-shadow 0.2s ease;
}

.detail-action-btn.primary
{
	background: #0f2942;
	color: #fff;
}

.detail-action-btn i
{
	margin-right: 6px;
	font-size: 1em;
	line-height: 1;
}

.detail-action-btn:hover
{
	box-shadow: 0 6px 14px rgba(0,0,0,0.12);
}

.detail-agent-cta-row
{
	display: flex;
	gap: 8px;
	margin-top: 14px;
	justify-content: flex-start;
}

.detail-agent-cta-btn
{
	padding: 0 12px;
	min-width: 96px;
	max-width: 140px;
}

.detail-agent-cta-btn
{
	flex: 0 0 auto;
	min-width: 0;
	height: 30px;
	border: 0;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	font-size: 13px;
	letter-spacing: -0.1px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: none;
	box-shadow: 0 2px 6px rgba(15, 41, 66, 0.06);
}

.detail-agent-cta-btn i
{
	margin-right: 0;
	line-height: 1;
	font-size: 14px;
	letter-spacing: -0.1px;
}

.detail-agent-cta-btn.kakao
{
	background: #FEE500;
	color: #191919;
}

.detail-agent-cta-btn.kakao:hover
{
	background: #FEE500;
	color: #191919;
	box-shadow: 0 2px 6px rgba(15, 41, 66, 0.06);
}

.detail-agent-cta-btn.phone
{
	background: #fff;
	color: #111827;
	border: 1px solid #e5e7eb;
}

.detail-agent-cta-btn.phone:hover
{
	background: #f8fafc;
}

.detail-action-btn.kakao-btn
{
	background: #FEE500;
	color: #111;
	border-radius: 0;
	font-weight: 800;
}

/* 오른쪽 상세 패널 유형 색상 */ .detail-summary-type-badge[data-type="아파트"]
{
	background:rgba(59,130,246,0.08);
	color:var(--brand);
}

.detail-summary-type-badge[data-type="단독주택"],
.detail-summary-type-badge[data-type="다가구주택"]
{
	background:rgba(59,130,246,0.06);
	color:#1E3A8A;
}

.detail-summary-type-badge[data-type="상가"]
{
	background:rgba(59,130,246,0.10);
	color:#3730A3;
}

.detail-summary-type-badge[data-type="토지"]
{
	background:rgba(16,185,129,0.08);
	color:#047857;
}

.detail-summary-type-badge[data-type="사무실"], .detail-summary-type-badge[data-type="hotel"]
{
	background:rgba(59,130,246,0.10);
	color:#3730A3;
}

.detail-summary-type-badge[data-type="오피스텔"], .detail-summary-type-badge[data-type="원룸 / 투룸"], .detail-summary-type-badge[data-type="빌라"], .detail-summary-type-badge[data-type="건물"], .detail-summary-type-badge[data-type="공장 / 창고"], .detail-summary-type-badge[data-type="호텔"], .detail-summary-type-badge[data-type="펜션"], .detail-summary-type-badge[data-type="pension"]
{
	background:rgba(59,130,246,0.10);
	color:#3730A3;
}

.detail-image-lightbox
{
	position: fixed;
	inset: 0;
	z-index: 101000;
	display: none;
	align-items: center;
	justify-content: center;
	background: rgba(15, 23, 42, 0.92);
	backdrop-filter: blur(6px);
	padding: 32px;
}

.detail-image-lightbox.open
{
	display: flex;
}

.detail-image-lightbox-stage
{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: min(1400px, 94vw);
	height: 92vh;
	overflow: hidden;
	background: #0f172a;
}

.detail-image-lightbox img
{
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	border-radius: 0;
	box-shadow: 0 20px 50px rgba(0,0,0,0.35);
	background: #111;
	display: block;
}

.detail-image-lightbox-close, .detail-image-lightbox-nav
{
	position: absolute;
	width: 48px;
	height: 58px;
	min-width: 40px;
	border-radius: 0;
	border: 0;
	background: transparent;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	box-shadow: none;
	z-index: 2;
	transition: box-shadow 0.15s ease, background 0.15s ease;
}

.detail-image-lightbox-nav
{
	position: absolute;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	transform: none;
}

.detail-image-lightbox-nav.prev
{
	left: 16px;
}

.detail-image-lightbox-nav.next
{
	right: 16px;
}

.detail-image-lightbox-close
{
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
}

.detail-image-lightbox-nav:hover, .detail-image-lightbox-close:hover
{
	background: rgba(15,23,42,0.12);
	box-shadow: none;
}

.detail-image-lightbox-nav:active
{
	background: rgba(15,23,42,0.20);
}

.detail-image-lightbox-close:active
{
	background: rgba(15,23,42,0.20);
}

.detail-image-lightbox-nav i, .detail-image-lightbox-close i
{
	display: block;
	font-size: 18px;
	font-weight: 600;
	color: #fff;
	line-height: 1;
	text-shadow: 0 2px 8px rgba(0,0,0,0.55);
}

.detail-image-lightbox-close i
{
	font-size: 22px;
}

.detail-image-lightbox-count
{
	position: absolute;
	right: 28px;
	bottom: 28px;
	display: none;
	align-items: center;
	justify-content: center;
	min-width: 52px;
	height: 30px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(15,23,42,0.62);
	color: #ffffff;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	z-index: 2;
}

@media (max-width: 980px)
{
	:root
	{
		--sidebar-current-width: 100%;
	}

	body
	{
		overflow: auto;
	}

	.global-topbar-left, .global-topbar-right
	{
		justify-self: stretch;
	}

	.sidebar-inner, .sidebar.expanded .sidebar-inner
	{
		grid-template-columns: 1fr;
	}

	.map-result-count
	{
		top: 124px;
	}

	.map-agent-card
	{
		top: 12px;
		right: 12px;
		left: 12px;
		width: auto;
		max-width: none;
	}

	.map-agent-head
	{
		gap: 7px;
		padding: 12px 14px 9px;
	}

	.map-agent-head-title
	{
		font-size: 16px;
	}

	.map-agent-head-sub
	{
		font-size: 13px;
	}

	.map-agent-body
	{
		grid-template-columns: 96px 1fr;
		gap: 10px;
		padding: 11px 12px 12px;
	}

	.map-agent-photo
	{
		height: 96px;
	}

	.map-agent-content
	{
		gap: 6px;
	}

	.map-agent-name
	{
		font-size: 20px;
	}

	.map-agent-office
	{
		font-size: 14px;
	}

	.map-agent-desc
	{
		font-size: 12px;
	}

	.map-agent-meta-row
	{
		display:flex;
		align-items:center;
		gap:10px;
		min-height:24px;
	}

	.map-agent-meta-label
	{
		width:72px;
		flex:0 0 72px;
		font-size:13px;
		font-weight:800;
		color:#9aa3af;
		line-height:1.35;
		margin:0;
		padding:0;
		transform:none;
		font-family:var(--font-ui);
	}

	.map-agent-meta-value
	{
		flex:1 1 auto;
		font-size:14px;
		font-weight:700;
		color:#4b5563;
		font-family:var(--font-ui);
		font-variant-numeric:normal;
		line-height:1.35;
		margin:0;
		padding:0;
	}

	.detail-image-lightbox-nav, .detail-image-lightbox-close
	{
		width: 44px;
		height: 54px;
	}

	.detail-image-lightbox-nav.prev
	{
		left: 14px;
	}

	.detail-image-lightbox-nav.next
	{
		right: 14px;
	}

	.detail-image-lightbox-close
	{
		top: 12px;
		right: 12px;
		width: 44px;
		height: 44px;
	}

	.detail-image-lightbox-count
	{
		right: 18px;
		bottom: 18px;
		font-size: 13px;
		height: 28px;
		min-width: 48px;
		padding: 0 9px;
	}

}

.detail-action-btn.cross-btn
{
	display: none;
}

.detail-action-btn.cross-btn:hover
{
	display: none;
}

.detail-action-btn.cross-btn
{
	background: #03C75A;
	color: #fff;
}

/* right detail summary: type + deal on one line, same feel as left card badges */ .detail-summary-top
{
	display: flex;
	align-items: center;
	gap: 9px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}

.detail-summary-type-badge, .detail-summary-deal-badge
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding: 0 8px;
	border-radius: 0;
	font-size: 13px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.12px;
	white-space: nowrap;
}

.detail-summary-price-row
{
	display: block;
	margin-bottom: 8px;
}

.detail-summary-price
{
	display: block;
}

.detail-summary-deal-badge[data-deal="전세"]
{
	background:#E6F0FF;
	color:#2563EB;
}

.detail-summary-deal-badge[data-deal="월세"]
{
	background:#E6FFF2;
	color:#16A34A;
}

.detail-summary-deal-badge[data-deal="년세"]
{
	background:#FFF7E6;
	color:#D97706;
}

.detail-summary-type-badge
{
	box-shadow: inset 0 0 0 1px rgba(124, 77, 255, 0.06);
}

.detail-summary-deal-badge[data-deal="매매"], .detail-summary-deal-badge:not([data-deal])
{
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.detail-summary-deal-badge[data-deal="전세"]
{
	box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.08);
}

.detail-summary-deal-badge[data-deal="월세"]
{
	box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.08);
}

.detail-summary-deal-badge[data-deal="년세"]
{
	box-shadow: inset 0 0 0 1px rgba(217, 119, 6, 0.08);
}

.detail-area-wrap.land-two-line .area-display, .detail-area-wrap.land-two-line #detailAreaValue
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.detail-area-wrap.land-two-line
{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex-wrap: nowrap;
	white-space: nowrap;
	width: auto;
}

.detail-area-wrap.land-two-line .area-display, .detail-area-wrap.land-two-line #detailAreaValue
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

/* right panel area: always 2 lines, value and unit button inline */ .detail-meta-item:first-child .detail-meta-label
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	margin-bottom: 8px;
	width: 100%;
}

.detail-meta-item:first-child .detail-area-wrap
{
	display: inline-flex;
	align-items: center;
	gap: 9px;
	flex-wrap: nowrap;
	white-space: nowrap;
	width: auto;
}

.detail-meta-item:first-child #detailAreaValue
{
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	line-height: 1;
	margin: 0;
}

.detail-meta-item:first-child #detailAreaToggleBtn
{
	display: none;
}

/* stronger premium font tuning */ 
.card-title, .detail-title, .brand-title
{
	font-weight: 900;
}

/* 왼쪽 패널 - 금액 */
.card-price, .detail-summary-price, .detail-hero-price
{
	font-weight: 800;
	letter-spacing: -0.9px;
}

/* 왼쪽 패널 - 주소, 면적 */
.card-spec, .card-address, .detail-summary-address, .detail-desc
{
	font-weight: 375;
}

/* 왼쪽 패널 - 매뮬 유형 뱃지 */
.card-badge, .card-deal, .detail-summary-type-badge, .detail-summary-deal-badge, .map-tool-btn, .map-unit-half-btn
{
	font-weight: 600;
}

/* right-panel open performance tuning */
.detail-hero, .detail-hero-slides, .detail-content
{
	transform: translateZ(0);
}

/* ===== consolidated layout & component rules (single source of truth) ===== */ :root
{
	--bg:#f8fafc;
	--line:#edf1f5;
	--text:#111827;
	--brand:#4F46E5;
	--sidebar-list-width:420px;
	--detail-panel-width: var(--rj-detail-panel-width);
	--sidebar-current-width:var(--sidebar-list-width);
	--radius-main: 0px;
	--radius-small: 0px;
	--radius-pill: 0px;
	--shadow:0 10px 28px rgba(15,23,42,0.06);
	--topbar-main-height:63px;
	--topbar-sub-height:55px;
	--global-topbar-height:var(--topbar-main-height);
	--sub-topbar-height:var(--topbar-sub-height);
	--detail-panel-top:0px;
	--detail-panel-height:100%;
}

.sidebar-detail-panel
{
	position:absolute;
	top:0;
	left:var(--sidebar-list-width);
	width:var(--detail-panel-width);
	height:100%;
	max-height:100%;
	z-index:200;
	opacity:0;
	pointer-events:none;
	transition:opacity .22s ease;
	background:#fff;
	border-left:1px solid #e6ebf0;
	border-right:1px solid #e6ebf0;
}

.sidebar.expanded .sidebar-detail-panel
{
	opacity:1;
	pointer-events:auto;
}

.detail-panel-inner
{
	height:100%;
	display:flex;
	flex-direction:column;
	min-height:0;
}

.detail-scroll
{
	flex:1 1 auto;
	min-height:0;
	overflow-y:auto;
	overflow-x:hidden;
	-webkit-overflow-scrolling:touch;
}

body.shared-detail-mode .sidebar-list-panel
{
	display:none;
}

body.shared-detail-mode .sidebar-detail-panel
{
	left:0;
	width:var(--sidebar-list-width);
	display:block;
	opacity:1;
	pointer-events:auto;
	visibility:visible;
	border-left:0;
}

body.shared-detail-mode .sidebar:not(.expanded) .sidebar-detail-panel
{
	opacity:1;
	pointer-events:auto;
}

.detail-features, #detailFeatures, .detail-hero-features, #detailHeroFeatures, .brand-card
{
	display:none;
}

.detail-summary-block
{
	margin-bottom:18px;
}

.detail-summary-top
{
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
	margin-bottom:18px;
}

.detail-summary-type-badge
{
	background:#f3eefe;
	color:#7c4dff;
}

.detail-summary-deal-badge[data-deal="매매"], .detail-summary-deal-badge[data-deal="전세"], .detail-summary-deal-badge[data-deal="월세"], .detail-summary-deal-badge[data-deal="년세"], .detail-summary-deal-badge:not([data-deal])
{
	background:#eef5ff;
	color:#2563eb;
}

.detail-tags-row
{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	width:100%;
}

.detail-tags
{
	display:flex;
	align-items:center;
	gap:4px;
	flex-wrap:wrap;
	min-width:0;
}

.detail-feature-tag
{
	display:inline-flex;
	align-items:center;
	height:28px;
	min-height:28px;
	padding:0 10px;
	border-radius: 0;
	background:rgba(3,199,90,.08);
	border:1px solid rgba(3,199,90,.18);
	color:#03C75A;
	font-size:14px;
	letter-spacing:-0.15px;
	font-weight:800;
	white-space:nowrap;
}

.detail-roadview-inline-btn
{
	margin-left:auto;
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:4px;
	height:28px;
	padding:0 10px;
	border-radius: 999px;
	border:1px solid #bfd4ff;
	background:#ffffff;
	color:#2563eb;
	font-size:14px;
	letter-spacing:-0.1px;
	font-weight:800;
	cursor:pointer;
	white-space:nowrap;
}

.detail-roadview-inline-btn i
{
	margin-right:0;
	font-size:14px;
	line-height:1;
}

.detail-inline-roadview-btn
{
	margin-left:auto;
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	gap:4px;
	height:30px;
	padding:0 12px;
	border-radius: 999px;
	border:1px solid #bfd4ff;
	background:#ffffff;
	color:#2563eb;
	font-size:14px;
	font-weight:900;
	white-space:nowrap;
	cursor:pointer;
}

.detail-inline-roadview-btn i
{
	font-size:14px;
	line-height:1;
}

.detail-meta-item
{
	padding-top:10px;
	padding-bottom:10px;
}

.detail-meta-label
{
	margin-bottom:4px;
}

.detail-meta-value, #detailAreaValue, #detailTypeValue, #detailRegionValue
{
	min-height:26px;
	height:26px;
	display:flex;
	align-items:center;
	line-height:1;
}

.detail-area-wrap
{
	min-height:26px;
	height:26px;
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	gap:6px;
	flex-wrap:nowrap;
	white-space:nowrap;
	min-width:0;
	width:max-content;
	line-height:1;
}

.detail-meta-item:first-child #detailAreaTypeToggleBtn
{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	vertical-align:middle;
	flex:0 0 auto;
	margin-left:0;
}

.detail-topbar .detail-close-btn i, .detail-topbar .detail-icon-btn i
{
	font-size:22px;
}

.card-price,
.card-date,
.card-spec,
.detail-summary-price,
.detail-hero-price,
.detail-meta-value,
.map-recommend-price,
.map-agent-meta-value,
#mapAgentPhone,
.area-num,
.area-rest,
.sub-version-fixed,
.global-sort-chip,
.map-result-count
{
	font-family: var(--font-ui);
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1, "lnum" 1;
}

.maintenance-fixed-under100-row.is-hidden,
.maintenance-fixed-detail-row.is-hidden
{
	display: none;
}

.maintenance-detail-type-grid
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px 44px;
	align-items: flex-start;
}

/* PATCH 2.229: 관리비 부과기준 라디오를 긴 문구 기준으로 수평 정렬 */
.maintenance-detail-type-grid
{
	grid-auto-rows: minmax(40px, auto);
	align-items: stretch;
	row-gap: 10px;
}

.maintenance-detail-type-grid .property-radio-option
{
	height: 100%;
	min-height: 40px;
	align-items: center;
	line-height: 1.35;
}

/* PATCH 2.317: 부과기준 왼쪽 라벨과 첫 라디오 항목의 높이 기준을 맞춤 */
.maintenance-detail-type-grid
{
	row-gap: 10px;
}

.maintenance-form-row.maintenance-detail-row > .property-form-label
{
	display: flex;
	align-items: center;
	min-height: 40px;
	line-height: 1.3;
}

.maintenance-detail-type-grid .property-radio-option input
{
	align-self: center;
}

.maintenance-detail-type-grid .property-radio-option span
{
	display: inline-block;
	line-height: 1.35;
}

@media (max-width: 720px)
{
	.maintenance-form-row
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.maintenance-choice-grid,
	.maintenance-include-grid,
	.maintenance-detail-type-grid
	{
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.maintenance-fee-field,
	.maintenance-etc-fee-field
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.maintenance-tab
	{
		font-size: 14px;
	}
}

.card-badge[data-type="다가구주택"],
.detail-summary-type-badge[data-type="다가구주택"]
{
    background: rgba(59,130,246,0.06);
    color: #1E3A8A;
    box-shadow: inset 0 0 0 1px rgba(30,58,138,0.08);
}

/* PATCH 2.551: right detail panel cleaner property-tech hierarchy */
.detail-summary-block
{
	padding: 18px 20px 16px;
	margin-bottom: 0;
	border-bottom: 1px solid #eef2f6;
	background: #ffffff;
}

.detail-content
{
	padding: 0;
}

.detail-summary-top
{
	margin-bottom: 10px;
	gap: 6px;
}

.detail-summary-type-badge,
.detail-summary-deal-badge
{
	height: 23px;
	border-radius: 999px;
	padding: 0 8px;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.1px;
}

.detail-summary-price-row
{
	margin-bottom: 8px;
}

.detail-summary-price
{
	color: #0b1220;
	font-size: 30px;
	font-weight: 820;
	letter-spacing: -0.55px;
	line-height: 1.08;
}

.detail-title
{
	color: #202124;
	font-size: 17px;
	font-weight: 760;
	line-height: 1.42;
	letter-spacing: -0.16px;
	margin-bottom: 6px;
}

.detail-summary-address
{
	color: #525a66;
	font-size: 14px;
	font-weight: 450;
	line-height: 1.45;
}

.detail-info-sections
{
	gap: 0;
	margin-top: 0;
	margin-bottom: 0;
	background: #ffffff;
}

.detail-info-section
{
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #eef2f6;
	padding: 17px 20px 14px;
	background: #ffffff;
}

.detail-info-section-title
{
	font-size: 14.5px;
	font-weight: 760;
	color: #202124;
	margin-bottom: 8px;
}

.detail-info-row
{
	gap: 20px;
	padding: 9.5px 0;
	border-bottom: 1px solid #f3f5f8;
}

.detail-info-label
{
	color: #6b7280;
	font-size: 13px;
	font-weight: 540;
}

.detail-info-value
{
	color: #202124;
	font-size: 14px;
	font-weight: 620;
	white-space: pre-line;
}

.detail-desc
{
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #eef2f6;
	margin-bottom: 0;
	padding: 0 20px 18px;
	color: #202124;
	font-size: 14.5px;
	line-height: 1.66;
}

.detail-desc-title
{
	padding: 17px 20px 12px;
	color: #202124;
	font-size: 15.5px;
	font-weight: 760;
	line-height: 1.35;
	border-top: 0;
	background: #ffffff;
}

.detail-agent-card
{
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #eef2f6;
	padding: 17px 20px;
}

.detail-meta-grid
{
	border: 0;
	border-radius: 0;
	border-bottom: 1px solid #eef2f6;
	margin-bottom: 0;
	background: #ffffff;
}

.detail-meta-item
{
	padding: 17px 20px 14px;
	border-right: 1px solid #f3f5f8;
}

/* ===== PATCH: 매물 등록 - 상세 정보 ===== */
.property-detail-card
{
	min-height: 0;
}

.property-detail-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 32px;
}

.property-detail-row:last-child
{
	margin-bottom: 0;
}

.property-detail-row.property-detail-date-row
{
	margin-bottom: 18px;
}

.property-detail-date-check-row
{
	margin-top: -6px;
	margin-bottom: 28px;
}

:root
{
	--property-sub-check-gap-top: 12px;
	--property-sub-check-gap-bottom: 28px;
}

.property-detail-input,
.property-detail-textarea
{
	width: 100%;
	border: 1px solid #d7dee8;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.16px;
	outline: none;
	box-shadow: none;
}

.property-detail-input
{
	height: 54px;
	padding: 0 16px;
}

.property-detail-input::placeholder,
.property-detail-textarea::placeholder
{
	color: #a8b0bc;
}

.property-detail-textarea
{
	min-height: 256px;
	padding: 16px;
	resize: vertical;
	line-height: 1.55;
}

.property-detail-text-count
{
	margin-top: 8px;
	text-align: right;
	font-size: 14px;
	font-weight: 500;
	color: #8b95a1;
	letter-spacing: -0.12px;
}

@media (max-width: 720px)
{
	.property-detail-row
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.property-detail-date-check-row
	{
		margin-top: 0;
	}
}

/* 상세 정보: 라벨과 오른쪽 항목 세로 중앙 정렬 */
.property-detail-row
{
	align-items: center;
}

.property-detail-row .property-form-control,
.property-detail-row .property-info-field
{
	align-self: center;
}

/* 상세 설명 textarea는 큰 박스 기준 중앙 정렬 */
.property-detail-row:has(#propertyDetailDescriptionInput)
{
	align-items: center;
}

body[data-property-type="land"] #buildingUseRow,
body[data-property-type="land"] .property-detail-date-row,
body[data-property-type="land"] .property-detail-date-check-row
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

.property-address-wrap.has-detail-address .property-register-input
{
	padding-right: var(--property-address-main-detail-padding-right);
}

.property-address-main-detail
{
	position: absolute;
	top: 50%;
	right: var(--property-address-main-detail-right);
	transform: translateY(-50%);
	max-width: var(--property-address-main-detail-max-width);
	font-size: var(--property-address-main-detail-font-size);
	font-weight: var(--property-address-main-detail-font-weight);
	letter-spacing: -0.14px;
	line-height: 1;
	color: var(--property-address-main-detail-color);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
	display: none;
}

.property-address-wrap.has-detail-address .property-address-main-detail
{
	display: inline-flex;
	align-items: center;
}

.property-address-search-input,
.property-address-detail-input
{
	width: 100%;
	height: var(--property-address-input-height);
	min-height: var(--property-address-input-height);
	border: var(--property-address-input-border);
	border-radius: var(--property-address-input-radius);
	background: var(--property-address-input-bg);
	color: var(--property-address-input-color);
	font-family: var(--font-ui);
	font-size: var(--property-address-input-font-size);
	font-weight: var(--property-address-input-font-weight);
	letter-spacing: var(--property-address-input-letter-spacing);
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
}

.property-address-detail-input
{
	padding: 0
	        var(--property-address-detail-input-padding-x);
}

.property-address-search-input:focus,
.property-address-detail-input:focus
{
	border: var(--property-address-input-border-focus);
	background: var(--property-address-input-bg);
	box-shadow: none;
	outline: none;
}

.property-address-search-input::placeholder,
.property-address-detail-input::placeholder
{
	color: var(--property-address-input-placeholder-color);
	font-weight: 500;
}

.property-address-result-line,
.property-address-detail-road,
.property-address-detail-jibun
{
	font-size: var(--property-address-line-font-size);
	font-weight: var(--property-address-line-font-weight);
	line-height: var(--property-address-line-height);
	letter-spacing: -0.2px;
	color: #111827;
}

.property-address-result-select,
.property-address-detail-confirm
{
	height: var(--property-address-primary-button-height);
	min-width: var(--property-address-primary-button-min-width);
	width: auto;
	padding: 0
	        var(--property-address-primary-button-padding-x);
	border-radius: var(--property-address-primary-button-radius);
	border: var(--property-address-primary-button-border);
	background: var(--property-address-primary-button-bg);
	color: var(--property-address-primary-button-color);
	font-size: var(--property-address-primary-button-font-size);
	font-weight: var(--property-address-primary-button-font-weight);
	letter-spacing: var(--property-address-primary-button-letter-spacing);
	box-shadow: none;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.property-address-result-select:hover,
.property-address-detail-confirm:hover
{
	background: var(--property-address-primary-button-bg);
	border: var(--property-address-primary-button-border);
	color: var(--property-address-primary-button-color);
}

.property-address-detail-screen,
.property-address-search-screen
{
	display: none;
}

.property-address-detail-screen.open,
.property-address-search-screen.open
{
	display: block;
}

.property-address-detail-head
{
	display: block;
	margin-bottom: var(--property-address-detail-head-margin-bottom);
}

.property-address-detail-address-row
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--property-address-address-row-gap);
	margin: 0
	        0
	        var(--property-address-address-row-margin-bottom);
}

.property-address-detail-label
{
	display: inline-flex;
	align-items: center;
	height: var(--property-address-detail-label-height);
	margin: 0;
	padding: 0;
	font-size: var(--property-address-detail-label-font-size);
	font-weight: var(--property-address-detail-label-font-weight);
	line-height: 1;
	letter-spacing: -0.16px;
	color: var(--property-address-title-color);
}

.property-address-detail-selected
{
	margin: var(--property-address-selected-margin-top)
	        var(--property-address-selected-margin-right)
	        var(--property-address-selected-margin-bottom)
	        var(--property-address-selected-margin-left);
}

.property-address-detail-road
{
	margin: 0
	        0
	        var(--property-address-line-margin-bottom);
}

.property-address-detail-jibun
{
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--property-address-line-gap);
}

.property-address-detail-section-title
{
	margin: 0
	        0
	        var(--property-address-detail-section-title-margin-bottom);
	font-size: var(--property-address-detail-label-font-size);
	font-weight: var(--property-address-detail-label-font-weight);
	letter-spacing: -0.45px;
	color: var(--property-address-title-color);
}

.property-address-detail-section-title span
{
	font-weight: 500;
	color: #6b7280;
}

.property-address-detail-help
{
	margin: 0
	        0
	        var(--property-address-detail-help-margin-bottom);
	font-size: var(--property-address-detail-help-font-size);
	font-weight: 500;
	letter-spacing: -0.2px;
	color: var(--property-address-detail-help-color);
}

.property-address-detail-actions
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: var(--property-address-detail-actions-gap);
	margin-top: var(--property-address-detail-actions-margin-top);
}

.property-address-detail-actions .property-address-detail-edit,
.property-address-detail-actions .property-address-detail-confirm
{
	height: var(--property-address-secondary-button-height);
	min-width: var(--property-address-secondary-button-min-width);
	padding: 0
	        var(--property-address-secondary-button-padding-x);
	border-radius: var(--property-address-secondary-button-radius);
	font-size: var(--property-address-secondary-button-font-size);
	font-weight: var(--property-address-secondary-button-font-weight);
	letter-spacing: -0.18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	white-space: nowrap;
	cursor: pointer;
}

.property-address-detail-actions .property-address-detail-edit
{
	border: var(--property-address-secondary-button-border);
	background: var(--property-address-secondary-button-bg);
	color: var(--property-address-secondary-button-color);
}

.property-address-detail-actions .property-address-detail-confirm
{
	border: var(--property-address-primary-button-border);
	background: var(--property-address-primary-button-bg);
	color: var(--property-address-primary-button-color);
}

.property-address-detail-actions .property-address-detail-edit:hover
{
	background: var(--property-address-secondary-button-bg);
	color: var(--property-address-secondary-button-color);
	border: var(--property-address-secondary-button-border);
}

.property-address-detail-actions .property-address-detail-confirm:hover
{
	background: var(--property-address-primary-button-bg);
	color: var(--property-address-primary-button-color);
	border: var(--property-address-primary-button-border);
}

.property-address-detail-address-row .property-address-detail-edit
{
	display: none;
}

.property-address-detail-edit i
{
	display: none;
}

/* PATCH 2.654: 오른쪽 상세 패널 뱃지를 부동산 홈 카드와 같은 톤으로 통일 */
.detail-summary-type-badge {
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.detail-summary-deal-badge[data-deal="매매"],
.detail-summary-deal-badge:not([data-deal]) {
	background: #ffffff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}


/* ===== MERGED FROM property-register_2.712.css ===== */
/* ===== INLINE FROM property-register.css ===== */
/* REALJEJU property-register.css - stable split from realjeju_2.361(3).html / Ver 2.551 */

.auth-profile-photo-preview,
.auth-myinfo-photo
{
	width: 84px;
	height: 84px;
	border-radius: 50%;
	object-fit: cover;
	background: #e5e7eb;
	border: 2px solid #e5e7eb;
	flex: 0 0 auto;
}

.auth-modal.profile-page-mode .auth-myinfo-photo,
.auth-modal.profile-page-mode .auth-profile-photo-preview
{
	width: var(--profile-page-photo-size);
	height: var(--profile-page-photo-size);
	border-radius: var(--profile-page-photo-radius);
	object-fit: cover;
	background: #e5e7eb;
	border: 0;
	box-shadow: none;
}

/* 개인정보 설정 페이지 내부 안내문 / 프로필 사진 영역 / 회원유형 네모 강제 */
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-guide,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-box,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-preview,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-select-btn,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-select-wrap,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-select-wrap *,
.auth-modal.profile-page-mode .auth-profile-setup-screen #authProfileRoleRequestSelect,
.auth-modal.profile-page-mode .auth-profile-setup-screen [class*="role"],
.auth-modal.profile-page-mode .auth-profile-setup-screen [class*="role"] *,
.auth-modal.profile-page-mode .auth-profile-setup-screen [class*="select"],
.auth-modal.profile-page-mode .auth-profile-setup-screen [class*="select"] *
{
	border-radius: 0;
	box-shadow: none;
}

/* ===== PATCH: 개인정보 설정 프로필 사진 원형 ===== */
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-preview,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-preview img,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-box img
{
    border-radius: 50%;
    object-fit: cover;
}

/* ===== PATCH: 매물 등록 기본 페이지 ===== */
.property-register-page
{
	position: absolute;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	background: #f4f7fb;
	color: #111827;
	overflow-y: auto;
	padding: 13px 0 114px;
}

body.property-register-page-open .property-register-page
{
	display: block;
}

body.property-register-page-open .sub-topbar,
body.property-register-page-open .sidebar,
body.property-register-page-open .resizer,
body.property-register-page-open .map-wrap
{
	display: none;
}

.property-register-inner
{
	width: min(960px, calc(100vw - 48px));
	margin: 0 auto;
}

.property-register-head
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	margin-bottom: 13px;
}

.property-register-title
{
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: -0.35px;
	color: #111827;
	line-height: 1.25;
}

.property-register-top-actions
{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	padding: 13px 0;
}

.property-register-top-btn
{
	height: 42px;
	padding: 0 18px;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.12px;
	cursor: pointer;
	box-shadow: none;
}

.property-register-card
{
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	padding: 34px 40px 40px;
	min-height: 520px;
}

.property-register-section-title
{
	margin: 0 0 28px;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.28px;
	color: #111827;
	line-height: 1.3;
}

.property-register-placeholder
{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 380px;
	border: 1px dashed #cbd5e1;
	background: #f8fafc;
	color: #64748b;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.12px;
	text-align: center;
	padding: 24px;
}

.property-register-bottom-bar
{
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9995;
	display: none;
	justify-content: center;
	background: rgba(255,255,255,0.96);
	border-top: 1px solid #e5e7eb;
	padding: 18px 0;
	box-shadow: 0 -8px 24px rgba(15, 23, 42, 0.05);
}

body.property-register-page-open .property-register-bottom-bar
{
	display: flex;
}

.property-register-bottom-inner
{
	width: min(960px, calc(100vw - 48px));
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.property-register-legal-notice
{
	margin: 0;
	flex: 1 1 auto;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: -0.12px;
	text-align: left;
}

.property-register-bottom-actions
{
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 12px;
}

.property-register-bottom-btn
{
	height: 52px;
	min-width: 132px;
	padding: 0 22px;
	border-radius: 0;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.18px;
	cursor: pointer;
	box-shadow: none;
}

.property-register-bottom-btn.draft
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

.property-register-bottom-btn.submit
{
	border: 1px solid #1B6FA4;
	background: #1B6FA4;
	color: #ffffff;
}

@media (max-width: 720px)
{
	.property-register-page
	{
		padding-top: 26px;
	}
	.property-register-head
	{
		align-items: flex-start;
		flex-direction: column;
	}
	.property-register-card
	{
		padding: 26px 22px 32px;
	}
	.property-register-bottom-inner
	{
		align-items: stretch;
		flex-direction: column;
		justify-content: stretch;
	}
	.property-register-legal-notice
	{
		font-size: 12px;
		line-height: 1.45;
	}
	.property-register-bottom-actions
	{
		width: 100%;
	}
	.property-register-bottom-btn
	{
		flex: 1 1 0;
		min-width: 0;
	}
	.property-direction-pair-field
	{
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.property-direction-base-label
	{
		justify-self: start;
	}
}

/* ===== PATCH: 매물 등록 기본 정보 / 가격 입력 폼 ===== */
.property-register-card + .property-register-card
{
	margin-top: 28px;
}

.property-form-label
{
	font-size: var(--property-register-left-label-font-size);
	font-weight: var(--property-register-left-label-font-weight);
	color: #111827;
	letter-spacing: -0.18px;
	line-height: 1.3;
}

.property-type-listing-no-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) auto;
	align-items: center;
	column-gap: 24px;
}

.property-type-listing-no-row > .property-form-label
{
	grid-column: 1;
}

.property-type-listing-no-row > .property-type-dropdown
{
	grid-column: 2;
}

.property-type-listing-no-row > .property-listing-no-inline
{
	grid-column: 3;
}

.property-listing-no-inline
{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #111827;
	font-size: var(--property-register-left-label-font-size);
	font-weight: var(--property-register-left-label-font-weight);
	letter-spacing: -0.18px;
	line-height: 1.3;
	white-space: nowrap;
}

.property-listing-no-inline-title
{
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.property-listing-no-mode-option
{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	flex: 0 0 auto;
	color: #111827;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
}

.property-listing-no-mode-option input
{
	width: 14px;
	height: 14px;
	margin: 0;
	accent-color: #2563eb;
}

.property-listing-no-inline-input
{
	width: 190px;
	font-size: var(--property-register-control-font-size);
	font-weight: var(--property-register-control-font-weight);
	letter-spacing: var(--property-register-control-letter-spacing);
	padding: 0 var(--property-register-control-padding-x);
}

.property-listing-no-inline-input[readonly]
{
	color: #94a3b8;
	background: #f8fafc;
}

.property-register-input,
.property-register-select
{
	width: 100%;
	height: var(--property-register-input-height);
	border: 1px solid #d8dee8;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: var(--property-register-control-font-size);
	font-weight: var(--property-register-control-font-weight);
	letter-spacing: var(--property-register-control-letter-spacing);
	padding: 0 var(--property-register-control-padding-x);
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
}

.property-register-input::placeholder
{
	color: #a8b0bd;
	font-size: var(--property-register-placeholder-font-size);
	font-weight: var(--property-register-placeholder-font-weight);
}

.property-register-select
{
	appearance: none;
	-webkit-appearance: none;
	color: #a8b0bd;
	cursor: pointer;
}

/* ===== PATCH: 매물 등록 드롭다운 - 상단바 드롭다운형 / 밑줄 없음 ===== */
.property-register-native-select
{
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
	overflow: hidden;
}

.property-register-dropdown
{
	position: relative;
}

.property-register-dropdown::after
{
	display: none;
	content: none;
}

.property-register-dropdown-trigger
{
	width: 100%;
	height: var(--property-register-input-height);
	padding: 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111827;
	font-family: var(--font-ui);
	font-size: var(--property-register-control-font-size);
	font-weight: var(--property-register-control-font-weight);
	letter-spacing: var(--property-register-control-letter-spacing);
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	cursor: pointer;
	box-shadow: none;
	outline: none;
}

.property-register-dropdown-trigger span
{
	display: inline-block;
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* PATCH 2.288: 용도지역처럼 숫자가 섞인 드롭다운 문구는 숫자 폭을 고정 */
.property-register-dropdown-trigger span,
.property-register-dropdown-option
{
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
}

.property-register-dropdown-trigger i
{
	font-size: 12px;
	line-height: 1;
	color: #111827;
	transition: transform 0.18s ease;
}

.property-register-dropdown.open .property-register-dropdown-trigger i
{
	transform: rotate(180deg);
}

.property-register-dropdown-menu
{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	min-width: 240px;
	width: max-content;
	max-width: min(360px, calc(100vw - 48px));
	max-height: 320px;
	overflow-y: auto;
	padding: 8px;
	border-radius: 0;
	border: 1px solid #e2e8f0;
	background: rgba(255,255,255,0.98);
	box-shadow: 0 18px 34px rgba(15, 41, 66, 0.14);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	display: none;
	flex-direction: column;
	gap: 2px;
	z-index: 9999;
}

.property-type-dropdown .property-register-dropdown-menu
{
	max-height: none;
	overflow-y: visible;
}

.property-register-dropdown.open .property-register-dropdown-menu
{
	display: flex;
}

.property-register-dropdown-option
{
	width: 100%;
	min-height: 36px;
	padding: 0 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--subbar-item-color, #334155);
	font-family: var(--subbar-item-font-family, var(--font-ui));
	font-size: var(--subbar-item-font-size, 14px);
	font-weight: var(--subbar-item-font-weight, 700);
	letter-spacing: var(--subbar-item-letter-spacing, -0.1px);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	cursor: pointer;
	white-space: nowrap;
}

.property-register-dropdown-option:hover
{
	background: #f8fafc;
	color: #334155;
}

.property-register-dropdown-option.active
{
	background: #eff6ff;
	color: #2563eb;
	font-weight: 800;
}

/* ===== PATCH: 매물 등록 에디트 창 복구 / 드롭다운만 상단바형 유지 ===== */
.property-register-input,
.property-register-select
{
	width: 100%;
	height: var(--property-register-input-height);
	border: 1px solid #d8dee8;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-family: var(--font-ui);
	font-size: var(--property-register-control-font-size);
	font-weight: var(--property-register-control-font-weight);
	letter-spacing: var(--property-register-control-letter-spacing);
	padding: 0 var(--property-register-control-padding-x);
	outline: none;
	box-shadow: none;
	box-sizing: border-box;
}

.property-register-input:focus,
.property-register-select:focus
{
	border-color: #d8dee8;
	background: #ffffff;
	box-shadow: none;
	outline: none;
}

.property-register-input::placeholder
{
	color: #a8b0bd;
	font-size: var(--property-register-placeholder-font-size);
	font-weight: var(--property-register-placeholder-font-weight);
}

.property-register-dropdown-trigger
{
	border: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
}

.property-register-dropdown-trigger:focus
{
	border: 0;
	background: transparent;
	box-shadow: none;
	outline: none;
}

/* ===== PATCH: 매물 등록 드롭다운 에디트 입력창 안에 배치 ===== */
.property-form-control.property-register-dropdown
{
	width: 100%;
	height: var(--property-register-dropdown-menu-height);
	border: 1px solid #d8dee8;
	border-radius: 0;
	background: #ffffff;
	padding: 0 var(--property-register-control-padding-x);
	display: flex;
	align-items: center;
	box-sizing: border-box;
}

.property-form-control.property-register-dropdown .property-register-dropdown-trigger
{
	height: 100%;
	width: 100%;
	padding: 0;
}

.property-form-control.property-register-dropdown .property-register-dropdown-menu
{
	top: calc(100% + 8px);
	left: 0;
}

/* PATCH 2.247: 원룸/투룸 + 숙박시설일 때 건축물용도 입력칸 오른쪽에 생활형숙박시설 안내 표시 */
.property-register-dropdown-trigger .building-use-living-accommodation-badge
{
	display: none;
	margin-left: auto;
	padding-left: 12px;
	color: #9ca3af;
	font-size: 15px;
	font-weight: 500;
	white-space: nowrap;
	overflow: visible;
	text-overflow: clip;
}

.property-register-dropdown-trigger .building-use-living-accommodation-badge.is-visible
{
	display: inline-flex;
}

/* ===== PATCH: 매물 등록 드롭다운 너비 = 에디트 입력창 너비 ===== */
.property-form-control.property-register-dropdown,
.property-register-dropdown
{
	width: 100%;
}

/* 매물 등록 - 매물 종류, 건축물 용도 드롭 다운 너비 조정 */
.property-form-control.property-register-dropdown .property-register-dropdown-menu,
.property-register-dropdown-menu
{
	left: -1px;
	right: auto;
	width: calc(100% + 2px);
	min-width: 0;
	max-width: none;
	box-sizing: border-box;
}

.property-register-dropdown-option
{
	width: 100%;
}

.property-address-wrap
{
	position: relative;
}

.property-address-wrap::before
{
	content: "\f002";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 18px;
	color: #475569;
	z-index: 1;
}

.property-address-wrap .property-register-input
{
	padding-left: 52px;
}

.property-unit-input .property-register-input
{
	padding-right: 56px;
}

/* 매물 등록 - 가격 (거래 유형이 2개 이상이면 모두 선택해 주세요. 글자) */
.property-price-guide
{
	margin: -16px 0 28px 164px;
	color: var(--property-register-right-text-color);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.12px;
	line-height: 1.5;
}

.property-deal-checks
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--property-register-deal-option-gap);
	flex-wrap: wrap;
}

.property-deal-option
{
	display: inline-flex;
	align-items: center;
	gap: var(--property-register-option-gap);
	font-size: var(--property-register-option-font-size);
	font-weight: var(--property-register-option-font-weight);
	color: #111827;
	letter-spacing: var(--property-register-option-letter-spacing);
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}

/* 매물 등록 - 가격 거래 유형 체크 박스 */
.property-deal-option input
{
	width: var(--property-register-info-checkbox-size);
	height: var(--property-register-info-checkbox-size);
	margin: 0;
	accent-color: #2f363d;
	cursor: pointer;
	flex: 0 0 auto;
}

.property-price-card
{
	min-height: 0;
}

.property-price-dynamic:empty
{
	display: none;
}

.property-price-field .property-register-input,
.property-money-input-wrap .property-register-input
{
	padding-right: 190px;
}

/* ===== PATCH: 매물 등록 - 매물 정보 ===== */
.property-info-card
{
	min-height: 0;
}

.property-land-info-card
{
	min-height: 0;
}

.property-direction-pair-field
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 32px;
	align-items: center;
}

.property-direction-pair-field > .property-register-dropdown
{
	min-width: 0;
}

.property-direction-base-label
{
	display: none;
}

.property-direction-pair-field .property-register-dropdown-trigger span
{
	color: #a8b0bd;
	font-weight: 500;
}

.property-direction-pair-field > .property-register-dropdown:nth-of-type(2)::before
{
	content: "방향 기준";
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #111827;
	font-size: var(--property-register-left-label-font-size);
	font-weight: var(--property-register-left-label-font-weight);
	letter-spacing: -0.18px;
	line-height: 1;
	pointer-events: none;
	z-index: 2;
}

.property-direction-pair-field > .property-register-dropdown:nth-of-type(2)::after
{
	content: "*";
	position: absolute;
	left: 88px;
	top: 50%;
	transform: translateY(-50%);
	color: #ef4444;
	font-size: var(--property-register-left-label-font-size);
	font-weight: var(--property-register-left-label-font-weight);
	line-height: 1;
	pointer-events: none;
	z-index: 2;
}

.property-direction-pair-field > .property-register-dropdown:nth-of-type(2) .property-register-dropdown-trigger
{
	padding-left: 92px;
}

.property-parking-inline-grid
{
	gap: 16px 32px;
}

.property-parking-inline-unit
{
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	column-gap: 12px;
	min-width: 0;
}

.property-parking-unit-input
{
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
}

.property-parking-unit-input .property-register-input
{
	width: 100%;
	padding-left: 18px;
	padding-right: 56px;
}

.property-parking-input-label
{
	position: static;
	display: block;
	min-width: 0;
	color: #a8b0bd;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.16px;
	line-height: 1.2;
	white-space: nowrap;
	pointer-events: none;
}

.property-parking-unit-input .property-unit-label
{
	position: absolute;
	left: auto;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	white-space: nowrap;
	z-index: 2;
}

.property-inline-label
{
	font-size: var(--property-register-option-font-size);
	font-weight: var(--property-register-option-font-weight);
	color: var(--property-register-right-text-color);
	letter-spacing: var(--property-register-option-letter-spacing);
	white-space: nowrap;
}

.property-check-option,
.property-radio-option
{
	display: inline-flex;
	align-items: center;
	gap: var(--property-register-option-gap);
	font-size: var(--property-register-option-font-size);
	font-weight: var(--property-register-option-font-weight);
	color: var(--property-register-right-text-color);
	letter-spacing: var(--property-register-option-letter-spacing);
	cursor: pointer;
	user-select: none;
	white-space: nowrap;
}

.property-check-option input
{
	width: var(--property-register-info-checkbox-size);
	height: var(--property-register-info-checkbox-size);
	margin: 0;
	accent-color: #2f363d;
	cursor: pointer;
	flex: 0 0 auto;
}

.property-radio-option input
{
	width: var(--property-register-info-radio-size);
	height: var(--property-register-info-radio-size);
	margin: 0;
	accent-color: #2f363d;
	cursor: pointer;
	flex: 0 0 auto;
}

/* PATCH 2.290: 토지 정보 드롭다운은 12줄만 보이고 이후는 스크롤 */
.property-land-select-field .property-register-dropdown-menu
{
	max-height: 470px;
	overflow-y: auto;
}

.property-info-row.property-heating-row > .property-form-label
{
	display: flex;
	align-items: center;
	min-height: var(--property-register-info-radio-size);
}

.property-info-row.property-heating-row .property-radio-row
{
	align-items: center;
	min-height: var(--property-register-info-radio-size);
}

/* ===== PATCH: 매물 유형 변경 시 매물정보 카드 너비 고정 ===== */
.property-register-card,
.property-info-card
{
	width: 100%;
	max-width: 100%;
	min-width: 0;
}

/* ===== PATCH: 드롭다운 잘림 방지 + 카드 너비 고정 유지 ===== */
.property-register-card,
.property-info-card
{
	width: 100%;
	max-width: 100%;
	min-width: 0;
	overflow: visible;
}

/* ===== PATCH: 매물 등록 - 시설 정보 정렬 정리 ===== */
.property-facility-card
{
	min-height: 0;
}

.property-facility-card .property-check-option
{
	width: 100%;
	display: inline-flex;
	align-items: center;
	gap: var(--property-register-option-gap);
	white-space: nowrap;
}

/* ===== PATCH: 매물 등록 - 관리비 ===== */
.property-maintenance-card
{
	min-height: 0;
}

.maintenance-none-summary
{
	display: flex;
	flex-direction: column;
	gap: 8px;
	color: #111827;
	font-size: var(--property-register-option-font-size);
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -0.18px;
}

.maintenance-fee-field .property-register-input:disabled
{
	background: #f3f4f6;
	color: #9ca3af;
	-webkit-text-fill-color: #9ca3af;
	cursor: not-allowed;
}

/* PATCH 2.305: 사진이 있으면 업로드 안내 문구를 숨기고 썸네일만 표시 */
.property-upload-box.has-photo-preview .property-upload-guide
{
	display: none;
}

/* PATCH 2.304: 사진 썸네일은 업로드 박스 안에서 바로 표시 */
.property-photo-preview-grid
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	gap: 12px;
	width: 100%;
	margin-top: 8px;
}

.property-upload-box.has-photo-preview
{
	justify-content: flex-start;
}

/* PATCH 2.319: 사진이 있으면 썸네일 상단 여백도 좌/우/하단과 같은 박스 패딩만 사용 */
.property-upload-box.has-photo-preview .property-photo-preview-grid
{
	margin-top: 0;
}

.property-photo-preview-grid.is-hidden
{
	display: none;
}

.property-photo-preview-item
{
	position: relative;
	aspect-ratio: 4 / 3;
	border: 1px solid #d7dee8;
	background: #f8fafc;
	overflow: hidden;
	cursor: grab;
}

.property-photo-preview-item.is-dragging
{
	opacity: 0.46;
	cursor: grabbing;
}

.property-photo-preview-item.is-drop-target
{
	border-color: #4A7EDC;
	box-shadow: 0 0 0 2px rgba(74, 126, 220, 0.18) inset;
}

.property-photo-preview-item img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.property-photo-preview-name
{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 6px 8px;
	background: rgba(17, 24, 39, 0.68);
	color: #ffffff;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: -0.1px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.property-facility-card .property-check-option input
{
	width: var(--property-register-info-checkbox-size);
	height: var(--property-register-info-checkbox-size);
	margin: 0;
	align-self: center;
	flex: 0 0 auto;
}

.property-register-page textarea
{
	box-sizing: border-box;
}

/* ===== PATCH: 매물 등록 드롭다운 높이 단일 변수 적용 ===== */
.property-form-control.property-register-dropdown,
.property-form-control.property-register-dropdown .property-register-dropdown-trigger
{
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
	box-sizing: border-box;
}

.admin-notice-field .admin-notice-category-dropdown.property-form-control.property-register-dropdown,
.admin-notice-field .admin-notice-category-dropdown.property-form-control.property-register-dropdown .property-register-dropdown-trigger
{
	height: 42px;
	min-height: 42px;
}

/* ===== PATCH: 홈 상태에서는 매물등록 화면/하단바 강제 숨김 ===== */
body:not(.property-register-page-open) #propertyRegisterPage,
body:not(.property-register-page-open) #propertyRegisterBottomBar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	min-height: var(--property-register-input-height);
	margin: 0 0 14px;
	padding: 0;
	border: 0;
	background: transparent;
}

.auth-modal.profile-page-mode .auth-myinfo-display-label
{
	color: #111827;
	font-family: var(--font-ui);
	font-size: var(--property-register-left-label-font-size);
	font-weight: var(--property-register-left-label-font-weight);
	letter-spacing: -0.18px;
	line-height: 1.2;
	text-align: left;
	white-space: nowrap;
}

.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	width: 100%;
	min-height: var(--property-register-input-height);
	height: var(--property-register-input-height);
	border: 1px solid #d8dee8;
	border-radius: 0;
	background: #f9fafb;
	color: #111827;
	font-family: var(--font-ui);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.16px;
	line-height: 1;
	padding: 0 18px;
	display: flex;
	align-items: center;
	box-shadow: none;
	box-sizing: border-box;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-secondary
{
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
	border-radius: 0;
	font-family: var(--font-ui);
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.16px;
	box-shadow: none;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-preview
{
	width: 64px;
	height: 64px;
	border-radius: 50%;
	border: 1px solid #e5e7eb;
	background: #f3f4f6;
	box-shadow: none;
}

/* ===== PATCH: 프로필 이미지 크기 통일 (내 정보 기준 84px) ===== */
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-preview
{
    width: 84px;
    height: 84px;
}

/* ===== PATCH 2.152: 매물 주소 모달 전역 변수 기반 통합 CSS ===== */
.property-address-wrap
{
	position: relative;
}

.property-address-wrap .property-register-input
{
	cursor: pointer;
}

.property-address-hide-row
{
	display: none;
	margin: var(--property-address-hide-row-margin-top)
	        0
	        var(--property-address-hide-row-margin-bottom)
	        var(--property-address-hide-row-margin-left);
}

.property-address-hide-row.open
{
	display: block;
}

.property-address-hide-label
{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	font-size: var(--property-address-hide-label-font-size);
	font-weight: var(--property-address-hide-label-font-weight);
	letter-spacing: -0.16px;
	color: #111827;
	cursor: pointer;
}

.property-address-hide-label input
{
	width: var(--property-address-hide-checkbox-size);
	height: var(--property-address-hide-checkbox-size);
	margin: 0;
	accent-color: var(--profile-page-primary-button-bg);
	cursor: pointer;
	flex: 0 0 auto;
}

.property-address-hide-help
{
	margin: var(--property-address-hide-help-margin-top)
	        0
	        0
	        0;
	font-size: var(--property-address-hide-help-font-size);
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: -0.1px;
	color: var(--property-register-right-text-color);
}

.property-address-location-row
{
	display: none;
	margin: var(--property-address-location-row-margin-top)
	        0
	        var(--property-address-location-row-margin-bottom)
	        var(--property-address-location-row-margin-left);
}

.property-address-location-row.open
{
	display: block;
}

.property-address-location-mode-group
{
	display: flex;
	align-items: center;
	gap: var(--property-address-location-mode-gap);
	margin: 0
	        0
	        var(--property-address-location-mode-margin-bottom);
}

.property-address-location-direct-group
{
	display: flex;
	align-items: center;
	gap: var(--property-address-location-direct-gap);
	flex: 1 1 auto;
	min-width: 0;
}

.property-address-location-direct-search-btn
{
	flex: 0 0 var(--property-address-location-direct-button-width);
	width: var(--property-address-location-direct-button-width);
	height: var(--property-address-location-direct-button-height);
	min-height: var(--property-address-location-direct-button-height);
	max-height: var(--property-address-location-direct-button-height);
	padding: 0
	        var(--property-address-location-direct-button-padding-x);
	border: var(--profile-page-secondary-button-border);
	border-radius: var(--profile-page-button-radius);
	box-sizing: border-box;
	background: var(--profile-page-secondary-button-bg);
	color: var(--profile-page-secondary-button-color);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--property-address-location-direct-button-font-size);
	font-weight: var(--property-address-location-direct-button-font-weight);
	line-height: 1;
	letter-spacing: -0.1px;
	white-space: nowrap;
	word-break: keep-all;
	cursor: pointer;
}

.property-address-location-direct-search-box
{
	display: none;
	flex: 1 1 auto;
	min-width: 0;
	height: var(--property-address-location-direct-button-height);
}

.property-address-location-direct-search-box.open
{
	display: flex;
	align-items: center;
}

.property-address-location-direct-search-input
{
	width: 100%;
	height: var(--property-address-location-direct-button-height);
	min-height: var(--property-address-location-direct-button-height);
	max-height: var(--property-address-location-direct-button-height);
	padding: 0
	        var(--property-address-location-direct-input-padding-x);
	border: var(--property-address-input-border);
	border-radius: var(--property-address-input-radius);
	box-sizing: border-box;
	background: var(--property-address-input-bg);
	color: var(--property-address-input-color);
	font-size: var(--property-address-location-direct-input-font-size);
	font-weight: 600;
	line-height: 1;
	appearance: none;
	outline: none;
}

.property-register-page .property-address-location-mode-group .property-address-location-direct-search-input
{
	height: var(--property-address-location-direct-button-height);
	min-height: var(--property-address-location-direct-button-height);
	max-height: var(--property-address-location-direct-button-height);
	box-sizing: border-box;
}

/* ===== PATCH 2.184: 간편 매물 등록 모달 / 상세설명 길이 / 관리비 원 단위 / 교차로 라벨 파싱 ===== */
.quick-property-modal
{
	position: fixed;
	inset: 0;
	z-index: 100600;
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--property-address-modal-padding);
	background: var(--property-address-modal-bg);
	font-size: var(--property-register-option-font-size);
}

.quick-property-dialog
{
	position: relative;
	width: var(--property-address-dialog-width);
	max-width: var(--property-address-dialog-max-width);
	max-height: var(--property-address-dialog-max-height);
	padding: var(--property-address-dialog-padding-top)
	        var(--property-address-dialog-padding-x)
	        var(--property-address-dialog-padding-bottom);
	background: var(--property-address-dialog-bg);
	border-radius: var(--property-address-dialog-radius);
	box-shadow: var(--property-address-dialog-shadow);
	overflow: hidden;
}

.quick-property-title
{
	margin: 0;
	color: var(--property-address-title-color);
	font-size: var(--property-address-title-font-size);
	font-weight: var(--property-address-title-font-weight);
	line-height: var(--property-address-title-line-height);
	letter-spacing: var(--property-address-title-letter-spacing);
}

.quick-property-paste-btn,
.quick-property-cancel-btn,
.quick-property-apply-btn
{
	height: var(--property-address-secondary-button-height);
	min-width: var(--property-address-secondary-button-min-width);
	padding: 0 var(--property-address-secondary-button-padding-x);
	border-radius: var(--property-address-secondary-button-radius);
	font-family: var(--font-ui);
	font-size: var(--property-address-secondary-button-font-size);
	font-weight: var(--property-address-secondary-button-font-weight);
	letter-spacing: -0.18px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	white-space: nowrap;
}

.quick-property-paste-btn,
.quick-property-cancel-btn
{
	background: var(--property-address-secondary-button-bg);
	color: var(--property-address-secondary-button-color);
	border: var(--property-address-secondary-button-border);
}

.quick-property-source-option
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--property-address-input-color);
	font-family: var(--font-ui);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
}

.quick-property-textarea
{
	width: 100%;
	height: 188px;
	padding: 18px;
	border: var(--property-address-input-border);
	border-radius: var(--property-address-input-radius);
	background: var(--property-address-input-bg);
	color: var(--property-address-input-color);
	font-family: var(--font-ui);
	font-size: var(--property-address-input-font-size);
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: var(--property-address-input-letter-spacing);
	resize: none;
	outline: none;
	box-sizing: border-box;
}

.quick-property-textarea::placeholder
{
	color: var(--property-address-input-placeholder-color);
	font-weight: 400;
}

.quick-property-textarea:focus
{
	border: var(--property-address-input-border-focus);
	background: var(--property-address-input-bg);
	box-shadow: none;
	outline: none;
}

.quick-property-apply-btn
{
	min-width: var(--property-address-secondary-button-min-width);
	padding: 0 var(--property-address-primary-button-padding-x);
	border-radius: var(--property-address-primary-button-radius);
	font-size: var(--property-address-primary-button-font-size);
	font-weight: var(--property-address-primary-button-font-weight);
	letter-spacing: var(--property-address-primary-button-letter-spacing);
	background: var(--property-address-primary-button-bg);
	color: var(--property-address-primary-button-color);
	border: var(--property-address-primary-button-border);
}

@media (max-width: 720px)
{
	.quick-property-dialog
	{
		width: calc(100vw - 32px);
		padding: 24px;
		border-radius: var(--property-address-dialog-radius);
	}
	.quick-property-head
	{
		align-items: flex-start;
		flex-direction: column;
	}
	.quick-property-title
	{
		font-size: 24px;
	}
	.quick-property-textarea
	{
		height: 220px;
	}
	.quick-property-foot
	{
		padding-top: 18px;
	}
	.quick-property-paste-btn,
	.quick-property-cancel-btn,
	.quick-property-apply-btn
	{
		height: var(--property-address-secondary-button-height);
		min-width: 0;
		flex: 1 1 0;
	}
}

.property-address-location-direct-search-input::placeholder
{
	color: var(--property-address-input-placeholder-color);
}

.property-address-location-map
{
	width: 100%;
	height: var(--property-address-location-map-height);
	border: var(--property-address-location-map-border);
	background: var(--property-address-location-map-bg);
	overflow: hidden;
}

.property-address-location-help
{
	margin: var(--property-address-location-help-margin-top)
	        0
	        0;
	font-size: var(--property-address-location-help-font-size);
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.1px;
	color: var(--property-address-location-help-color);
}

.property-address-location-row[data-location-mode="hidden"] .property-address-location-help
{
	color: #6b7280;
}

.property-address-search-modal
{
	position: fixed;
	inset: 0;
	z-index: var(--property-address-modal-z-index);
	display: none;
	align-items: center;
	justify-content: center;
	padding: var(--property-address-modal-padding);
	background: var(--property-address-modal-bg);
	font-size: var(--property-register-option-font-size);
}

.property-address-search-modal.open
{
	display: flex;
}

.property-address-search-dialog
{
	position: relative;
	width: var(--property-address-dialog-width);
	max-width: var(--property-address-dialog-max-width);
	max-height: var(--property-address-dialog-max-height);
	padding: var(--property-address-dialog-padding-top)
	        var(--property-address-dialog-padding-x)
	        var(--property-address-dialog-padding-bottom);
	border-radius: var(--property-address-dialog-radius);
	background: var(--property-address-dialog-bg);
	box-shadow: var(--property-address-dialog-shadow);
	overflow: hidden;
}

.property-address-search-close
{
	position: absolute;
	top: var(--property-address-close-top);
	right: var(--property-address-close-right);
	width: var(--property-address-close-size);
	height: var(--property-address-close-size);
	border: 0;
	border-radius: var(--radius-round);
	background: var(--property-address-close-bg);
	color: var(--property-address-close-color);
	font-size: var(--property-address-close-font-size);
	font-weight: var(--property-address-close-font-weight);
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.property-address-search-title
{
	margin: 0
	        0
	        var(--property-address-title-margin-bottom);
	font-size: var(--property-address-title-font-size);
	font-weight: var(--property-address-title-font-weight);
	line-height: var(--property-address-title-line-height);
	letter-spacing: var(--property-address-title-letter-spacing);
	color: var(--property-address-title-color);
}

.property-address-search-form
{
	position: relative;
	margin-bottom: var(--property-address-search-form-margin-bottom);
}

.property-address-search-input
{
	padding: 0
	        var(--property-address-search-input-padding-right)
	        0
	        var(--property-address-search-input-padding-left);
}

.property-address-search-input::-webkit-search-cancel-button
{
	display: none;
	-webkit-appearance: none;
}

.property-address-search-submit
{
	position: absolute;
	top: 50%;
	right: var(--property-address-search-icon-right);
	transform: translateY(-50%);
	width: var(--property-address-search-icon-size);
	height: var(--property-address-search-icon-size);
	border: 0;
	background: transparent;
	color: var(--property-address-search-icon-color);
	font-size: var(--property-address-search-icon-font-size);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.property-address-search-guide
{
	padding-top: var(--property-address-guide-padding-top);
}

.property-address-search-guide-title
{
	margin: 0
	        0
	        var(--property-address-guide-title-margin-bottom);
	font-size: var(--property-address-guide-title-font-size);
	font-weight: var(--property-address-guide-title-font-weight);
	letter-spacing: -0.5px;
	color: var(--property-address-title-color);
}

.property-address-search-guide-row
{
	margin: 0
	        0
	        var(--property-address-guide-row-margin-bottom);
}

.property-address-search-guide-main
{
	margin: 0
	        0
	        var(--property-address-guide-main-margin-bottom);
	font-size: var(--property-address-guide-main-font-size);
	font-weight: var(--property-address-guide-main-font-weight);
	letter-spacing: -0.35px;
	color: #111827;
}

.property-address-search-guide-example
{
	margin: 0;
	font-size: var(--property-address-guide-example-font-size);
	font-weight: 400;
	letter-spacing: -0.25px;
	color: var(--property-address-guide-example-color);
}

.property-address-search-results
{
	display: none;
	max-height: var(--property-address-results-max-height);
	overflow-y: auto;
	padding-right: 2px;
}

.property-address-search-results.open
{
	display: block;
}

.property-address-search-result
{
	position: relative;
	padding: var(--property-address-result-padding-top)
	        var(--property-address-result-padding-right)
	        var(--property-address-result-padding-bottom)
	        0;
	border-bottom: 0;
}

.property-address-search-result + .property-address-search-result
{
	margin-top: var(--property-address-result-gap);
}

.property-address-result-zone
{
	margin: 0
	        0
	        var(--property-address-zone-margin-bottom);
	font-size: var(--property-address-zone-font-size);
	font-weight: var(--property-address-zone-font-weight);
	letter-spacing: -0.2px;
	color: var(--property-address-title-color);
}

.property-address-result-line
{
	display: flex;
	align-items: center;
	gap: var(--property-address-line-gap);
	margin: 0
	        0
	        var(--property-address-line-margin-bottom);
}

.property-address-result-badge
{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: var(--property-address-badge-height);
	padding: 0
	        var(--property-address-badge-padding-x);
	border-radius: var(--property-address-badge-radius);
	background: var(--property-address-badge-bg);
	color: var(--property-address-badge-color);
	font-size: var(--property-address-badge-font-size);
	font-weight: var(--property-address-badge-font-weight);
	letter-spacing: -0.1px;
}

.property-address-result-select
{
	position: absolute;
	top: var(--property-address-result-select-top);
	right: var(--property-address-result-select-right);
}

.property-address-search-empty,
.property-address-search-loading
{
	padding: 24px 0 12px;
	font-size: 17px;
	font-weight: 350;
	color: #6b7280;
	letter-spacing: -0.2px;
}


/* ===== MERGED FROM broker_2.712.css ===== */
/* ===== INLINE FROM broker.css ===== */
/* REALJEJU broker.css - stable split from realjeju_2.361(3).html / Ver 2.396 */

.auth-modal.profile-page-mode .auth-profile-setup-screen,
.auth-modal.profile-page-mode .auth-myinfo-screen,
.auth-modal.profile-page-mode .auth-broker-office-screen
{
	width: min(680px, calc(100vw - 40px));
	margin: 0 auto;
}

/* ===== PATCH 1.928: my info view + broker office menu/page ===== */
.auth-myinfo-screen, .auth-broker-office-screen
{
	display: flex;
	flex-direction: column;
	width: 100%;
}

.auth-myinfo-edit-btn,
.auth-myinfo-broker-btn
{
	width: 100%;
	height: 44px;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.1px;
	cursor: pointer;
}

.auth-myinfo-broker-btn
{
	background: #3B82F6;
	border-color: #3B82F6;
	color: #ffffff;
}

.broker-office-inline-field
{
	display: flex;
	align-items: center;
	gap: 8px;
}

.broker-office-inline-field .auth-modal-input
{
	flex: 1 1 auto;
	min-width: 0;
}

.broker-office-inline-btn
{
	flex: 0 0 auto;
	height: 58px;
	padding: 0 16px;
	border: 0;
	border-radius: 4px;
	background: #3B82F6;
	color: #ffffff;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -0.1px;
	white-space: nowrap;
	cursor: pointer;
}

.auth-broker-office-screen .auth-modal-form
{
	gap: 14px;
}

/* ===== PATCH 1.928: broker office full page application layout ===== */
.auth-modal.profile-page-mode .auth-broker-office-screen
{
	width: min(1120px, calc(100vw - 80px));
	margin: 0 auto;
	
	/* 중개사무소 회원가입 신청 - 오른쪽 끝에 스크롤바 생기는 현상 제거 */
	overflow: hidden;
}

.broker-apply-page
{
	display: grid;
	grid-template-columns: minmax(380px, 0.92fr) minmax(470px, 1.08fr);
	gap: 72px;
	align-items: start;
	width: 100%;
	padding: 0 0 28px;
}

.broker-apply-left
{
	padding-top: 4px;
}

.broker-apply-title
{
	margin: 0 0 46px;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.18;
	letter-spacing: -1.2px;
	color: #111827;
}

.broker-apply-guide-card
{
	width: 430px;
	max-width: 100%;
	padding: 22px 24px 20px;
	border-radius: 0;
	border: 1px solid #d6d6d6;
	background: #f3f3f3;
	color: #111827;
}

.broker-apply-guide-card p
{
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: -0.25px;
	word-break: keep-all;
}

.broker-apply-guide-card p:last-of-type
{
	margin-bottom: 8px;
}

.broker-apply-guide-btn
{
	height: 40px;
	padding: 0 16px;
	border: 1px solid #d1d5db;
	border-radius: 5px;
	background: #ffffff;
	color: #1f2937;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.2px;
	cursor: pointer;
}

.broker-apply-form
{
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-top: 0;
}

.broker-apply-field
{
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.broker-apply-label
{
	font-size: 18px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.4px;
	color: #111827;
}

.broker-apply-label span
{
	font-weight: 600;
	color: #6b7280;
}

.broker-apply-input,
.broker-apply-select
{
	width: 100%;
	height: 46px;
	border: 2px solid #d8d8d8;
	border-radius: 8px;
	background: #ffffff;
	color: #111827;
	padding: 0 16px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.15px;
	outline: none;
	box-shadow: none;
}

.broker-apply-input::placeholder
{
	color: #6b7280;
	font-weight: 600;
}

.broker-apply-search-btn
{
	position: absolute;
	right: 6px;
	bottom: 6px;
	height: 30px;
	padding: 0 12px;
	border: 0;
	border-radius: 4px;
	background: #1B6FA4;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.1px;
	cursor: pointer;
}

.broker-apply-search-btn + *
{
	margin-top: 0;
}

.broker-apply-hidden-fields
{
	display: none;
}

.broker-apply-email-row
{
	display: grid;
	grid-template-columns: 1fr 22px 1fr;
	gap: 8px;
	align-items: center;
}

.broker-apply-at
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	color: #111827;
	line-height: 1;
}

.broker-apply-select
{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: linear-gradient(45deg, transparent 50%, #9ca3af 50%), linear-gradient(135deg, #9ca3af 50%, transparent 50%);
	background-position: calc(100% - 16px) 17px, calc(100% - 11px) 17px;
	background-size: 5px 5px, 5px 5px;
	background-repeat: no-repeat;
}

.broker-apply-terms
{
	margin-top: 160px;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 46px;
	padding: 0 12px;
	border: 1px solid #e5e7eb;
	border-radius: 5px;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: -0.15px;
	cursor: pointer;
	user-select: none;
}

.broker-apply-terms input
{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.broker-apply-checkmark
{
	width: 14px;
	height: 14px;
	border: 1px solid #fb923c;
	border-radius: 3px;
	background: #ffffff;
	flex: 0 0 auto;
}

.broker-apply-terms input:checked + .broker-apply-checkmark
{
	background: #fb923c;
	box-shadow: inset 0 0 0 3px #ffffff;
}

.broker-apply-terms i
{
	margin-left: auto;
	font-size: 15px;
	color: #111827;
}

.broker-apply-submit
{
	width: 100%;
	height: 58px;
	margin-top: 14px;
	border: 0;
	border-radius: 10px;
	background: #1f79ae;
	color: #ffffff;
	font-size: 20px;
	font-weight: 800;
	letter-spacing: -0.4px;
	cursor: pointer;
}

@media (max-width: 980px)
{
	.auth-modal.profile-page-mode .auth-broker-office-screen
	{
		width: min(680px, calc(100vw - 40px));
	}

	.broker-apply-page
	{
		grid-template-columns: 1fr;
		gap: 34px;
	}

	.broker-apply-title
	{
		margin-bottom: 28px;
		font-size: 34px;
	}

	.broker-apply-terms
	{
		margin-top: 22px;
	}
}

.auth-modal.profile-page-mode .auth-broker-office-screen
{
	width: min(1080px, calc(100vw - 80px));
	margin-left: auto;
	margin-right: auto;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-page
{
	grid-template-columns: minmax(320px, 0.85fr) minmax(440px, 1fr);
	gap: 42px;
	align-items: start;
	justify-content: center;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 0 28px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-form
{
	padding: 30px 32px 34px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
	gap: 15px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-field
{
	gap: 7px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-label
{
	font-size: 14px;
	font-weight: 900;
	color: #334155;
	letter-spacing: -0.15px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-input,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-select
{
	height: 52px;
	border: 1px solid #dbe3ec;
	border-radius: 12px;
	background: #f8fafc;
	color: #111827;
	padding: 0 16px;
	font-size: 15px;
	font-weight: 800;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-input:focus,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-select:focus
{
	border-color: #1B6FA4;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(27, 111, 164, 0.10);
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-submit
{
	height: 56px;
	margin-top: 12px;
	border-radius: 10px;
	background: #1B6FA4;
	font-size: 18px;
	font-weight: 900;
	box-shadow: 0 10px 22px rgba(27, 111, 164, 0.22);
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-title
{
	margin: 0 0 28px;
	font-size: 36px;
	line-height: 1.18;
	letter-spacing: -1px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-guide-card
{
	border-radius: 18px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

@media (max-width: 980px)
{
	.auth-modal.profile-page-mode .auth-modal-dialog
	{
		padding: 28px 18px 36px;
	}

	.auth-modal.profile-page-mode .auth-profile-setup-screen,
	.auth-modal.profile-page-mode .auth-myinfo-screen
	{
		width: min(500px, calc(100vw - 28px));
		padding: 30px 24px 34px;
	}

	.auth-modal.profile-page-mode .auth-broker-office-screen
	{
		width: min(680px, calc(100vw - 28px));
	}

	.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-page
	{
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-form
	{
		padding: 26px 22px 30px;
	}
}

.auth-modal.profile-page-mode .auth-profile-setup-screen,
.auth-modal.profile-page-mode .auth-myinfo-screen,
.auth-modal.profile-page-mode .broker-apply-form
{
	position: relative;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-form
{
	padding-top: 54px;
}

.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-guide-card p
{
	display: grid;
	grid-template-columns: 12px 1fr;
	column-gap: 6px;
	align-items: start;
	text-align: left;
	padding-left: 0;
	text-indent: 0;
	line-height: 1.62;
	word-break: keep-all;
}

.broker-guide-dot
{
	display: block;
	line-height: inherit;
}

.broker-guide-text
{
	display: block;
	min-width: 0;
	
	font-size: 15px;
	font-weight: 300;
}

/* 중개사무소 신청 화면은 기존 구조 보호 */
.auth-modal.profile-page-mode .auth-broker-office-screen
{
	margin: 0 auto;
}

/* ===== PATCH: 중개사무소 신청 페이지 네모 처리 ===== */
.auth-modal.broker-office-mode .auth-modal-dialog,
.auth-modal.broker-office-mode .auth-modal-input,
.auth-modal.broker-office-mode .auth-modal-submit,
.auth-modal.broker-office-mode button
{
    border-radius: 0;
    box-shadow: none;
}

/* ===== PATCH: 중개사무소 신청 / 내 정보 설정 남은 라운드 완전 제거 ===== */

/* 중개사무소 신청 페이지 전체 네모 강제 */
.auth-modal.broker-office-mode *,
.auth-modal.profile-page-mode .auth-broker-office-screen,
.auth-modal.profile-page-mode .auth-broker-office-screen *,
.auth-modal.profile-page-mode .broker-apply-page,
.auth-modal.profile-page-mode .broker-apply-page *,
.auth-modal.profile-page-mode .broker-apply-guide-card,
.auth-modal.profile-page-mode .broker-apply-guide-card *,
.auth-modal.profile-page-mode .broker-office-inline-field,
.auth-modal.profile-page-mode .broker-office-inline-field *,
.auth-modal.profile-page-mode [id^="brokerOffice"],
.auth-modal.profile-page-mode [id^="brokerOffice"] *,
.auth-modal.profile-page-mode [id^="brokerOwner"],
.auth-modal.profile-page-mode [id^="brokerOwner"] *,
.auth-modal.profile-page-mode [id^="brokerLicense"],
.auth-modal.profile-page-mode [id^="brokerLicense"] *
{
	border-radius: 0;
	box-shadow: none;
}

/* ===== PATCH: 중개사무소 신청 페이지 라운드 완전 제거 ===== */
.auth-modal.profile-page-mode .auth-broker-office-screen,
.auth-modal.profile-page-mode .auth-broker-office-screen *,
.auth-modal.profile-page-mode .broker-apply-page,
.auth-modal.profile-page-mode .broker-apply-page *,
.auth-modal.profile-page-mode .broker-apply-left,
.auth-modal.profile-page-mode .broker-apply-left *,
.auth-modal.profile-page-mode .broker-apply-guide-card,
.auth-modal.profile-page-mode .broker-apply-guide-card *,
.auth-modal.profile-page-mode .broker-apply-right,
.auth-modal.profile-page-mode .broker-apply-right *,
.auth-modal.profile-page-mode .broker-apply-form-card,
.auth-modal.profile-page-mode .broker-apply-form-card *,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-form,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-form *,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-field,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-field *,
.auth-modal.profile-page-mode .auth-broker-office-screen input,
.auth-modal.profile-page-mode .auth-broker-office-screen textarea,
.auth-modal.profile-page-mode .auth-broker-office-screen select,
.auth-modal.profile-page-mode .auth-broker-office-screen button,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-input,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-office-inline-btn,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-card-close
{
	border-radius: 0;
	box-shadow: none;
}

/* 중개사무소 신청 페이지 카드/입력창 배경 박스도 네모 고정 */
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-guide-card,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-right,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-form-card,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-input,
.auth-modal.profile-page-mode .auth-broker-office-screen input
{
	border-radius: 0;
}

/* ===== PATCH: 중개사무소 신청 오른쪽 입력칸 네모 최종 고정 ===== */
#authBrokerOfficeScreen input,
#authBrokerOfficeScreen textarea,
#authBrokerOfficeScreen select,
#authBrokerOfficeScreen .auth-modal-input,
#authBrokerOfficeScreen .broker-office-inline-field input,
#authBrokerOfficeScreen .broker-apply-right input,
#authBrokerOfficeScreen .broker-apply-right textarea,
#authBrokerOfficeScreen .broker-apply-right select,
#authBrokerOfficeScreen .broker-apply-right .auth-modal-input,
#authBrokerOfficeScreen .auth-modal-field input,
#authBrokerOfficeScreen .auth-modal-field textarea,
#authBrokerOfficeScreen .auth-modal-field select
{
	border-radius: 0;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

/* ===== PATCH: 내정보/개인정보/중개사무소 버튼 단일 관리 + 신청 박스 네모 ===== */
:root
{
	--profile-common-button-width: 100%;
	--profile-common-button-height: 54px;
	--profile-common-button-margin-top: 24px;
	--profile-common-button-bg: #1B6FA4;
	--profile-common-button-color: #ffffff;
	--profile-common-button-border: 1px solid #1B6FA4;
	--profile-common-button-radius: 0;
	--profile-common-button-shadow: none;
	--profile-common-button-font-family: var(--profile-page-text-font-family, var(--font-ui));
	--profile-common-button-font-size: var(--profile-page-text-font-size, 17px);
	--profile-common-button-font-weight: 700;
	--profile-common-button-letter-spacing: -0.18px;
}

/* 오른쪽 중개사무소 신청 전체 박스 네모 */
.auth-modal.profile-page-mode .auth-broker-office-screen,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-page,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-right,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-form-card,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-dialog
{
	border-radius: 0;
	box-shadow: none;
}

/* 내정보 / 내 정보 설정 / 중개사무소 가입신청 버튼 디자인 한 군데에서 통일 */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"],
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]
{
	width: var(--profile-common-button-width);
	height: var(--profile-common-button-height);
	margin-top: var(--profile-common-button-margin-top);
	background: var(--profile-common-button-bg);
	color: var(--profile-common-button-color);
	border: var(--profile-common-button-border);
	border-radius: var(--profile-common-button-radius);
	box-shadow: var(--profile-common-button-shadow);
	font-family: var(--profile-common-button-font-family);
	font-size: var(--profile-common-button-font-size);
	font-weight: var(--profile-common-button-font-weight);
	letter-spacing: var(--profile-common-button-letter-spacing);
	line-height: 1;
}

/* hover/focus/active 때도 임의 그림자/라운드 금지 */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit:hover,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit:hover,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:hover,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:hover,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:hover,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:hover,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit:focus,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit:focus,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:focus,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:focus,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:focus,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:focus,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit:active,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit:active,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:active,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:active,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:active,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:active
{
	background: var(--profile-common-button-bg);
	color: var(--profile-common-button-color);
	border: var(--profile-common-button-border);
	border-radius: var(--profile-common-button-radius);
	box-shadow: var(--profile-common-button-shadow);
}

/* 중개사무소 신청 페이지 입력/카드 네모 재고정 */
#authBrokerOfficeScreen,
#authBrokerOfficeScreen *,
#authBrokerOfficeScreen input,
#authBrokerOfficeScreen textarea,
#authBrokerOfficeScreen select,
#authBrokerOfficeScreen button
{
	border-radius: 0;
	box-shadow: none;
}

/* ===== PATCH: 중개사무소 신청 닫기 X 버튼만 기존 원형 효과 복원 ===== */
#authBrokerOfficeScreen .auth-card-close,
#authBrokerOfficeScreen .auth-modal-close
{
	border-radius: 50%;
}

body.admin-page-open .admin-page-panel,
body.broker-home-page-open .broker-home-panel
{
	display: block;
}

body.broker-home-page-open .broker-home-panel
{
	display: block;
}

body.broker-home-page-open
{
	min-height: 100%;
	background: #ffffff;
	overflow-x: hidden;
	overflow-y: hidden;
}

body.broker-home-page-open .global-topbar
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 150;
}

body.broker-home-page-open::after
{
	content: none;
	display: none;
}

body.admin-page-open .admin-page-panel
{
	display: flex;
	flex-direction: column;
}

body.admin-page-open .sub-topbar,
body.admin-page-open .sidebar,
body.admin-page-open .resizer,
body.admin-page-open .map-wrap,
body.broker-home-page-open .sub-topbar,
body.broker-home-page-open .sidebar,
body.broker-home-page-open .resizer,
body.broker-home-page-open .map-wrap
{
	display: none;
}

/* PATCH 2.316: 중개사 홈에서 본인이 올린 매물을 관리 목록으로 표시 */
.broker-home-panel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	min-height: 0;
	background: #ffffff;
	color: #111827;
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-gutter: stable;
	margin-top: 0;
	padding: 20px 24px 0;
	box-sizing: border-box;
}

.broker-home-panel > .broker-home-overview,
.broker-home-panel > .broker-home-list-title,
.broker-home-panel > .broker-home-filterbar,
.broker-home-panel > #brokerListingsList
{
	width: min(1280px, 100%);
	margin-left: auto;
	margin-right: auto;
}

.broker-home-panel .admin-empty
{
	padding: 24px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
	box-sizing: border-box;
	text-align: left;
}

.broker-home-list-title
{
	margin-top: 48px;
	margin-bottom: 18px;
	color: #111827;
	font-size: 20px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -0.04em;
}


/* PATCH 2.551: 중개사 홈 하단 사업자 푸터 */
.broker-home-company-info
{
	margin: 24px -24px 0;
	padding: 0;
	background: #ffffff;
	color: #6f7782;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0;
}

.broker-home-company-inner
{
	--broker-footer-left: 0px;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 0 20px;
	box-sizing: border-box;
}

.broker-home-footer-nav
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 15px;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding-left: max(24px, calc((100vw - 1280px) / 2));
	padding-right: max(24px, calc((100vw - 1280px) / 2));
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
	min-height: 48px;
	color: #2f343a;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

.broker-home-footer-separator
{
	color: #d0d5dd;
	font-weight: 400;
}

.broker-home-company-body
{
	padding: 14px 0 0;
	padding-left: var(--broker-footer-left);
}

.broker-home-company-brand
{
	color: #202124;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.6;
}

.broker-home-company-lines
{
	display: grid;
	gap: 1px;
	color: #747d89;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.55;
}

.broker-home-company-lines p
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
	margin: 0;
}

.broker-home-company-lines strong
{
	color: #202124;
	font-weight: 650;
}

.broker-home-company-notice
{
	margin-top: 6px;
	color: #858c96;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.55;
}

.broker-home-company-link,
.broker-home-company-static-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: inherit;
	line-height: inherit;
	cursor: pointer;
}

.broker-home-company-link.is-strong
{
	color: #ff4a45;
	font-weight: 850;
}

.broker-home-company-link:hover,
.broker-home-company-static-link:hover
{
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.broker-home-company-link.is-strong:hover
{
	color: #ff4a45;
}

.broker-home-company-copy
{
	margin-top: 8px;
	padding-left: var(--broker-footer-left);
	border-top: 0;
	color: #858c96;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
}

.broker-home-mini-footer
{
	margin-top: auto;
}

.broker-home-mini-footer .broker-home-company-inner
{
	padding: 0 0 48px;
}

.broker-home-mini-copy
{
	margin-top: 72px;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 900px)
{
	.broker-home-company-inner
	{
		padding: 0 20px 22px;
	}

	.broker-home-footer-nav
	{
		gap: 8px 11px;
		min-height: 42px;
	}

	.broker-home-company-lines
	{
		font-size: 12px;
	}
}

/* PATCH 2.337: 중개사 홈 상단 안내/사용건수/필터 영역은 전역 변수로 간격 조정 */
:root
{
	--broker-home-top-gap: 14px;
	--broker-home-filter-gap: 14px;
	--broker-home-overview-filter-gap: 18px;
	--broker-home-overview-right-width: 330px;
}

.broker-home-overview
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--broker-home-overview-right-width);
	gap: var(--broker-home-top-gap);
	/* PATCH 2.347: 오른쪽 광고판 높이를 왼쪽 안내+사용건수 영역 높이에 맞춘다 */
	align-items: stretch;
	margin-top: 0;
	margin-bottom: var(--broker-home-overview-filter-gap);
}

.broker-home-main
{
	display: grid;
	gap: var(--broker-home-top-gap);
	min-width: 0;
}

.broker-home-law-notice
{
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	min-height: 66px;
	padding: 15px 20px;
	background: #fff9dd;
	color: #111827;
}

.broker-home-law-icon
{
	font-size: 26px;
	color: #ef3b23;
	text-align: center;
}

.broker-home-law-lines
{
	display: grid;
	/* PATCH 2.351: 법정 고시 안내 두 줄의 위아래 간격을 왼쪽 여백 기준으로 줄임 */
	gap: 1px;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: -0.16px;
}

.broker-home-law-lines strong
{
	color: #ef3b23;
	font-weight: 700;
}

.broker-home-law-help
{
	position: relative;
	display: inline-flex;
	align-items: center;
	color: #2563eb;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
	cursor: default;
}

.broker-home-law-help-panel
{
	position: absolute;
	left: 0;
	top: calc(100% + 10px);
	z-index: 40;
	display: none;
	width: 410px;
	padding: 18px 18px 16px;
	border: 1px solid #d8dee8;
	background: #ffffff;
	box-shadow: none;
	color: #111827;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.48;
	letter-spacing: -0.12px;
	white-space: normal;
}

.broker-home-law-help:hover .broker-home-law-help-panel,
.broker-home-law-help:focus .broker-home-law-help-panel
{
	display: grid;
	gap: 12px;
}

.broker-home-law-help-title
{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 18px;
	font-weight: 850;
	line-height: 1.28;
}

.broker-home-law-help-subtitle
{
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 850;
	line-height: 1.35;
}

.broker-home-law-help-list
{
	padding: 14px 18px;
	background: #fff7c7;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.75;
}

.broker-home-law-help-desc
{
	display: block;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
}

.broker-home-usage
{
	display: grid;
	/* PATCH 2.351: 사용건수 박스는 3칸 구성으로 확장 */
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 34px;
	/* PATCH 2.348: 매물 사용건수 박스 상하 여백을 같은 값으로 맞추고 외곽선은 연하게 조정 */
	padding: 20px 24px;
	border: 1px solid rgba(74, 126, 220, 0.38);
	background: #ffffff;
}

.broker-home-usage-item
{
	display: grid;
	grid-template-rows: 20px 10px 20px;
	align-content: center;
	row-gap: 8px;
}

.broker-home-usage-title
{
	display: flex;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
	color: #111827;
	letter-spacing: -0.14px;
}

.broker-home-usage-title span
{
	color: #64748b;
}

.broker-home-usage-help
{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	margin-left: 4px;
	border-radius: 50%;
	background: #35c66b;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	/* PATCH 2.352: 도움말 아이콘은 일반 커서를 쓰고 원 안의 물음표는 흰색으로 고정 */
	cursor: default;
}

.broker-home-usage-title .broker-home-usage-help
{
	color: #ffffff;
}

.broker-home-usage-help::after
{
	content: attr(data-help);
	position: absolute;
	left: 50%;
	top: calc(100% + 10px);
	z-index: 30;
	display: none;
	width: 300px;
	padding: 14px 16px;
	border: 1px solid #d8dee8;
	background: #ffffff;
	box-shadow: none;
	color: #334155;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: -0.1px;
	white-space: pre-line;
	transform: translateX(-50%);
}

.broker-home-usage-help:hover::after,
.broker-home-usage-help:focus::after
{
	display: block;
}

.broker-home-usage-track
{
	height: 10px;
	margin: 0;
	border-radius: 999px;
	background: #e5e7eb;
	overflow: hidden;
}

.broker-home-usage-fill
{
	height: 100%;
	width: 0%;
	border-radius: 999px;
	background: #4A7EDC;
}

.broker-home-usage-meta
{
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	font-size: 14px;
	font-weight: 400;
	color: #111827;
}

.broker-home-usage-meta strong
{
	color: #ef3b23;
	font-size: 14px;
	font-weight: 700;
}

.broker-home-ad
{
	position: relative;
	align-self: stretch;
	min-height: 0;
	height: 100%;
	padding: 22px 22px 20px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
	overflow: hidden;
}

.broker-home-ad[data-ad-mode="benefit"]
{
	background: #dff5ff;
}

.broker-home-ad-close
{
	position: absolute;
	top: 14px;
	right: 14px;
	width: 26px;
	height: 26px;
	border: 0;
	background: transparent;
	color: #64748b;
	font-size: 20px;
	font-weight: 300;
	cursor: pointer;
}

.broker-home-ad-title
{
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.42;
	letter-spacing: -0.2px;
	color: #111827;
}

.broker-home-ad-card
{
	width: 190px;
	min-height: 74px;
	margin: 0 auto 18px;
	padding: 12px 14px;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 10px 22px rgba(15, 23, 42, 0.12);
}

.broker-home-ad-card-title
{
	font-size: 13px;
	font-weight: 700;
	color: #111827;
}

.broker-home-ad-card-meta
{
	margin-top: 8px;
	font-size: 12px;
	font-weight: 400;
	color: #64748b;
}

.broker-home-ad-cta
{
	width: 100%;
	height: 40px;
	border: 0;
	background: #ff6600;
	color: #ffffff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.broker-home-ad[data-ad-mode="benefit"] .broker-home-ad-cta
{
	background: #242d3a;
}

.broker-home-filterbar
{
	display: flex;
	align-items: center;
	gap: var(--broker-home-filter-gap);
	width: 100%;
	/* PATCH 2.350: 거래중/거래완료 필터 줄 위아래 여백을 같은 값으로 맞춤 */
	margin-top: 0;
	margin-bottom: 20px;
	padding: 0;
}

.broker-home-filter-item
{
	position: relative;
}

.broker-home-filter-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	box-sizing: border-box;
	height: 38px;
	padding: 0 14px;
	border: 1px solid #dbe4ee;
	border-radius: 100px;
	background: #ffffff;
	color: var(--subbar-item-color);
	font-family: var(--subbar-menu-font-family);
	font-size: var(--subbar-menu-font-size);
	font-weight: var(--subbar-menu-font-weight);
	line-height: 1;
	letter-spacing: var(--subbar-menu-letter-spacing);
	cursor: pointer;
}

.broker-home-filter-btn i
{
	line-height: 1;
}

.broker-home-filter-btn.active
{
	border-color: #dbe4ee;
	background: #f1f5f9;
	color: #111827;
	font-weight: 700;
}

.broker-home-filter-btn.active span,
.broker-home-filter-btn.active i
{
	color: #111827;
}

.broker-home-filter-menu
{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	z-index: 9999;
	display: none;
	min-width: 240px;
	max-height: min(620px, calc(100vh - 120px));
	overflow-y: auto;
	padding: 8px;
	border: 1px solid #e2e8f0;
	background: rgba(255,255,255,0.98);
	box-shadow: none;
	backdrop-filter: blur(10px);
	flex-direction: column;
	gap: 2px;
}

.broker-home-filter-menu.open
{
	display: flex;
}

.broker-home-filter-option
{
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 36px;
	padding: 0 10px;
	border: 0;
	background: transparent;
	color: #334155;
	font-family: var(--subbar-item-font-family);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	text-align: left;
	letter-spacing: var(--subbar-item-letter-spacing);
	cursor: pointer;
	user-select: none;
}

.broker-home-filter-option:hover,
.broker-home-filter-option.active
{
	background: #f8fafc;
}

.broker-home-filter-option input
{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex: 0 0 auto;
}

.broker-home-filter-option span
{
	line-height: 1.2;
}

.broker-home-filter-reset-row
{
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid #e5e7eb;
}

.broker-home-filter-reset-btn
{
	width: 100%;
	min-height: 36px;
	border: 0;
	border-radius: 100px;
	background: #f8fafc;
	color: var(--subbar-item-color);
	font-family: var(--subbar-item-font-family);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
}

.broker-home-filter-reset-btn:hover
{
	background: #eef2f7;
	color: #1f2937;
}

body.broker-home-page-open .broker-home-law-notice,
body.broker-home-page-open .broker-home-usage,
body.broker-home-page-open .broker-home-ad,
body.broker-home-page-open .broker-home-payment-card,
body.broker-home-page-open .broker-home-filter-menu,
body.broker-home-page-open .broker-home-filter-btn,
body.broker-home-page-open .broker-listing-list,
body.broker-home-page-open .broker-listing-row,
body.broker-home-page-open .broker-listing-thumb,
body.broker-home-page-open .broker-home-company-info
{
	box-shadow: none;
}

.broker-home-filter-reset-btn i
{
	font-size: 12px;
	line-height: 1;
}

.broker-home-filter-divider
{
	width: 1px;
	height: 26px;
	background: #d8dee8;
}

.broker-home-filter-spacer
{
	flex: 1 1 auto;
	min-width: 16px;
}

/* PATCH 2.338: 중개사 홈 목록은 체크박스 없이 행별 관리 메뉴로 처리 */
.broker-listing-shell
{
	--broker-list-front-gap: 33px;
	--broker-list-title-area-gap: 14px;
	--broker-list-area-price-gap: 33px;
	--broker-list-price-edit-gap: 14px;
	--broker-list-button-gap: 8px;
	--broker-list-photo-size: 72px;
	--broker-list-photo-col: var(--broker-list-photo-size);
	--broker-list-type-col: 56px;
	--broker-list-status-col: 28px;
	--broker-list-date-col: 56px;
	--broker-list-no-col: 56px;
	--broker-list-area-col: 104px;
	--broker-list-price-col: 148px;
	--broker-list-edit-col: 58px;
	--broker-list-copy-col: 92px;
	--broker-list-menu-col: 34px;
	display: block;
	min-width: 0;
}

.broker-listing-list
{
	display: grid;
	gap: 0;
	border-top: 1px solid #edf1f5;
	border-bottom: 0;
	background: #ffffff;
}

.broker-listing-head,
.broker-listing-row
{
	display: grid;
	grid-template-columns: var(--broker-list-photo-col) 36px var(--broker-list-type-col) var(--broker-list-front-gap) var(--broker-list-status-col) var(--broker-list-front-gap) var(--broker-list-date-col) var(--broker-list-front-gap) var(--broker-list-no-col) var(--broker-list-front-gap) minmax(var(--broker-list-title-min, 350px), 1fr) var(--broker-list-title-area-gap) var(--broker-list-area-col) var(--broker-list-area-price-gap) var(--broker-list-price-col) var(--broker-list-price-edit-gap) var(--broker-list-edit-col) var(--broker-list-button-gap) var(--broker-list-copy-col) var(--broker-list-button-gap) var(--broker-list-menu-col);
	column-gap: 0;
	box-sizing: border-box;
	background: #ffffff;
	min-width: 0;
}

.broker-listing-head > div:nth-child(1),
.broker-listing-row > div:nth-child(1)
{
	grid-column: 1;
}

.broker-listing-head > div:nth-child(2),
.broker-listing-row > div:nth-child(2)
{
	grid-column: 3;
}

.broker-listing-head > div:nth-child(3),
.broker-listing-row > div:nth-child(3)
{
	grid-column: 5;
}

.broker-listing-head > div:nth-child(4),
.broker-listing-row > div:nth-child(4)
{
	grid-column: 7;
}

.broker-listing-head > div:nth-child(5),
.broker-listing-row > div:nth-child(5)
{
	grid-column: 9;
}

.broker-listing-head > div:nth-child(6),
.broker-listing-row > div:nth-child(6)
{
	grid-column: 11;
}

.broker-listing-head > div:nth-child(7),
.broker-listing-row > div:nth-child(7)
{
	grid-column: 13;
}

.broker-listing-head > div:nth-child(8),
.broker-listing-row > div:nth-child(8)
{
	grid-column: 15;
}

.broker-listing-head > div:nth-child(9),
.broker-listing-row > div:nth-child(9)
{
	grid-column: 17;
}

.broker-listing-head > div:nth-child(10),
.broker-listing-row > div:nth-child(10)
{
	grid-column: 19;
}

.broker-listing-head > div:nth-child(11),
.broker-listing-row > div:nth-child(11)
{
	grid-column: 21;
}

.broker-listing-head
{
	align-items: center;
	text-align: center;
	padding: 12px 0;
	border-bottom: 1px solid #edf1f5;
	color: #94a3b8;
	/* PATCH 2.346: 중개사 홈 목록 헤더 색상은 유지하고 크기만 14px로 조정 */
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.08px;
}

.broker-listing-row
{
	align-items: center;
	min-height: 97px;
	padding: 12px 0;
	border-bottom: 1px solid #edf1f5;
	transition: background-color 0.12s ease;
}

.broker-listing-pagination
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 18px 0 8px;
	border-top: 1px solid #edf1f5;
	background: #ffffff;
}

.broker-listing-page-btn
{
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border: 1px solid #dbe4ee;
	border-radius: 6px;
	background: #ffffff;
	color: #374151;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.broker-listing-page-btn.nav
{
	min-width: 50px;
}

.broker-listing-page-btn.active
{
	border-color: #cdd8e5;
	background: #f1f5f9;
	color: #111827;
	font-weight: 700;
}

.broker-listing-page-btn:disabled
{
	opacity: 0.45;
	cursor: default;
}

.broker-listing-page-ellipsis
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 34px;
	color: #94a3b8;
	font-size: 14px;
	font-weight: 600;
}

body.broker-home-page-open #brokerListingsList
{
	--broker-list-front-gap: clamp(18px, 2.55vw, 33px);
	--broker-list-title-area-gap: 12px;
	--broker-list-area-price-gap: clamp(18px, 2.55vw, 33px);
	--broker-list-price-edit-gap: 12px;
	--broker-list-photo-size: clamp(60px, 5.6vw, 72px);
	--broker-list-photo-col: var(--broker-list-photo-size);
	--broker-list-title-min: 0px;
	min-width: 0;
	height: auto;
	max-height: none;
	overflow-y: visible;
	overflow-x: hidden;
}

body.broker-home-page-open #brokerListingsList.broker-listing-list
{
	height: auto;
	max-height: none;
	overflow-y: visible;
}

body.broker-home-page-open #brokerListingsList .broker-listing-list,
body.broker-home-page-open #brokerListingsList .broker-listing-head,
body.broker-home-page-open #brokerListingsList .broker-listing-row
{
	width: 100%;
	min-width: 0;
}

.broker-listing-row:hover
{
	background: #f5f6f8;
}

.broker-listing-row:has(.broker-listing-edit-btn:hover),
.broker-listing-row:has(.broker-listing-edit-btn:focus-visible),
.broker-listing-row:has(.broker-listing-edit-btn:active)
{
	background: #ffffff;
}

.broker-listing-cell
{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-align: center;
}

.broker-listing-photo-cell
{
	justify-content: flex-start;
	align-items: center;
	width: var(--broker-list-photo-size);
	height: var(--broker-list-photo-size);
	min-width: var(--broker-list-photo-size);
}

.broker-listing-row > .broker-listing-cell:nth-child(3),
.broker-listing-row > .broker-listing-cell:nth-child(4),
.broker-listing-row > .broker-listing-cell:nth-child(5)
{
	justify-content: flex-start;
	text-align: left;
}

.broker-listing-row > .broker-listing-cell:nth-child(2)
{
	justify-content: center;
	text-align: center;
}

.broker-listing-head > div:nth-child(2),
.broker-listing-head > div:nth-child(3),
.broker-listing-head > div:nth-child(4),
.broker-listing-head > div:nth-child(5),
.broker-listing-head > div:nth-child(6)
{
	text-align: left;
}

.broker-listing-head > div:nth-child(9),
.broker-listing-head > div:nth-child(10),
.broker-listing-head > div:nth-child(11)
{
	text-align: center;
}

.broker-listing-head > div:nth-child(7)
{
	text-align: right;
}

.broker-listing-head > div:nth-child(8)
{
	box-sizing: border-box;
	padding-left: 10px;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}

.broker-listing-row:last-child
{
	border-bottom: 0;
}

.broker-listing-thumb
{
	inline-size: var(--broker-list-photo-size);
	block-size: var(--broker-list-photo-size);
	width: var(--broker-list-photo-size);
	height: var(--broker-list-photo-size);
	flex: 0 0 var(--broker-list-photo-size);
	aspect-ratio: 1 / 1;
	margin: 0;
	box-sizing: border-box;
	border: 0;
	border-radius: 8px;
	background: #f8fafc;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: -0.1px;
}

.broker-listing-thumb img
{
	inline-size: 100%;
	block-size: 100%;
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	display: block;
}

.broker-listing-type
{
	/* PATCH 2.326: 중개사 홈 목록 텍스트를 요청대로 전부 400 웨이트로 통일 */
	font-size: 14px;
	font-weight: 400;
	color: #334155;
	line-height: 1.45;
	letter-spacing: -0.18px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: keep-all;
	text-align: center;
}

.broker-listing-address
{
	margin-top: 5px;
	/* PATCH 2.327: 제목 아래 주소는 제목보다 작되 읽기 쉽게 14px로 조정 */
	font-size: 14px;
	font-weight: 400;
	color: #64748b;
	line-height: 1.45;
	letter-spacing: -0.1px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.broker-listing-title-cell
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: center;
	min-width: 0;
	height: 72px;
	box-sizing: border-box;
}

.broker-listing-title
{
	font-size: 14px;
	font-weight: 550;
	color: #111827;
	letter-spacing: -0.22px;
	line-height: 1.42;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.broker-listing-meta
{
	font-size: 14px;
	font-weight: 400;
	color: #334155;
	line-height: 1.45;
	letter-spacing: -0.1px;
}

.broker-listing-status
{
	display: inline;
	min-width: 0;
	height: auto;
	border: 0;
	background: transparent;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
}

.broker-listing-status.published
{
	color: #334155;
	background: transparent;
}

.broker-listing-no
{
	justify-content: center;
	font-size: 14px;
	font-weight: 400;
	color: #334155;
	letter-spacing: -0.1px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.broker-listing-area
{
	justify-content: flex-end;
	padding-left: 0;
	text-align: right;
	box-sizing: border-box;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.45;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.broker-listing-area-toggle
{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	height: 20px;
	line-height: 1;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: inherit;
	padding: 0;
	cursor: pointer;
}

.broker-listing-area-toggle-icon
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
	vertical-align: middle;
}

/* 중개사 홈 가격 금액 */
.broker-listing-price
{
	display: flex;
	align-items: center;
	gap: 6px;
	justify-content: flex-start;
	padding-left: 10px;
	box-sizing: border-box;
	text-align: left;
	white-space: nowrap;
}

.broker-listing-price-deal
{
	display: inline-flex;
	align-items: center;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.45;
}

.broker-listing-price-amount
{
	display: inline-flex;
	align-items: center;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.45;
}

.broker-listing-edit-btn,
.broker-listing-blog-copy-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 34px;
	padding: 0 8px;
	min-width: 52px;
	border: 0;
	/* PATCH 2.354: 수정/블로그복사 버튼을 매물유형 필터처럼 둥근 pill 형태로 맞춤 */
	border-radius: 999px;
	background: #f3f4f6;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.12px;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.broker-listing-blog-copy-btn
{
	width: 88px;
	min-width: 88px;
	font-weight: 400;
}

.broker-listing-edit-btn:hover
{
	background: #f3f4f6;
}

.broker-listing-blog-copy-btn:hover
{
	background: #e5e7eb;
}

.broker-listing-menu-cell
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.broker-listing-menu-btn
{
	width: 34px;
	height: 34px;
	border: 0;
	background: transparent;
	color: #475569;
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	cursor: pointer;
}

.broker-listing-menu-btn:hover
{
	background: #f1f5f9;
}

.broker-listing-more-menu
{
	position: absolute;
	top: 38px;
	right: 0;
	z-index: 20;
	display: none;
	min-width: 154px;
	padding: 8px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.broker-listing-more-menu.open
{
	display: grid;
	gap: 2px;
}

/* PATCH 3.148: 중개사 홈 행 관리 메뉴는 리스트 높이를 바꾸지 않는 최상위 플로팅 메뉴로 표시 */
body.broker-home-page-open .broker-listing-more-menu[data-broker-listing-menu-panel]
{
	position: fixed;
	top: var(--rj-broker-listing-menu-top, 0);
	right: auto;
	left: var(--rj-broker-listing-menu-left, 0);
	z-index: 10080;
}

.broker-listing-menu-item
{
	width: 100%;
	height: 34px;
	border: 0;
	background: transparent;
	color: #111827;
	/* PATCH 2.341: 내정보 드롭다운과 관리 드롭다운 글자 크기를 15px로 통일 */
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	letter-spacing: -0.08px;
	cursor: pointer;
}

.broker-listing-menu-item:hover
{
	background: #f8fafc;
}

.broker-listing-menu-item.danger
{
	color: #ef3b23;
}

@media (max-width: 900px)
{
	.admin-application-card
	{
		grid-template-columns: 1fr;
		align-items: stretch;
	}
	.admin-application-actions
	{
		justify-content: flex-start;
	}
	.broker-listing-row
	{
		grid-template-columns: var(--broker-list-photo-size) minmax(0, 1fr) 44px;
	}
	.broker-listing-head
	{
		display: none;
	}
		.broker-listing-price
		{
			grid-column: 2;
			text-align: left;
		}
		.broker-listing-area
		{
			grid-column: 2;
		}
		.broker-home-overview
	{
		grid-template-columns: 1fr;
	}
}

/* ===== PATCH: 중개사무소 신청 상태별 드롭다운 문구 ===== */
#brokerOfficeMenuItem.is-pending
{
	color: #1B6FA4;
	cursor: default;
	opacity: 1;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row > button,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row > button,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"],
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]
{
	width: 100%;
	min-width: 0;
	height: var(--profile-page-button-height);
	min-height: var(--profile-page-button-height);
	margin: 0;
	padding: 0 16px;
	border-radius: var(--profile-page-button-radius);
	box-shadow: var(--profile-page-button-shadow);
	font-size: var(--profile-page-button-font-size);
	font-weight: var(--profile-page-button-font-weight);
	letter-spacing: var(--profile-page-button-letter-spacing);
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	cursor: pointer;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"],
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"],
.auth-modal.profile-page-mode #authBrokerOfficeInfoScreen #brokerOfficeInfoEditBtn
{
	background: var(--profile-page-primary-button-bg);
	color: var(--profile-page-primary-button-color);
	border: var(--profile-page-primary-button-border);
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row > button:hover,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row > button:hover,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:hover,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:hover,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:hover,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:hover,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row > button:focus,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row > button:focus,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:focus,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:focus,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:focus,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:focus,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row > button:active,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row > button:active,
.auth-modal.profile-page-mode .auth-broker-office-screen .auth-modal-submit:active,
.auth-modal.profile-page-mode .auth-broker-office-screen button[type="submit"]:active,
.auth-modal.profile-page-mode .broker-apply-page .auth-modal-submit:active,
.auth-modal.profile-page-mode .broker-apply-page button[type="submit"]:active
{
	border-radius: var(--profile-page-button-radius);
	box-shadow: var(--profile-page-button-shadow);
}

/* ===== PATCH: 매물 등록 - 중개사무소 설정 ===== */
.property-agency-card
{
	min-height: 0;
}

/* ===== PATCH: 매물 등록 input 높이 단일 관리 ===== */
.property-register-page input[type="text"],
.property-register-page input[type="tel"],
.property-register-page input[type="number"],
.property-register-page input[type="email"],
.property-register-page input[type="url"],
.property-register-page input[type="date"],
.property-register-page select,
.property-register-input,
.property-register-select,
.property-detail-input,
.property-registrant-input,
.broker-apply-input
{
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
	box-sizing: border-box;
}

/* ===== PATCH: 매물 정보 층 정보 / 중개사무소 메모 정렬 ===== */
.property-info-row.property-floor-row > .property-form-label
{
	padding-top: 0;
	height: 32px;
	min-height: 32px;
	display: flex;
	align-items: center;
	line-height: 1.2;
}

/* PATCH 2.216: 중개사무소 메모 라벨은 글자수 카운터를 빼고 textarea 높이만 기준으로 중앙 정렬 */
.property-agency-row
{
	align-items: flex-start;
}

/* ===== PATCH: 중개사무소 가입신청 버튼 신청중 비활성화 ===== */
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-disabled,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:disabled
{
	background: #e5e7eb;
	color: #9ca3af;
	border: 1px solid #e5e7eb;
	cursor: not-allowed;
	box-shadow: none;
	pointer-events: none;
}

/* ===== PATCH: 주요 실행 버튼 4종 파랑 통일 ===== */
/* 내 정보 [수정] */
.auth-modal.profile-page-mode #myInfoEditProfileBtn,
/* 내 정보 설정 [저장] */
.auth-modal.profile-page-mode #authProfileSaveBtn,
/* 중개사무소 가입신청 */
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled),
/* 매물 등록하기 */
#propertySubmitBtn
{
	background: #4A7EDC;
	color: #ffffff;
	border: 1px solid #4A7EDC;
	box-shadow: none;
}

/* ===== PATCH 2.134: 개인정보 수정 전화번호 초기값 + 저장 버튼 파랑 최종 고정 ===== */
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):not(.is-pending),
.auth-modal.profile-page-mode .auth-myinfo-screen #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):not(.is-pending),
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-submit,
#authBrokerOfficeScreen .broker-apply-submit
{
	background: #4A7EDC;
	color: #ffffff;
	border: 1px solid #4A7EDC;
	box-shadow: none;
}

.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):not(.is-pending):hover,
.auth-modal.profile-page-mode .auth-myinfo-screen #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):not(.is-pending):hover,
.auth-modal.profile-page-mode .auth-broker-office-screen .broker-apply-submit:hover,
#authBrokerOfficeScreen .broker-apply-submit:hover
{
	background: #3F6FCC;
	border-color: #3F6FCC;
	color: #ffffff;
}


/* ===== MERGED FROM admin_2.712.css ===== */
/* ===== INLINE FROM admin.css ===== */
/* REALJEJU admin.css - stable split from realjeju_2.361(3).html / Ver 2.396 */

:root
{
	--sidebar-list-width: 360px;
	--detail-panel-width: var(--rj-detail-panel-width);
	--sidebar-current-width: 0px;
	--brand: #2563eb;
	--bg: #f4f7fb;
	--line: #e7edf3;
	--text: #17212b;
	--shadow: 0 12px 30px rgba(15, 41, 66, 0.12);
	--font-ui: "KoPubWorldDotum", "KoPub World Dotum", "KoPubWorld돋움체", "KoPub 돋움체", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--font-display: "KoPubWorldDotum", "KoPub World Dotum", "KoPubWorld돋움체", "KoPub 돋움체", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--topbar-row-height: 56px;
	--global-topbar-height: var(--topbar-row-height);
	--sub-topbar-height: var(--topbar-row-height);
	--map-control-font-size: 14px;
	--map-control-box-size: 48px;
	--map-control-radius: 5px;
	--map-tool-button-gap: 8px;
	--map-tool-stack-gap: 14px;
	--map-side-tools-top: 52px;
	--map-side-tools-right: 20px;
	--map-type-tool-height: calc((var(--map-control-box-size) * 4) + (var(--map-tool-button-gap) * 3));
	--map-unit-top-offset: 46px;
	--map-unit-tool-height: 48px;
	--map-zoom-stack-gap-from-unit: 23px;
	--map-zoom-current-gap: 20px;
	--map-tool-unit-gap-width: 18px;
	--type-font-size: 17px;
	--deal-font-size: 15px;
	--auth-font-size: 17px;
	--radius-main: 0px;
	--radius-small: 0px;
	--radius-pill: 0px;
	--radius-round: 9999px;
	--account-dropdown-padding-x: 20px;
	--account-dropdown-padding-y: 16px;
	--account-dropdown-line-color: #e5e7eb;
	/* ===== PATCH: 내 정보 / 내 정보 설정 / 중개사 가입 신청 버튼 전역 변수 ===== */
	--profile-page-button-height: 50px;
	--profile-page-button-radius: 0px;
	--profile-page-button-font-size: 17px;
	--profile-page-button-font-weight: 800;
	--profile-page-button-letter-spacing: -0.18px;
	--profile-page-button-shadow: none;
	--profile-page-primary-button-bg: #4A7EDC;
	--profile-page-primary-button-color: #ffffff;
	--profile-page-primary-button-border: 1px solid #4A7EDC;
	--profile-page-secondary-button-bg: #ffffff;
	--profile-page-secondary-button-color: #4A7EDC;
	--profile-page-secondary-button-border: 1px solid #4A7EDC;

	/* ===== PATCH: 관리자 페이지 전용 전역 변수 ===== */
	--admin-page-padding-top: 28px;
	--admin-page-padding-x: 34px;
	--admin-page-padding-bottom: 44px;

	--admin-title-font-size: 24px;
	--admin-title-font-weight: 600;
	--admin-title-letter-spacing: -0.35px;
	--admin-title-line-height: 1.25;
	--admin-title-color: #111827;

	--admin-desc-font-size: 14px;
	--admin-desc-font-weight: 400;
	--admin-desc-letter-spacing: -0.12px;
	--admin-desc-line-height: 1.4;
	--admin-desc-color: #64748b;

	--admin-office-font-size: 17px;
	--admin-office-font-weight: 600;
	--admin-office-letter-spacing: -0.22px;
	--admin-office-color: #111827;

	--admin-meta-font-size: 14px;
	--admin-meta-font-weight: 400;
	--admin-meta-letter-spacing: -0.1px;
	--admin-meta-line-height: 1.45;
	--admin-meta-color: #475569;

	--admin-status-font-size: 13px;
	--admin-status-font-weight: 600;
	--admin-status-letter-spacing: -0.1px;

	--admin-button-height: 34px;
	--admin-button-font-size: 13px;
	--admin-button-font-weight: 500;
	--admin-button-letter-spacing: -0.1px;
	--admin-button-radius: 0px;

	--admin-refresh-button-height: 38px;
	--admin-refresh-button-font-size: 14px;
	--admin-refresh-button-font-weight: 500;

	/* ===== PATCH: 매물 등록 가격 박스 높이 조절 변수 ===== */
	--property-price-card-min-height: 0px;
	--property-register-input-height: 50px;
	--property-register-dropdown-menu-height : 50px;
	--property-register-control-font-size: 15px;
	--property-register-control-font-weight: 500;
	--property-register-control-letter-spacing: 0px;
	--property-register-control-padding-x: 14px;
	--property-register-placeholder-font-size: 14px;
	--property-register-placeholder-font-weight: 400;

	/* ===== PATCH: 매물 등록 체크박스/라디오/라벨 전역 설정 ===== */
	--property-register-left-label-font-size: 16px;
	--property-register-left-label-font-weight: 750;
	--property-register-right-text-color: #5f6875;
	--property-register-option-font-size: 16px;
	--property-register-option-font-weight: 400;
	--property-register-option-letter-spacing: -0.16px;
	--property-register-option-gap: 10px;		/* 체크 버튼하고 글자 간격 */
	--property-register-deal-option-gap: 69px;	/* 매매 전세 월세 년세 단기 글자 간격 */
	--property-register-radio-column-width: 120px;
	--property-register-checkbox-size: 22px;
	--property-register-radio-size: 22px;
	--property-register-info-checkbox-size: 18px;
	--property-register-info-radio-size: 18px;

	/* ===== PATCH 2.152: 매물 주소 모달 전역 설정 ===== */
	--property-address-modal-z-index: 100500;
	--property-address-modal-bg: rgba(17, 24, 39, 0.42);
	--property-address-modal-padding: 24px;

	--property-address-dialog-width: 640px;
	--property-address-dialog-max-width: calc(100vw - 48px);
	--property-address-dialog-max-height: calc(100vh - 48px);
	--property-address-dialog-padding-top: 28px;
	--property-address-dialog-padding-x: 34px;
	--property-address-dialog-padding-bottom: 28px;
	--property-address-dialog-radius: 14px;
	--property-address-dialog-bg: #ffffff;
	--property-address-dialog-shadow: 0 24px 70px rgba(15, 23, 42, 0.24);

	--property-address-close-top: 20px;
	--property-address-close-right: 32px;
	--property-address-close-size: 34px;
	--property-address-close-bg: #f3f4f6;
	--property-address-close-color: #4b5563;
	--property-address-close-font-size: 28px;
	--property-address-close-font-weight: 200;

	--property-address-title-margin-bottom: 22px;
	--property-address-title-font-size: 26px;
	--property-address-title-font-weight: 900;
	--property-address-title-line-height: 1.15;
	--property-address-title-letter-spacing: -1px;
	--property-address-title-color: #050816;

	--property-address-input-height: 58px;
	--property-address-input-border: 1px solid #d8dee8;
	--property-address-input-border-focus: 1px solid #d8dee8;
	--property-address-input-radius: 0px;
	--property-address-input-bg: #ffffff;
	--property-address-input-color: #111827;
	--property-address-input-placeholder-color: #a8b0bd;
	--property-address-input-font-size: 16px;
	--property-address-input-font-weight: 600;
	--property-address-input-letter-spacing: -0.16px;
	--property-address-search-input-padding-left: 18px;
	--property-address-search-input-padding-right: 58px;
	--property-address-detail-input-padding-x: 18px;

	--property-address-search-form-margin-bottom: 20px;
	--property-address-search-icon-right: 18px;
	--property-address-search-icon-size: 34px;
	--property-address-search-icon-color: #475569;
	--property-address-search-icon-font-size: 22px;

	--property-address-guide-padding-top: 2px;
	--property-address-guide-title-margin-bottom: 16px;
	--property-address-guide-title-font-size: 18px;
	--property-address-guide-title-font-weight: 900;
	--property-address-guide-row-margin-bottom: 16px;
	--property-address-guide-main-margin-bottom: 5px;
	--property-address-guide-main-font-size: 16px;
	--property-address-guide-main-font-weight: 500;
	--property-address-guide-example-font-size: 14px;
	--property-address-guide-example-color: #8b93a1;

	--property-address-results-max-height: min(470px, calc(100vh - 260px));
	--property-address-result-padding-top: 10px;
	--property-address-result-padding-right: 150px;
	--property-address-result-padding-bottom: 22px;
	--property-address-result-gap: 12px;
	--property-address-zone-margin-bottom: 12px;
	--property-address-zone-font-size: 17px;
	--property-address-zone-font-weight: 900;
	--property-address-line-margin-bottom: 8px;
	--property-address-line-gap: 10px;
	--property-address-line-font-size: 15px;
	--property-address-line-font-weight: 500;
	--property-address-line-height: 1.45;

	--property-address-badge-height: 24px;
	--property-address-badge-padding-x: 8px;
	--property-address-badge-radius: 6px;
	--property-address-badge-bg: #f1f3f6;
	--property-address-badge-color: #6b7280;
	--property-address-badge-font-size: 13px;
	--property-address-badge-font-weight: 800;

	--property-address-primary-button-height: 52px;
	--property-address-primary-button-min-width: 52px;
	--property-address-primary-button-padding-x: 22px;
	--property-address-primary-button-bg: var(--profile-page-primary-button-bg);
	--property-address-primary-button-color: var(--profile-page-primary-button-color);
	--property-address-primary-button-border: var(--profile-page-primary-button-border);
	--property-address-primary-button-radius: 0px;
	--property-address-primary-button-font-size: 16px;
	--property-address-primary-button-font-weight: 800;
	--property-address-primary-button-letter-spacing: -0.18px;
	--property-address-result-select-top: 6px;
	--property-address-result-select-right: 0px;

	--property-address-secondary-button-height: 52px;
	--property-address-secondary-button-min-width: 132px;
	--property-address-secondary-button-padding-x: 22px;
	--property-address-secondary-button-bg: var(--profile-page-secondary-button-bg);
	--property-address-secondary-button-color: var(--profile-page-secondary-button-color);
	--property-address-secondary-button-border: var(--profile-page-secondary-button-border);
	--property-address-secondary-button-radius: 0px;
	--property-address-secondary-button-font-size: 16px;
	--property-address-secondary-button-font-weight: 800;

	--property-address-detail-head-margin-bottom: 26px;
	--property-address-address-row-gap: 20px;
	--property-address-address-row-margin-bottom: 8px;
	--property-address-selected-margin-top: 0px;
	--property-address-selected-margin-right: 0px;
	--property-address-selected-margin-bottom: 34px;
	--property-address-selected-margin-left: 24px;
	--property-address-detail-label-height: 28px;
	--property-address-detail-label-font-size: var(--property-register-left-label-font-size);
	--property-address-detail-label-font-weight: var(--property-register-left-label-font-weight);
	--property-address-detail-section-title-margin-bottom: 6px;
	--property-address-detail-help-margin-bottom: 14px;
	--property-address-detail-help-font-size: 14px;
	--property-address-detail-help-color: #9ca3af;
	--property-address-detail-actions-gap: 10px;
	--property-address-detail-actions-margin-top: 16px;

	--property-address-main-detail-right: 18px;
	--property-address-main-detail-max-width: 190px;
	--property-address-main-detail-font-size: 14px;
	--property-address-main-detail-font-weight: 600;
	--property-address-main-detail-color: #9ca3af;
	--property-address-main-detail-padding-right: 220px;

	/* ===== PATCH 2.171: 위치 직접검색 / 지도 크기 전역 변수 ===== */
	--location-search-btn-height: 40px;
	--location-search-input-height: 40px;
	--property-map-height: 300px;

	--property-address-location-row-margin-top: 12px;
	--property-address-location-row-margin-bottom: 28px;
	--property-address-location-row-margin-left: calc(140px + 24px);
	--property-address-location-mode-gap: 18px;
	--property-address-location-mode-margin-bottom: 10px;
	--property-address-location-map-height: var(--property-map-height);
	--property-address-location-map-border: 1px solid #d8dee8;
	--property-address-location-map-bg: #f8fafc;
	--property-address-location-help-margin-top: 8px;
	--property-address-location-help-font-size: 14px;
	--property-address-location-help-color: #2563eb;
	--property-address-location-rectangle-stroke: #3B82F6;
	--property-address-location-rectangle-fill: rgba(59, 130, 246, 0.26);
	--property-address-location-direct-button-width: 132px;
	--property-address-location-direct-button-height: var(--location-search-btn-height);
	--property-address-location-direct-button-padding-x: 14px;
	--property-address-location-direct-button-font-size: 14px;
	--property-address-location-direct-button-font-weight: 800;
	--property-address-location-direct-input-height: var(--location-search-input-height);
	--property-address-location-direct-input-padding-x: 14px;
	--property-address-location-direct-input-font-size: 14px;
	--property-address-location-direct-gap: 10px;

	--property-address-hide-row-margin-top: 12px;
	--property-address-hide-row-margin-bottom: 28px;
	--property-address-hide-row-margin-left: calc(140px + 24px);
	--property-address-hide-checkbox-size: var(--property-register-info-checkbox-size);
	--property-address-hide-label-font-size: 16px;
	--property-address-hide-label-font-weight: 500;
	--property-address-hide-help-margin-top: 8px;
	--property-address-hide-help-font-size: 14px;
	--property-address-hide-help-color: #8b93a1;
}

/* ===== PATCH: 관리자 페이지 - 중개사 신청 관리 ===== */
.admin-page-panel
{
	position: absolute;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 9990;
	display: none;
	background: #ffffff;
	color: #111827;
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-gutter: stable;
	padding: 72px 32px 0;
}

.admin-page-head
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	width: 1180px;
	max-width: calc(100vw - 64px);
	margin: 0 auto 52px;
	text-align: center;
}

.admin-page-title
{
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.2;
	margin: 0;
	color: #111827;
}

.admin-page-desc
{
	display: none;
}

.admin-refresh-btn
{
	height: 38px;
	padding: 0 16px;
	border: 1px solid #1B6FA4;
	border-radius: 0;
	background: #1B6FA4;
	color: #fff;
	font-size: 14px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: none;
}

.admin-page-head > .admin-refresh-btn
{
	display: none;
}

.admin-application-list
{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.admin-page-tabs
{
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	width: 1180px;
	max-width: calc(100vw - 64px);
	min-width: 0;
	margin: 0 auto 72px;
	border: 1px solid #e5e7eb;
	border-right: 0;
	background: #ffffff;
	box-sizing: border-box;
}

.admin-page-tab
{
	width: 100%;
	min-width: 0;
	height: 56px;
	border: 0;
	border-right: 1px solid #e5e7eb;
	background: #ffffff;
	color: #111827;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.02em;
	cursor: pointer;
	box-shadow: none;
}

.admin-page-tab.active
{
	background: #2563eb;
	color: #ffffff;
	font-weight: 600;
}

.admin-page-tab:focus,
.admin-page-tab:focus-visible
{
	outline: none !important;
	box-shadow: none !important;
	transform: none !important;
}

.admin-page-tab-panel
{
	display: none;
}

.admin-page-tab-panel.active
{
	display: block;
	width: 1180px;
	max-width: calc(100vw - 64px);
	margin: 0 auto 35px;
}

.admin-application-card
{
	display: grid;
	grid-template-columns: minmax(240px, 1.25fr) minmax(220px, 1fr) minmax(140px, 0.65fr) minmax(260px, auto);
	gap: 16px;
	align-items: center;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	background: #fff;
	box-shadow: none;
}

.admin-application-office
{
	font-size: 17px;
	font-weight: 900;
	color: #111827;
	letter-spacing: -0.22px;
	margin-bottom: 6px;
}

.admin-application-meta
{
	font-size: 14px;
	font-weight: 700;
	color: #475569;
	line-height: 1.45;
	letter-spacing: -0.1px;
}

.admin-status-badge
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 92px;
	height: 24px;
	padding: 0 8px;
	border-radius: 0;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: -0.1px;
	background: #f1f5f9;
	color: #475569;
}

.admin-status-badge.pending
{
	background: #fff7ed;
	color: #ea580c;
}

.admin-status-badge.active
{
	background: #eff6ff;
	color: #2563eb;
}

.admin-status-badge.rejected
{
	background: #fef2f2;
	color: #dc2626;
}

.admin-application-actions
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	flex-wrap: wrap;
}

.admin-status-btn
{
	height: 34px;
	padding: 0 12px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #fff;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
	box-shadow: none;
}

.admin-status-btn.approve
{
	border-color: #2563eb;
	color: #2563eb;
}

.admin-status-btn.pending
{
	border-color: #ea580c;
	color: #ea580c;
}

.admin-status-btn.reject
{
	border-color: #dc2626;
	color: #dc2626;
}

.admin-status-btn.delete
{
	border-color: #6b7280;
	color: #374151;
}

.admin-empty
{
	padding: 28px 0;
	border: 0;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
	background: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: 800;
	color: #64748b;
}

/* PATCH 2.982: 운영용 공지사항 관리자 */
.admin-notice-manager
{
	margin-bottom: 18px;
	padding: 0;
	border: 0;
	background: #ffffff;
}

.admin-notice-head
{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.admin-notice-title
{
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 900;
	color: #111827;
	letter-spacing: -0.18px;
}

.admin-notice-desc
{
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.45;
	color: #64748b;
}

.admin-notice-new-btn
{
	height: 38px;
	padding: 0 14px;
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
	cursor: pointer;
}

.admin-notice-form
{
	display: grid;
	gap: 12px;
	margin-bottom: 16px;
}

.admin-notice-form-grid
{
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	gap: 12px;
}

.admin-notice-field
{
	display: grid;
	gap: 7px;
	font-size: 13px;
	font-weight: 900;
	color: #334155;
}

.admin-notice-field input,
.admin-notice-field select,
.admin-notice-field textarea
{
	width: 100%;
	min-width: 0;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font: inherit;
	font-size: 14px;
	font-weight: 600;
	box-sizing: border-box;
}

.admin-notice-field input,
.admin-notice-field select
{
	height: 42px;
	padding: 0 12px;
}

.admin-notice-field textarea
{
	min-height: 110px;
	padding: 12px;
	line-height: 1.55;
	resize: vertical;
}

.admin-notice-category-dropdown.property-form-control.property-register-dropdown
{
	height: 42px;
	padding: 0 12px;
	border-color: #d1d5db;
}

.admin-notice-category-dropdown .property-register-dropdown-trigger
{
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
}

.admin-notice-category-dropdown .property-register-dropdown-trigger i
{
	margin-left: auto;
	color: #64748b;
}

.admin-notice-category-dropdown .property-register-dropdown-menu
{
	min-width: 100%;
	max-width: 240px;
}

.admin-notice-options
{
	display: flex;
	align-items: center;
	gap: 18px;
	font-size: 13px;
	font-weight: 800;
	color: #475569;
}

.admin-notice-options label
{
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.admin-notice-options input
{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #2563eb;
}

.admin-notice-actions
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	padding-top: 0;
	margin-bottom: 0;
}

.admin-notice-actions .my-suite-inquiry-primary,
.admin-notice-actions .my-suite-inquiry-secondary
{
	min-width: 74px;
}

.admin-notice-status
{
	flex: 1 1 auto;
	margin: 0;
	font-size: 13px;
	color: #64748b;
}

.admin-notice-list-head
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 42px 0 8px;
}

.admin-notice-list-title
{
	margin: 0;
	font-size: 18px;
	line-height: 1.3;
	font-weight: 900;
	color: #111827;
	letter-spacing: -0.18px;
}

.admin-notice-list-count
{
	font-size: 13px;
	line-height: 1.3;
	font-weight: 800;
	color: #64748b;
}

.admin-notice-list
{
	display: grid;
	gap: 5px;
}

.admin-notice-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 16px;
	align-items: center;
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	background: #f8fafc;
}

.admin-notice-row-title
{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 4px;
	font-size: 15px;
	font-weight: 900;
	color: #111827;
}

.admin-notice-row-meta
{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	font-size: 12px;
	font-weight: 700;
	color: #64748b;
}

.admin-notice-row-actions
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.admin-notice-chip
{
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 8px;
	border: 1px solid #dbe3ee;
	background: #ffffff;
	color: #334155;
	font-size: 12px;
	font-weight: 900;
	line-height: 1;
}

.admin-notice-chip.visible
{
	border-color: #bfdbfe;
	background: #eff6ff;
	color: #2563eb;
}

.admin-notice-chip.hidden
{
	border-color: #fecaca;
	background: #fef2f2;
	color: #dc2626;
}

.admin-notice-chip.pinned
{
	border-color: #fed7aa;
	background: #fff7ed;
	color: #ea580c;
}

.admin-inquiries-content
{
	width: 100%;
}

.admin-inquiries-filterbar
{
	margin: 0 0 18px;
}

.admin-inquiries-filterbar [data-admin-inquiry-view="deleted"]
{
	margin-left: auto;
}

.admin-inquiry-list
{
	display: grid;
	gap: 10px;
}

.admin-inquiry-table
{
	display: grid;
	gap: 10px;
}

.admin-inquiry-item
{
	border: 1px solid #e5e7eb;
	background: #ffffff;
}

.admin-inquiry-row
{
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 88px;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border-bottom: 1px solid #edf2f7;
}

.admin-inquiry-date
{
	color: #64748b;
	font-size: 13px;
	font-weight: 800;
}

.admin-inquiry-title
{
	color: #111827;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.35;
}

.admin-inquiry-author
{
	margin-top: 5px;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
}

.admin-inquiry-detail
{
	display: grid;
	gap: 14px;
	padding: 18px;
	background: #f8fafc;
}

.admin-inquiry-table.my-suite-inquiry-list
{
	gap: 0;
}

.admin-inquiry-row
{
	width: 100%;
}

.admin-inquiry-main
{
	display: grid;
	min-width: 0;
	gap: 5px;
}

.admin-inquiry-main .admin-inquiry-title,
.admin-inquiry-main .admin-inquiry-author
{
	display: block;
	margin-top: 0;
}

input:focus,
textarea:focus,
select:focus,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.profile-suite-input:focus,
.profile-suite-input:focus-visible,
.admin-notice-field input:focus,
.admin-notice-field select:focus,
.admin-notice-field textarea:focus
{
	outline: none !important;
	box-shadow: none !important;
	transform: none !important;
}

button:focus,
button:focus-visible
{
	outline: none !important;
	box-shadow: none !important;
}

.admin-notice-field input:focus,
.admin-notice-field select:focus,
.admin-notice-field textarea:focus,
.profile-suite-input:focus
{
	border-color: #d1d5db !important;
}

@media (max-width: 900px)
{
	.admin-page-panel
	{
		padding: 58px 14px 44px;
	}

	.admin-page-head,
	.admin-page-tabs,
	.admin-page-tab-panel.active
	{
		max-width: calc(100vw - 28px);
	}

	.admin-page-head
	{
		margin-bottom: 38px;
	}

	.admin-page-title
	{
		font-size: 30px;
	}

	.admin-page-tabs
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-bottom: 48px;
	}

	.admin-page-tab
	{
		height: 46px;
		font-size: 13px;
	}

	.admin-notice-form-grid,
	.admin-inquiry-row
	{
		grid-template-columns: 1fr;
	}
}

/* ===== PATCH: 관리자 페이지 글자/버튼 전역 변수 적용 ===== */
.admin-page-panel
{
	padding: 72px 32px 0;
}

.admin-page-title
{
	font-size: 34px;
	font-weight: 800;
	letter-spacing: -0.04em;
	line-height: 1.2;
	color: #111827;
}

.admin-page-desc
{
	display: none;
}

.admin-application-office
{
	font-size: var(--admin-office-font-size);
	font-weight: var(--admin-office-font-weight);
	letter-spacing: var(--admin-office-letter-spacing);
	color: var(--admin-office-color);
}

.admin-application-meta,
.admin-empty
{
	font-size: var(--admin-meta-font-size);
	font-weight: var(--admin-meta-font-weight);
	letter-spacing: var(--admin-meta-letter-spacing);
	line-height: var(--admin-meta-line-height);
	color: var(--admin-meta-color);
}

.admin-application-contact
{
	display: flex;
	flex-direction: column;
	gap: 2px;
	max-width: 100%;
	margin-left: -8px;
}

.admin-application-contact-row
{
	display: flex;
	align-items: flex-start;
	max-width: 100%;
}

.admin-application-contact-label
{
	display: inline;
	color: var(--admin-meta-color);
	font-weight: var(--admin-meta-font-weight);
	white-space: nowrap;
	margin-right: 4px;
}

.admin-application-contact-value
{
	min-width: 0;
	color: var(--admin-meta-color);
	overflow-wrap: anywhere;
	word-break: break-word;
}

.admin-application-status-block
{
	margin-left: 8px;
}

.admin-applications-content
{
	width: 100%;
}

.admin-applications-filterbar
{
	margin: 0 0 18px;
}

.admin-applications-filterbar [data-admin-application-view="deleted"]
{
	margin-left: auto;
}

.admin-listings-content
{
	width: 100%;
}

.admin-listings-filterbar
{
	margin: 0 0 18px;
}

.admin-listings-filterbar [data-admin-listing-view="deleted"]
{
	margin-left: auto;
}

.admin-listings-shell
{
	margin: 0;
	--broker-list-front-gap: 33px;
	--broker-list-area-price-gap: 20px;
	--broker-list-price-edit-gap: 12px;
	--broker-list-button-gap: 0px;
	--broker-list-edit-col: 0px;
	--broker-list-copy-col: 0px;
	--broker-list-menu-col: 34px;
}

.admin-listings-list .admin-listing-head,
.admin-listings-list .admin-listing-row
{
	grid-template-columns: var(--broker-list-photo-col) 36px var(--broker-list-type-col) var(--broker-list-front-gap) var(--broker-list-status-col) var(--broker-list-front-gap) var(--broker-list-date-col) var(--broker-list-front-gap) var(--broker-list-no-col) var(--broker-list-front-gap) minmax(300px, 1fr) var(--broker-list-title-area-gap) var(--broker-list-area-col) var(--broker-list-area-price-gap) var(--broker-list-price-col) var(--broker-list-price-edit-gap) var(--broker-list-menu-col);
	column-gap: 0;
	min-width: 0;
}

.admin-listings-list .admin-listing-row
{
	cursor: default;
}

.admin-listings-list .admin-listing-head > div:nth-child(1),
.admin-listings-list .admin-listing-row > div:nth-child(1)
{
	grid-column: 1;
}

.admin-listings-list .admin-listing-head > div:nth-child(2),
.admin-listings-list .admin-listing-row > div:nth-child(2)
{
	grid-column: 3;
}

.admin-listings-list .admin-listing-head > div:nth-child(3),
.admin-listings-list .admin-listing-row > div:nth-child(3)
{
	grid-column: 5;
}

.admin-listings-list .admin-listing-head > div:nth-child(4),
.admin-listings-list .admin-listing-row > div:nth-child(4)
{
	grid-column: 7;
}

.admin-listings-list .admin-listing-head > div:nth-child(5),
.admin-listings-list .admin-listing-row > div:nth-child(5)
{
	grid-column: 9;
}

.admin-listings-list .admin-listing-head > div:nth-child(6),
.admin-listings-list .admin-listing-row > div:nth-child(6)
{
	grid-column: 11;
}

.admin-listings-list .admin-listing-head > div:nth-child(7),
.admin-listings-list .admin-listing-row > div:nth-child(7)
{
	grid-column: 13;
}

.admin-listings-list .admin-listing-head > div:nth-child(8),
.admin-listings-list .admin-listing-row > div:nth-child(8)
{
	grid-column: 15;
}

.admin-listings-list .admin-listing-head > div:nth-child(9),
.admin-listings-list .admin-listing-row > div:nth-child(9)
{
	grid-column: 17;
	justify-content: center;
	text-align: center;
}

.admin-listings-list .admin-listing-head > div:nth-child(2),
.admin-listings-list .admin-listing-row > .broker-listing-type,
.admin-listings-list .admin-listing-head > div:nth-child(3),
.admin-listings-list .admin-listing-row > .broker-listing-cell:nth-child(3),
.admin-listings-list .admin-listing-head > div:nth-child(4),
.admin-listings-list .admin-listing-row > .broker-listing-meta,
.admin-listings-list .admin-listing-head > div:nth-child(5),
.admin-listings-list .admin-listing-row > .broker-listing-no
{
	justify-content: center;
	text-align: center;
}

.admin-listings-list .broker-listing-status.reported
{
	background: #fef2f2;
	color: #dc2626;
}

.admin-users-content
{
	width: 100%;
}

.admin-users-filterbar
{
	margin: 0 0 18px;
}

.admin-users-filterbar [data-admin-user-view="deleted"]
{
	margin-left: auto;
}

.admin-users-shell
{
	margin: 0;
	--broker-list-photo-size: 60px;
	--broker-list-photo-col: var(--broker-list-photo-size);
	--broker-list-front-gap: 33px;
	--broker-list-menu-col: 34px;
	width: 100%;
}

.admin-users-list .admin-user-head,
.admin-users-list .admin-user-row
{
	grid-template-columns: var(--broker-list-photo-col) 36px 78px var(--broker-list-front-gap) 78px var(--broker-list-front-gap) 80px var(--broker-list-front-gap) minmax(150px, 1fr) var(--broker-list-front-gap) 118px var(--broker-list-front-gap) 72px var(--broker-list-front-gap) 68px var(--broker-list-front-gap) 62px var(--broker-list-front-gap) var(--broker-list-menu-col);
	column-gap: 0;
	min-width: 0;
	width: 100%;
}

.admin-users-list .admin-user-head > div:nth-child(1),
.admin-users-list .admin-user-row > div:nth-child(1)
{
	grid-column: 1;
}

.admin-users-list .admin-user-head > div:nth-child(2),
.admin-users-list .admin-user-row > div:nth-child(2)
{
	grid-column: 3;
}

.admin-users-list .admin-user-head > div:nth-child(3),
.admin-users-list .admin-user-row > div:nth-child(3)
{
	grid-column: 5;
}

.admin-users-list .admin-user-head > div:nth-child(4),
.admin-users-list .admin-user-row > div:nth-child(4)
{
	grid-column: 7;
}

.admin-users-list .admin-user-head > div:nth-child(5),
.admin-users-list .admin-user-row > div:nth-child(5)
{
	grid-column: 9;
}

.admin-users-list .admin-user-head > div:nth-child(6),
.admin-users-list .admin-user-row > div:nth-child(6)
{
	grid-column: 11;
}

.admin-users-list .admin-user-head > div:nth-child(7),
.admin-users-list .admin-user-row > div:nth-child(7)
{
	grid-column: 13;
}

.admin-users-list .admin-user-head > div:nth-child(8),
.admin-users-list .admin-user-row > div:nth-child(8)
{
	grid-column: 15;
}

.admin-users-list .admin-user-head > div:nth-child(9),
.admin-users-list .admin-user-row > div:nth-child(9)
{
	grid-column: 17;
}

.admin-users-list .admin-user-head > div:nth-child(10),
.admin-users-list .admin-user-row > div:nth-child(10)
{
	grid-column: 19;
	justify-content: center;
	text-align: center;
	min-width: var(--broker-list-menu-col);
	white-space: nowrap;
}

.admin-users-list .admin-user-head > div,
.admin-users-list .admin-user-cell
{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	text-align: center;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: -0.1px;
	line-height: 1.45;
	white-space: nowrap;
}

.admin-users-list .admin-user-head > div:nth-child(4),
.admin-users-list .admin-user-head > div:nth-child(5),
.admin-users-list .admin-user-head > div:nth-child(6),
.admin-users-list .admin-user-row > div:nth-child(4),
.admin-users-list .admin-user-row > div:nth-child(5),
.admin-users-list .admin-user-row > div:nth-child(6)
{
	justify-content: flex-start;
	text-align: left;
}

/* PATCH 3.228: 회원관리 이름/연락처 가운데 정렬 */
.admin-users-list .admin-user-head > div:nth-child(4),
.admin-users-list .admin-user-row > div:nth-child(4),
.admin-users-list .admin-user-head > div:nth-child(6),
.admin-users-list .admin-user-row > div:nth-child(6)
{
	justify-content: center;
	text-align: center;
}

.admin-users-list .admin-user-row
{
	min-height: 76px;
}

.admin-user-name,
.admin-user-email,
.admin-user-phone,
.admin-user-pass
{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.admin-user-name
{
	color: #111827;
	font-weight: 550;
}

.admin-user-thumb .broker-listing-thumb
{
	border-radius: 999px;
}

.admin-user-profile-state.incomplete
{
	color: #d97706;
}

.admin-user-profile-state.admin
{
	color: #2563eb;
}

.admin-user-profile-state.deleted
{
	color: #6b7280;
}

label[for="brokerOfficeKakaoInput"],
label[for="brokerOfficeEditPageKakaoInput"],
label[for="mySuiteBrokerKakaoInput"],
label[for="mySuiteBrokerApplyKakaoInput"]
{
	white-space: nowrap;
}

/* PATCH 3.107: 관리자 1:1 문의를 마이페이지 문의내역 리스트 시안 폭/행 규격에 맞춘다 */
.admin-inquiries-content
{
	width: 100%;
	max-width: 1324px;
	margin: 0 auto;
}

.admin-inquiries-head
{
	margin: 0 0 36px;
}

.admin-inquiries-head .my-suite-content-title
{
	margin: 0 0 18px;
}

.admin-inquiries-filterbar
{
	display: none;
}

.admin-inquiry-list
{
	width: 100%;
}

.admin-inquiry-table.my-suite-inquiry-list
{
	width: 100%;
	border: 1px solid #e5e7eb;
	background: #ffffff;
}

.admin-inquiry-item
{
	border: 0;
	background: #ffffff;
}

.admin-inquiry-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 146px 70px;
	align-items: center;
	gap: 16px;
	width: 100%;
	padding: 0 28px 0 32px;
	border: 0;
	background: #ffffff;
	box-sizing: border-box;
}

.admin-inquiry-main-button
{
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	min-width: 0;
	min-height: 102px;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.admin-inquiry-main-button:focus,
.admin-inquiry-main-button:focus-visible
{
	outline: none;
	box-shadow: none;
}

.admin-inquiry-date
{
	color: #64748b;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
}

.admin-inquiry-title
{
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
}

.admin-inquiry-row .my-suite-inquiry-state
{
	width: 146px;
	height: 48px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
}

.admin-inquiry-row .my-suite-inquiry-delete
{
	width: 70px;
	height: 48px;
	box-sizing: border-box;
	border: 1px solid #fecaca;
	background: #ffffff;
	color: #ef4444;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1;
}

.admin-inquiry-delete
{
	justify-self: end;
}

.admin-inquiry-detail
{
	padding: 0 28px 28px 32px;
	background: #ffffff;
}

@media (max-width: 720px)
{
	.admin-inquiry-row
	{
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 8px;
		padding: 14px 18px;
	}

	.admin-inquiry-main-button
	{
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 8px;
	}

	.admin-inquiry-row .my-suite-inquiry-state,
	.admin-inquiry-row .my-suite-inquiry-delete
	{
		width: auto;
		min-width: 70px;
		height: 38px;
	}

	.admin-inquiry-delete
	{
		justify-self: start;
	}
}

.admin-status-badge
{
	font-size: var(--admin-status-font-size);
	font-weight: var(--admin-status-font-weight);
	letter-spacing: var(--admin-status-letter-spacing);
	border-radius: var(--admin-button-radius);
}

.admin-status-btn
{
	height: var(--admin-button-height);
	border-radius: var(--admin-button-radius);
	font-size: var(--admin-button-font-size);
	font-weight: var(--admin-button-font-weight);
	letter-spacing: var(--admin-button-letter-spacing);
	box-shadow: none;
}

.admin-refresh-btn
{
	height: var(--admin-refresh-button-height);
	border-radius: var(--admin-button-radius);
	font-size: var(--admin-refresh-button-font-size);
	font-weight: var(--admin-refresh-button-font-weight);
	box-shadow: none;
}



/* ===== PATCH 2.370: 중개사 홈 이용권 결제 박스 디자인 개선 ===== */
.broker-home-payment-guide
{
	background: #ffffff;
	border: 1px solid #e5e7eb;
	box-shadow: 0 12px 30px rgba(15,23,42,0.08);
	padding: 18px;
}

.broker-home-payment-kicker
{
	display: inline-flex;
	align-items: center;
	height: 22px;
	padding: 0 9px;
	margin-bottom: 10px;
	background: #eff6ff;
	border: 1px solid #bfdbfe;
	color: #2563eb;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: -0.12px;
}

.broker-home-ad-title
{
	margin: 0;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.34;
	letter-spacing: -0.35px;
	color: #111827;
}

.broker-home-payment-card
{
	margin-top: 14px;
	padding: 14px;
	background: #f8fafc;
	border: 1px solid #e5e7eb;
}

.broker-home-payment-plan
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.broker-home-payment-plan span
{
	font-size: 11px;
	font-weight: 800;
	color: #94a3b8;
	letter-spacing: -0.12px;
}

.broker-home-payment-plan strong
{
	font-size: 16px;
	font-weight: 900;
	color: #111827;
	letter-spacing: -0.6px;
	line-height: 1;
}

.broker-home-payment-meta
{
	margin-top: 8px;
	font-size: 12px;
	font-weight: 700;
	color: #475569;
	letter-spacing: -0.15px;
	line-height: 1.5;
}

.broker-home-ad-cta
{
	width: 100%;
	height: 42px;
	margin-top: 14px;
	border: 0;
	background: #2563eb;
	color: #ffffff;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: -0.3px;
	cursor: pointer;
}

/* ===== PATCH 2.371: 로그인/회원가입 모달을 내 정보 카드 톤으로 단순화 ===== */
.auth-modal:not(.profile-page-mode)
{
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: var(--profile-page-bg, #f8fafc);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.auth-modal:not(.profile-page-mode) .auth-modal-dialog
{
	width: var(--profile-page-card-width, clamp(320px, 90vw, 600px));
	height: auto;
	min-height: 0;
	max-height: calc(100vh - 48px);
	padding: 34px 36px 38px;
	background: #ffffff;
	color: #111827;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow-y: auto;
}

.auth-modal:not(.profile-page-mode) .auth-login-screen,
.auth-modal:not(.profile-page-mode) .auth-signup-terms-screen,
.auth-modal:not(.profile-page-mode) .auth-signup-form-screen,
.auth-modal:not(.profile-page-mode) .auth-forgot-password-screen,
.auth-modal:not(.profile-page-mode) .auth-reset-password-screen
{
	width: 100%;
	gap: 0;
	color: #111827;
}

.auth-modal:not(.profile-page-mode) .auth-modal-title
{
	margin: 0 0 22px;
	color: #111827;
	font-family: var(--profile-page-title-font-family, var(--font-ui));
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.35px;
	line-height: 1.25;
	white-space: normal;
}

.auth-modal:not(.profile-page-mode) .auth-modal-divider
{
	display: none;
}

.auth-modal:not(.profile-page-mode) .auth-modal-close,
.auth-modal:not(.profile-page-mode) .auth-modal-back
{
	top: 18px;
	right: 18px;
	width: 36px;
	height: 36px;
	color: #111827;
	font-size: 30px;
	font-weight: 300;
	background: transparent;
}

.auth-modal:not(.profile-page-mode) .auth-modal-back
{
	left: 18px;
	right: auto;
}

.auth-modal:not(.profile-page-mode) .auth-modal-form
{
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.auth-modal:not(.profile-page-mode) .auth-modal-field
{
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	gap: 20px;
	align-items: center;
	min-height: var(--profile-page-input-height, 54px);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.auth-modal:not(.profile-page-mode) .auth-modal-field-label
{
	margin: 0;
	color: #334155;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: var(--profile-page-text-font-size, 17px);
	font-weight: 700;
	letter-spacing: -0.18px;
	line-height: 1.2;
	white-space: nowrap;
}

.auth-modal:not(.profile-page-mode) .auth-modal-input
{
	width: 100%;
	height: var(--profile-page-input-height, 54px);
	min-height: var(--profile-page-input-height, 54px);
	padding: 0 16px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: var(--profile-page-text-font-size, 17px);
	font-weight: 600;
	letter-spacing: -0.18px;
	box-shadow: none;
	box-sizing: border-box;
}

.auth-modal:not(.profile-page-mode) .auth-modal-input::placeholder
{
	color: #9ca3af;
	font-weight: 500;
}

.auth-modal:not(.profile-page-mode) .auth-modal-input:focus
{
	border-color: #4A7EDC;
	background: #ffffff;
	outline: none;
	box-shadow: none;
}

.auth-modal:not(.profile-page-mode) .auth-modal-submit,
.auth-modal:not(.profile-page-mode) .auth-terms-next
{
	width: 100%;
	height: var(--profile-page-button-height, 50px);
	min-height: var(--profile-page-button-height, 50px);
	margin: 22px 0 0;
	border: 1px solid #4A7EDC;
	border-radius: 0;
	background: #4A7EDC;
	color: #ffffff;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: var(--profile-page-button-font-size, 17px);
	font-weight: var(--profile-page-button-font-weight, 800);
	letter-spacing: -0.18px;
	box-shadow: none;
	cursor: pointer;
}

.auth-modal:not(.profile-page-mode) .auth-terms-next:not(.enabled)
{
	background: #e5e7eb;
	border-color: #e5e7eb;
	color: #9ca3af;
	cursor: not-allowed;
}

.auth-modal:not(.profile-page-mode) .auth-modal-submit:hover,
.auth-modal:not(.profile-page-mode) .auth-terms-next.enabled:hover
{
	background: #3F6FCC;
	border-color: #3F6FCC;
	color: #ffffff;
}

.auth-modal:not(.profile-page-mode) .auth-modal-links,
.auth-modal:not(.profile-page-mode) .auth-modal-footer,
.auth-modal:not(.profile-page-mode) .auth-signup-footer
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 22px 0 0;
	padding: 0;
	color: #64748b;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.12px;
	line-height: 1.35;
}

.auth-modal:not(.profile-page-mode) .auth-modal-links
{
	justify-content: flex-end;
	margin-top: 16px;
}

.auth-modal:not(.profile-page-mode) .auth-modal-links button,
.auth-modal:not(.profile-page-mode) .auth-modal-signup,
.auth-modal:not(.profile-page-mode) .auth-login-switch
{
	color: #4A7EDC;
	font: inherit;
	font-weight: 800;
	letter-spacing: -0.12px;
	text-decoration: none;
}

.auth-modal:not(.profile-page-mode) .auth-terms-all-btn
{
	min-height: 54px;
	margin: 0 0 18px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	gap: 12px;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.16px;
	box-shadow: none;
}

.auth-modal:not(.profile-page-mode) .auth-terms-all-btn .auth-check-icon
{
	color: #4A7EDC;
	font-size: 22px;
	font-weight: 800;
}

.auth-modal:not(.profile-page-mode) .auth-terms-list
{
	gap: 0;
	margin: 0;
	border-top: 1px solid #e5e7eb;
}

.auth-modal:not(.profile-page-mode) .auth-terms-item
{
	min-height: 50px;
	gap: 12px;
	padding: 0;
	border-bottom: 1px solid #e5e7eb;
	color: #111827;
	font-family: var(--profile-page-text-font-family, var(--font-ui));
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.12px;
}

.auth-modal:not(.profile-page-mode) .auth-terms-checkbox
{
	width: 22px;
	height: 22px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	color: transparent;
	font-size: 16px;
	background: #ffffff;
}

.auth-modal:not(.profile-page-mode) .auth-terms-item input:checked + .auth-terms-checkbox
{
	border-color: #4A7EDC;
	background: #4A7EDC;
	color: #ffffff;
}

.auth-modal:not(.profile-page-mode) .auth-terms-highlight
{
	color: #111827;
	font-size: inherit;
	font-weight: 800;
}

.auth-modal:not(.profile-page-mode) .auth-terms-arrow
{
	color: #94a3b8;
	font-size: 24px;
	font-weight: 300;
}

@media (max-width: 720px)
{
	.auth-modal:not(.profile-page-mode)
	{
		padding: 16px;
	}

	.auth-modal:not(.profile-page-mode) .auth-modal-dialog
	{
		width: 100%;
		max-height: calc(100vh - 32px);
		padding: 30px 24px 32px;
	}

	.auth-modal:not(.profile-page-mode) .auth-modal-field
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.auth-modal:not(.profile-page-mode) .auth-modal-footer,
	.auth-modal:not(.profile-page-mode) .auth-signup-footer
	{
		align-items: flex-start;
		flex-direction: column;
	}
}

/* ===== PATCH 2.396: 내 정보/내 정보 설정/중개사무소 정보/중개사무소 신청 상단 높이 통일 ===== */
.auth-modal.profile-page-mode .auth-modal-dialog
{
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	flex-direction: column;
	padding-top: var(--sub-topbar-height);
}

.auth-modal.profile-page-mode #authMyInfoScreen,
.auth-modal.profile-page-mode #authProfileSetupScreen,
.auth-modal.profile-page-mode #authBrokerOfficeInfoScreen,
.auth-modal.profile-page-mode #authBrokerOfficeScreen
{
	position: fixed;
	top: calc(var(--global-topbar-height) + var(--sub-topbar-height));
	left: 50%;
	right: auto;
	transform: translateX(-50%);
	margin: 0;
	align-self: auto;
	z-index: 121;
}

.auth-modal.profile-page-mode #authBrokerOfficeScreen .broker-apply-page,
.auth-modal.profile-page-mode #authBrokerOfficeScreen .broker-apply-left,
.auth-modal.profile-page-mode #authBrokerOfficeScreen .broker-apply-title
{
	margin-top: 0;
	padding-top: 0;
}


/* ===== MERGED FROM payment_2.712.css ===== */
/* PATCH 2.362: 이용권 결제 페이지 */
.payment-page-panel{position:fixed;inset:var(--global-topbar-height) 0 0 0;z-index:120;display:none;min-height:0;padding:var(--sub-topbar-height) 32px 48px;background:#f4f7fb;color:#111827;box-sizing:border-box;overflow-y:auto;}
.payment-page-panel[aria-hidden="false"],body.payment-page-open .payment-page-panel{display:block;}
.payment-page-inner{max-width:1180px;margin:0 auto;}
.payment-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:0 0 24px;}
.payment-page-title{margin:0;font-size:30px;line-height:1.25;font-weight:800;letter-spacing:-0.04em;}
.payment-page-desc{margin:8px 0 0;font-size:15px;color:#64748b;}
.payment-current-plan-card{min-width:270px;padding:18px 20px;border-radius:18px;background:#fff;border:1px solid #dbe5f0;box-shadow:0 10px 30px rgba(15,23,42,.06);}
.payment-current-label{display:block;margin-bottom:6px;font-size:12px;color:#64748b;font-weight:700;}
.payment-current-plan-card strong{display:block;font-size:20px;font-weight:800;}
.payment-current-plan-card em{display:block;margin-top:4px;font-size:13px;color:#2563eb;font-style:normal;font-weight:700;}
.payment-current-date-box{margin-top:14px;padding-top:14px;border-top:1px solid #e2e8f0;}
.payment-current-date-box span{display:block;margin-bottom:5px;font-size:12px;color:#64748b;font-weight:800;}
.payment-current-date-box strong{display:block;font-size:14px;font-weight:900;color:#0f172a;letter-spacing:-.02em;}
.payment-tabs{display:inline-flex;padding:5px;border-radius:14px;background:#e8eef7;margin-bottom:20px;}
.payment-tab{border:0;background:transparent;border-radius:11px;padding:10px 18px;font-size:14px;font-weight:800;color:#64748b;cursor:pointer;}
.payment-tab.active{background:#fff;color:#0f172a;box-shadow:0 6px 16px rgba(15,23,42,.08);}
.payment-tab-panel{display:none;}
.payment-tab-panel.active{display:block;}
.payment-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:18px;}
.payment-plan-card{position:relative;padding:26px;border-radius:24px;background:#fff;border:1px solid #dbe5f0;box-shadow:0 14px 34px rgba(15,23,42,.07);}
.payment-plan-card.featured{border:1px solid #2563eb;box-shadow:none;}
.payment-plan-badge{position:absolute;right:20px;top:18px;padding:5px 10px;border-radius:999px;background:#2563eb;color:#fff;font-size:12px;font-weight:800;}
.payment-plan-topline{font-size:12px;font-weight:900;color:#2563eb;text-transform:uppercase;letter-spacing:.08em;}
.payment-plan-card h2{margin:8px 0 14px;font-size:22px;font-weight:900;letter-spacing:-.04em;}
.payment-plan-price{font-size:28px;font-weight:900;letter-spacing:-.04em;}
.payment-plan-price span{font-size:14px;color:#64748b;font-weight:700;}
.payment-plan-card ul{list-style:none;margin:22px 0;padding:0;display:grid;gap:10px;color:#475569;font-size:14px;}
.payment-plan-card li:before{content:'✓';margin-right:8px;color:#2563eb;font-weight:900;}
.payment-plan-btn{width:100%;height:46px;border:0;border-radius:14px;background:#2563eb;color:#fff;font-size:15px;font-weight:900;cursor:pointer;}
.payment-plan-btn.is-secondary{background:#e8eef7;color:#64748b;cursor:default;}
.payment-extra-box,.payment-history-card,.payment-help-card{background:#fff;border:1px solid #dbe5f0;border-radius:22px;padding:22px;box-shadow:0 14px 34px rgba(15,23,42,.06);}
.payment-extra-box h2,.payment-history-card h2,.payment-help-card h2{margin:0 0 14px;font-size:18px;font-weight:900;letter-spacing:-.03em;}
.payment-extra-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
.payment-extra-item{display:flex;justify-content:space-between;align-items:center;border:1px solid #dbe5f0;background:#f8fafc;border-radius:16px;padding:15px 16px;font-size:14px;font-weight:800;cursor:pointer;}
.payment-extra-item strong{color:#2563eb;}
.payment-ready-note{margin:14px 0 0;font-size:13px;color:#64748b;}
.payment-history-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;}
.payment-history-refresh,.payment-help-btn{border:1px solid #cbd5e1;background:#fff;border-radius:12px;padding:9px 14px;font-size:13px;font-weight:800;cursor:pointer;}
.payment-history-table{width:100%;border-collapse:collapse;font-size:14px;}
.payment-history-table th{padding:14px 12px;border-bottom:1px solid #e2e8f0;text-align:left;color:#64748b;font-weight:900;background:#f8fafc;}
.payment-history-table td{padding:18px 12px;border-bottom:1px solid #edf2f7;color:#475569;}
.payment-empty-row td{text-align:center;color:#94a3b8;}
.payment-help-card{margin-top:16px;}
.payment-help-card p{margin:0 0 14px;color:#64748b;font-size:14px;}
.payment-company-info{margin-top:34px;padding-top:22px;border-top:1px solid #cbd5e1;color:#64748b;font-size:12px;line-height:1.7;letter-spacing:-.02em;}
.payment-company-name{margin-bottom:8px;color:#334155;font-size:13px;font-weight:900;}
.payment-company-grid{display:flex;flex-wrap:wrap;gap:2px 18px;}
.payment-company-grid span{white-space:nowrap;}
@media (max-width: 900px)
{
	.payment-page-head
	{
		display: block;
	}

	.payment-current-plan-card
	{
		margin-top: 16px;
	}

	.payment-plan-grid,
	.payment-extra-list
	{
		grid-template-columns: 1fr;
	}

	.payment-company-grid
	{
		display: grid;
		gap: 2px;
	}

	.payment-company-grid span
	{
		white-space: normal;
	}

	.payment-page-panel
	{
		padding: var(--sub-topbar-height) 16px 32px;
	}
}

/* PATCH 2.396: 이용권 결제 페이지 전체 크기 90% 수준으로 축소 */
.payment-page-panel{padding:var(--sub-topbar-height) 29px 43px;}
.payment-page-inner{max-width:1062px;}
.payment-page-head{gap:22px;margin:0 0 22px;}
.payment-page-title{font-size:27px;}
.payment-page-desc{margin-top:7px;font-size:14px;}
.payment-current-plan-card{min-width:243px;padding:16px 18px;border-radius:16px;}
.payment-current-label{margin-bottom:5px;font-size:11px;}
.payment-current-plan-card strong{font-size:18px;}
.payment-current-plan-card em{font-size:12px;}
.payment-current-date-box{margin-top:13px;padding-top:13px;}
.payment-current-date-box span{font-size:11px;}
.payment-current-date-box strong{font-size:13px;}
.payment-tabs{padding:4px;border-radius:13px;margin-bottom:18px;}
.payment-tab{border-radius:10px;padding:9px 16px;font-size:13px;}
.payment-plan-grid{gap:16px;margin-bottom:16px;}
.payment-plan-card{padding:23px;border-radius:22px;}
.payment-plan-badge{right:18px;top:16px;padding:5px 9px;font-size:11px;}
.payment-plan-topline{font-size:11px;}
.payment-plan-card h2{margin:7px 0 13px;font-size:20px;}
.payment-plan-price{font-size:25px;}
.payment-plan-price span{font-size:13px;}
.payment-plan-card ul{margin:20px 0;gap:9px;font-size:13px;}
.payment-plan-btn{height:41px;border-radius:13px;font-size:14px;}
.payment-extra-box,.payment-history-card,.payment-help-card{padding:20px;border-radius:20px;}
.payment-extra-box h2,.payment-history-card h2,.payment-help-card h2{margin-bottom:13px;font-size:16px;}
.payment-extra-list{gap:11px;}
.payment-extra-item{border-radius:14px;padding:14px 15px;font-size:13px;}
.payment-ready-note{margin-top:13px;font-size:12px;}
.payment-history-head{margin-bottom:7px;}
.payment-history-refresh,.payment-help-btn{border-radius:11px;padding:8px 13px;font-size:12px;}
.payment-history-table{font-size:13px;}
.payment-history-table th{padding:13px 11px;}
.payment-history-table td{padding:16px 11px;}
.payment-help-card{margin-top:14px;}
.payment-help-card p{margin-bottom:13px;font-size:13px;}
.payment-company-info{margin-top:31px;padding-top:20px;font-size:11px;}
.payment-company-name{font-size:12px;}

@media (max-width: 900px)
{
	.payment-current-plan-card
	{
		margin-top: 14px;
	}

	.payment-page-panel
	{
		padding: var(--sub-topbar-height) 14px 29px;
	}
}

/* PATCH 2.396: 이용권 결제 페이지 그림자 제거 및 추천 플랜 외곽선 완화 */
.payment-page-panel .payment-current-plan-card,
.payment-page-panel .payment-tab.active,
.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-plan-card.featured,
.payment-page-panel .payment-extra-box,
.payment-page-panel .payment-history-card,
.payment-page-panel .payment-help-card
{
	box-shadow: none;
}

.payment-page-panel .payment-plan-card.featured
{
	border-width: 1px;
	border-color: #2563eb;
}

.payment-page-panel .payment-page-title
{
	font-size: 24px;
	font-weight: 800;
}

.payment-page-panel .payment-page-desc
{
	margin-top: 6px;
	font-size: 13px;
}

/* PATCH 2.396: 이용권 결제 페이지 라운드 비율 중간값 조정 */
.payment-page-panel .payment-current-plan-card,
.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-extra-box,
.payment-page-panel .payment-history-card,
.payment-page-panel .payment-help-card
{
	border-radius: 14px;
}

.payment-page-panel .payment-tabs,
.payment-page-panel .payment-tab,
.payment-page-panel .payment-plan-btn,
.payment-page-panel .payment-extra-item,
.payment-page-panel .payment-history-refresh,
.payment-page-panel .payment-help-btn,
.payment-page-panel .payment-plan-badge
{
	border-radius: 10px;
}

/* PATCH 2.396: 이용권 결제 하단 회사 정보 구분선 여백 통일 */
.payment-page-panel .payment-company-info
{
	border-top: 1px solid #e5e7eb;
	margin-top: 28px;
	padding-top: 28px;
}

/* PATCH 2.551: 이용권 결제 페이지 심플/정돈형 디자인 */
.payment-page-panel
{
	padding: var(--sub-topbar-height) 48px 48px;
	background: #f7f8fa;
	color: #111827;
}

.payment-page-panel *,
.payment-page-panel *::before,
.payment-page-panel *::after
{
	letter-spacing: 0;
}

.payment-page-inner
{
	max-width: 1080px;
}

.payment-page-head
{
	align-items: center;
	gap: 28px;
	margin: 0 0 26px;
}

.payment-page-title
{
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
}

.payment-page-desc
{
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	line-height: 1.45;
}

.payment-current-plan-card
{
	min-width: 260px;
	padding: 18px 20px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: none;
}

.payment-current-label
{
	margin-bottom: 7px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 600;
}

.payment-current-plan-card strong
{
	color: #111827;
	font-size: 18px;
	font-weight: 800;
}

.payment-current-plan-card em
{
	margin-top: 5px;
	color: #2563eb;
	font-size: 13px;
	font-weight: 600;
}

.payment-current-date-box
{
	margin-top: 15px;
	padding-top: 14px;
	border-top: 1px solid #eef2f7;
}

.payment-current-date-box span
{
	color: #6b7280;
	font-size: 12px;
	font-weight: 600;
}

.payment-current-date-box strong
{
	color: #374151;
	font-size: 13px;
	font-weight: 700;
}

.payment-tabs
{
	margin-bottom: 18px;
	padding: 0;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	background: #ffffff;
	overflow: hidden;
}

.payment-tab
{
	height: 50px;
	min-width: 132px;
	padding: 0 22px;
	border-radius: 0;
	color: #6b7280;
	font-size: 15px;
	font-weight: 700;
}

.payment-tab.active
{
	background: #2563eb;
	color: #ffffff;
	box-shadow: none;
}

.payment-plan-grid
{
	gap: 12px;
	margin-bottom: 18px;
}

.payment-plan-card
{
	display: flex;
	min-height: 288px;
	padding: 24px;
	flex-direction: column;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: none;
}

.payment-plan-card.featured
{
	border: 1px solid #2563eb;
	background: #ffffff;
}

.payment-plan-badge
{
	top: 18px;
	right: 18px;
	padding: 4px 8px;
	border-radius: 6px;
	background: #eff6ff;
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
}

.payment-plan-topline
{
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
	text-transform: none;
}

.payment-plan-card h2
{
	margin: 8px 0 16px;
	color: #111827;
	font-size: 20px;
	font-weight: 800;
}

.payment-plan-price
{
	color: #111827;
	font-size: 27px;
	font-weight: 800;
}

.payment-plan-price span
{
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
}

.payment-plan-card ul
{
	margin: 22px 0 24px;
	gap: 9px;
	color: #4b5563;
	font-size: 13px;
	line-height: 1.45;
}

.payment-plan-card li::before
{
	color: #2563eb;
}

.payment-plan-btn
{
	height: 42px;
	margin-top: auto;
	border-radius: 8px;
	background: #2563eb;
	font-size: 14px;
	font-weight: 800;
	box-shadow: none;
}

.payment-extra-box,
.payment-history-card,
.payment-help-card
{
	padding: 22px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: none;
}

.payment-extra-box h2,
.payment-history-card h2,
.payment-help-card h2
{
	margin-bottom: 14px;
	color: #111827;
	font-size: 16px;
	font-weight: 800;
}

.payment-extra-list
{
	gap: 10px;
}

.payment-extra-item
{
	padding: 14px 15px;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fafafa;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
}

.payment-extra-item strong
{
	color: #2563eb;
	font-weight: 800;
}

.payment-ready-note
{
	margin-top: 12px;
	color: #9ca3af;
	font-size: 12px;
}

.payment-history-refresh,
.payment-help-btn
{
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: #ffffff;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
}

.payment-history-table
{
	font-size: 13px;
}

.payment-history-table th
{
	padding: 13px 12px;
	border-bottom: 1px solid #e5e7eb;
	background: #f9fafb;
	color: #6b7280;
	font-weight: 800;
}

.payment-history-table td
{
	padding: 16px 12px;
	border-bottom: 1px solid #f0f2f5;
	color: #4b5563;
}

.payment-page-panel .payment-company-info
{
	border-top: 0;
	margin-top: 34px;
	padding-top: 4px;
	color: #9ca3af;
	font-size: 11px;
	line-height: 1.75;
}

.payment-page-panel .payment-company-name
{
	margin-bottom: 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
}

.payment-page-panel .payment-company-grid
{
	gap: 2px 16px;
}

.payment-page-panel .payment-company-grid span
{
	color: #8b95a1;
	font-weight: 400;
}

.payment-page-panel .payment-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 10px;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

.payment-page-panel .payment-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font: inherit;
	font-weight: 700;
	line-height: inherit;
	cursor: pointer;
}

.payment-page-panel .payment-company-link:hover
{
	color: #2563eb;
}

@media (max-width: 900px)
{
	.payment-page-panel
	{
		padding: var(--sub-topbar-height) 16px 36px;
	}

	.payment-page-head
	{
		align-items: stretch;
		display: flex;
		flex-direction: column;
		gap: 16px;
	}

	.payment-current-plan-card
	{
		min-width: 0;
	}

	.payment-plan-grid,
	.payment-extra-list
	{
		grid-template-columns: 1fr;
	}

	.payment-plan-card
	{
		min-height: 0;
	}
}

/* PATCH 2.551: 이용권 탭을 내정보 화면 버튼 높이에 맞추되 폭은 조금 축소 */
.payment-page-panel .payment-tabs
{
	margin-bottom: 18px;
	padding: 0;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #ffffff;
	overflow: hidden;
}

.payment-page-panel .payment-tab
{
	height: 50px;
	min-width: 118px;
	padding: 0 16px;
	border-radius: 0;
	border-right: 1px solid #e5e7eb;
	color: #6b7280;
	font-size: 15px;
	font-weight: 700;
}

.payment-page-panel .payment-tab:last-child
{
	border-right: 0;
}

.payment-page-panel .payment-tab.active
{
	background: #2563eb;
	color: #ffffff;
	box-shadow: none;
}

/* PATCH 2.551: 이용권 선택 버튼은 양쪽 끝을 완전 pill 형태로 표시 */
.payment-page-panel .payment-plan-card .payment-plan-btn,
.payment-page-panel .payment-plan-card .payment-plan-btn.is-secondary
{
	border-radius: 999px;
}

/* PATCH 2.551: 선택 가능 버튼은 흰색, 현재 플랜 버튼은 회색 비활성으로 표시 */
.payment-page-panel .payment-plan-card .payment-plan-btn
{
	background: #ffffff;
	border: 1px solid #d1d5db;
	color: #111827;
	box-shadow: none;
}

.payment-page-panel .payment-plan-card .payment-plan-btn:not(.is-secondary):hover
{
	border-color: #2563eb;
	color: #2563eb;
}

.payment-page-panel .payment-plan-card .payment-plan-btn.is-secondary,
.payment-page-panel .payment-plan-card .payment-plan-btn.is-current,
.payment-page-panel .payment-plan-card .payment-plan-btn:disabled
{
	background: #d1d5db;
	border-color: #d1d5db;
	color: #ffffff;
	cursor: default;
	pointer-events: none;
}

/* PATCH 2.551: 현재 결제한 이용권 카드에만 파란 테두리 표시 */
.payment-page-panel .payment-plan-card.featured
{
	border: 1px solid #dbe5f0;
	box-shadow: none;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current)
{
	border: 1px solid #2563eb;
	box-shadow: none;
}

/* PATCH 2.551: 이용권 결제 카드/현재 이용권 카드 그림자 효과 제거 */
.payment-page-panel .payment-current-plan-card,
.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-plan-card.featured,
.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current),
.payment-page-panel .payment-extra-box,
.payment-page-panel .payment-history-card,
.payment-page-panel .payment-help-card,
.payment-page-panel .payment-tab,
.payment-page-panel .payment-tab.active
{
	box-shadow: none;
}
/* PATCH 2.551: 현재 결제 카드 파란선은 1px만 사용하고 그림자/외곽선 제거 */
.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-current-card,
.payment-page-panel .payment-plan-btn,
.payment-page-panel .payment-select-btn
{
	box-shadow: none;
	outline: 0;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current),
.payment-page-panel .payment-plan-card.is-current,
.payment-page-panel .payment-plan-card.is-selected,
.payment-page-panel .payment-current-card
{
	border: 1px solid #2563eb;
	outline: 0;
	box-shadow: none;
}


/* ===== MERGED FROM myinfo_2.712.css ===== */
/* REALJEJU myinfo overrides / Ver 2.551 */

body.myinfo-page-open #myInfoPagePanel,
body.profile-edit-page-open #profileEditPagePanel
{
	background: #ffffff;
	padding: var(--topbar-sub-height) 24px 56px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-inner
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 34px 40px 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-title
{
	margin: 0 0 12px;
	color: #111827;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.3px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-desc
{
	margin: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head::after,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head::after
{
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 14px 0 24px;
	background: #d1d5db;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card
{
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 40px 40px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-photo-box,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo-box
{
	width: 78px;
	height: 78px;
	margin: 0 0 22px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #f8fafc;
	box-shadow: none;
	overflow: hidden;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-label
{
	margin: 0;
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.05px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value,
body.profile-edit-page-open #profileEditPagePanel .profile-suite-input
{
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 50px;
	height: auto;
	margin: 0;
	padding: 11px 14px;
	background: #ffffff;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

body.profile-edit-page-open #profileEditPagePanel select.profile-suite-input
{
	appearance: auto;
	-webkit-appearance: menulist;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-row
{
	min-height: 102px;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-control
{
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-btn
{
	height: 38px;
	padding: 0 18px;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #ffffff;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
	box-shadow: none;
	cursor: pointer;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-consent
{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
	margin: 26px 0 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-primary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-secondary
{
	height: 46px;
	min-height: 46px;
	margin: 0;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-primary
{
	border: 0;
	background: #2563eb;
	color: #ffffff;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-secondary
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 30px auto 0;
	padding: 12px 0 0;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info-full
{
	width: min(720px, calc(100vw - 48px));
	margin: 32px auto 0;
	padding: 0;
	border-top: 0;
	color: #747d89;
	font-size: 12px;
	line-height: 1.6;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-nav
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 13px;
	padding: 11px 0;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
	color: #2f343a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-separator
{
	color: #d0d5dd;
	font-weight: 400;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-body
{
	padding-top: 16px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-name
{
	margin: 0 0 6px;
	color: #202124;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.5;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-grid
{
	display: grid;
	gap: 1px;
	color: #747d89;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.58;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-grid p
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
	margin: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-grid span
{
	color: inherit;
	font-weight: inherit;
	white-space: nowrap;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-hosting
{
	margin-top: 10px;
	color: #2f343a;
	font-weight: 700;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-notice
{
	margin-top: 10px;
	color: #858c96;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.6;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-link,
body.myinfo-page-open #myInfoPagePanel .myinfo-company-static-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	font-weight: inherit;
	line-height: inherit;
	cursor: pointer;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-link.is-strong
{
	color: #ff4a45;
	font-weight: 850;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-link:hover,
body.myinfo-page-open #myInfoPagePanel .myinfo-company-static-link:hover
{
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-link.is-strong:hover
{
	color: #ff4a45;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-copy
{
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #e5e7eb;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}

@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel,
	body.profile-edit-page-open #profileEditPagePanel
	{
		padding: var(--topbar-sub-height) 16px 40px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
	body.myinfo-page-open #myInfoPagePanel .myinfo-company-info,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-inner,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info
	{
		width: 100%;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head
	{
		padding: 28px 22px 0;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card
	{
		padding: 0 22px 32px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px 0;
	}
}

/* REALJEJU profile suite broker pages / Ver 2.551 */
body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel
{
	background: #ffffff;
	padding: var(--topbar-sub-height) 24px 56px;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-inner,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-inner
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 34px 40px 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-title,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-title
{
	margin: 0 0 12px;
	color: #111827;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.3px;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-desc,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-desc
{
	margin: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head::after,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head::after
{
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 14px 0 24px;
	background: #d1d5db;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 40px 40px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-label,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-label
{
	margin: 0;
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.05px;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .profile-suite-input
{
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 50px;
	height: auto;
	margin: 0;
	padding: 11px 14px;
	background: #ffffff;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-actions,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
	margin: 26px 0 0;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-primary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-secondary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-primary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-secondary
{
	height: 46px;
	min-height: 46px;
	margin: 0;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-primary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-primary
{
	border: 0;
	background: #2563eb;
	color: #ffffff;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-secondary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-secondary
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 30px auto 0;
	padding: 12px 0 0;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
}

@media (max-width: 720px)
{
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel
	{
		padding: var(--topbar-sub-height) 16px 40px;
	}

	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-inner,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-inner,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info
	{
		width: 100%;
	}

	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head
	{
		padding: 28px 22px 0;
	}

	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
	{
		padding: 0 22px 32px;
	}

	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px 0;
	}
}


/* ===== MERGED FROM auth_2.712.css ===== */
/* REALJEJU auth overrides / Ver 2.551 */

body.auth-page-open #authSignupTermsScreen .auth-terms-list
{
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0 0 24px;
	padding: 0;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-item
{
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr) 20px;
	align-items: center;
	column-gap: 10px;
	width: 100%;
	min-height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	color: #374151;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0;
	box-sizing: border-box;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-item:last-child
{
	border-bottom: 0;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-check-zone
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 46px;
	margin: 0;
	padding: 0;
	grid-column: 1;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-checkbox
{
	width: 20px;
	height: 20px;
	margin: 0;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	background: #ffffff;
	color: transparent;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
	box-sizing: border-box;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-item input:checked + .auth-terms-checkbox
{
	border-color: #2563eb;
	background: #2563eb;
	color: #ffffff;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-open-zone
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20px;
	align-items: center;
	gap: 10px;
	width: 100%;
	height: 46px;
	min-height: 46px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	box-sizing: border-box;
}

body.auth-page-open #authSignupTermsScreen label.auth-terms-item > .auth-terms-text
{
	grid-column: 2;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-text
{
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
	line-height: 1.35;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-highlight
{
	color: #111827;
	font-size: 14px;
	font-weight: 800;
	line-height: 1.35;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-arrow
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 20px;
	height: 46px;
	margin: 0;
	color: #9ca3af;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}


/* ===== MERGED FROM previous base stylesheet ===== */
/* ===== INLINE FROM base.css ===== */
/* REALJEJU base.css - stable split from realjeju_2.361(3).html / Ver 2.396 */

*
{
	box-sizing: border-box;
	font-family: var(--font-ui);
}

:root
{
	--font-ui: "KoPubWorldDotum", "KoPub World Dotum", "KoPubWorld돋움체", "KoPub 돋움체", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--font-display: var(--font-ui);
	--rj-detail-card-margin-x: 20px;
	--rj-detail-card-gap-y: 20px;
	--rj-detail-card-padding-top: 18px;
	--rj-detail-card-padding-right: 18px;
	--rj-detail-card-padding-bottom: 10px;
	--rj-detail-card-padding-left: 18px;
	--rj-detail-title-gap-bottom: 16px;
	--rj-detail-title-padding-y: 0px;
	--rj-detail-title-padding-x: 0px;
	--rj-detail-title-font-size: 17px;
	--rj-detail-title-letter-spacing: 0px;
	--rj-detail-content-font-size: 13px;
	--rj-detail-content-letter-spacing: 0px;
	--rj-detail-row-padding-y: 9px;
	--rj-detail-row-padding-x: 0px;
	--rj-detail-row-last-padding-bottom: 0px;
	--rj-detail-row-min-height: 42px;
}

html, body
{
	margin: 0;
	padding: 0;
	height: 100%;
	background: var(--bg);
	color: var(--text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body
{
	overflow: hidden;
	width: 100%;
	height: 100%;
}

.sidebar-inner
{
	display: grid;
	grid-template-columns: var(--sidebar-list-width) 0px;
	height: 100%;
	transition: grid-template-columns 0.28s ease;
}

.sidebar.expanded .sidebar-inner
{
	grid-template-columns: var(--sidebar-list-width) 0px;
}

.sidebar-list-panel
{
	height: 100%;
	overflow-y: auto;
	overflow-x: hidden;
	background: #ffffff;
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.sidebar-list-panel::-webkit-scrollbar
{
	display: none;
}

.auth-modal
{
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 32px;
	background: radial-gradient(circle at 78% 48%, rgba(183, 79, 24, 0.22), transparent 22%), radial-gradient(circle at 12% 16%, rgba(26, 30, 37, 0.82), transparent 28%), linear-gradient(135deg, rgba(17, 24, 39, 0.92) 0%, rgba(25, 34, 59, 0.88) 52%, rgba(73, 92, 119, 0.82) 100%);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.auth-modal.open
{
	display: flex;
}

.auth-modal-dialog
{
	position: relative;
	width: 500px;
	max-width: 92vw;
	min-height: auto;
	padding: 56px 52px 42px;
	color: #fff;
	background: rgba(15, 23, 42, 0.72);
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 24px 70px rgba(0,0,0,0.34);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	display: flex;
	flex-direction: column;
}

.auth-modal-close
{
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.auth-modal-title
{
	margin: 34px 0 12px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.9px;
	white-space: pre-line;
}

.auth-modal-divider
{
	width: 44px;
	height: 4px;
	background: #fff;
	margin-top: 20px;
	margin-bottom: 34px;
}

.auth-modal-form
{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.auth-modal-field-label
{
	display: block;
	margin-bottom: 10px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.25px;
	color: #fff;
}

.auth-modal-input
{
	width: 100%;
	height: 66px;
	border: 2px solid rgba(255,255,255,0.88);
	border-radius: 10px;
	background: rgba(255,255,255,0.02);
	color: #fff;
	padding: 0 20px;
	font-size: 17px;
	font-weight: 600;
	outline: none;
	box-shadow: none;
}

.auth-modal-input::placeholder
{
	color: rgba(255,255,255,0.26);
	font-weight: 700;
}

.auth-modal-input:focus
{
	border-color: #fff;
	background: rgba(255,255,255,0.05);
}

.auth-modal-submit
{
	width: 100%;
	height: 50px;
	margin-top: 8px;
	border: 0;
	border-radius: 4px;
	background: #ffffff;
	color: #0f172a;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: 4px;
	cursor: pointer;
}

.auth-modal-links
{
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 18px 10px 0;
	font-size: 15px;
	font-weight: 700;
	color: rgba(255,255,255,0.88);
	letter-spacing: -0.2px;
}

.auth-modal-links button
{
	border: 0;
	background: transparent;
	color: inherit;
	padding: 0;
	font: inherit;
	cursor: pointer;
}

.auth-modal-footer
{
	margin-top: 42px;
	padding: 0 4px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.28px;
	color: rgba(255,255,255,0.96);
}

.auth-modal-signup
{
	border: 0;
	background: transparent;
	color: #facc15;
	padding: 0;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.25px;
	cursor: pointer;
	white-space: nowrap;
}

@media (max-width: 480px)
{
	.auth-modal
	{
		padding: 18px;
	}

	.auth-modal-dialog
	{
		width: 100%;
		padding: 44px 24px 34px;
	}

	.auth-modal-title
	{
		margin-top: 28px;
		font-size: 22px;
	}

}

.area-num
{
	font-weight: 900;
}

.area-rest
{
	font-weight: 600;
	color: #5c6b7a;
	margin-left: 1px;
}

#detailAreaValue
{
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	min-width: 0;
	flex: 0 0 auto;
	width: auto;
	margin: 0;
}

.sub-topbar-left strong
{
	font-size: var(--subbar-menu-font-size);
	color: #1f6fff;
	letter-spacing: var(--subbar-menu-letter-spacing);
	font-weight: var(--subbar-menu-font-weight);
}

.sub-topbar-left span
{
	font-size: var(--subbar-menu-font-size);
	font-weight: var(--subbar-menu-font-weight);
	color: #000;
}

#sortLabel
{
	cursor: pointer;
	user-select: none;
	transition: color 0.18s ease, font-weight 0.18s ease;
}

#sortLabel.sort-latest
{
	color: #6b7280;
	font-weight: 600;
}

#sortLabel.sort-price-desc
{
	color: #dc2626;
	font-weight: 600;
}

#sortLabel.sort-price-asc
{
	color: #2563eb;
	font-weight: 600;
}

.sub-topbar .deal-buttons .deal-all-btn.active
{
	background: #1f6fff;
	border-color: #1a5fe0;
	color: #fff;
	box-shadow: 0 8px 18px rgba(31,111,255,0.22);
}

.sub-topbar .deal-buttons::-webkit-scrollbar
{
	display: none;
}

.pet-rental-filter
{
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-left: 12px;
	padding: 0;
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #475569;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.1px;
	white-space: nowrap;
	cursor: default;
	user-select: none;
}

.pet-rental-filter input
{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex: 0 0 auto;
}

.pet-rental-filter span
{
	line-height: 1;
}

.pet-rental-filter.active
{
	color: #2563eb;
}

.extra-filter-dropdown
{
	position: relative;
	flex: 0 0 auto;
	margin-left: 12px;
	z-index: 80;
}

.extra-filter-trigger
{
	height: 38px;
	padding: 0 14px;
	border-radius: 999px;
	border: 0.8px solid #dbe4ee;
	background: #fff;
	color: var(--subbar-menu-color);
	font-size: var(--subbar-menu-font-size);
	font-weight: var(--subbar-menu-font-weight);
	letter-spacing: var(--subbar-menu-letter-spacing);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
	box-shadow: none;
	white-space: nowrap;
	transition: 0.2s ease;
}

.extra-filter-trigger i
{
	font-size: 12px;
	line-height: 1;
	transition: transform 0.18s ease;
}

.extra-filter-dropdown.open .extra-filter-trigger
{
	color: #2563eb;
	border-color: #bfdbfe;
	background: #f8fbff;
	box-shadow: none;
}

.extra-filter-dropdown.open .extra-filter-trigger i
{
	transform: rotate(180deg);
}

.extra-filter-dropdown.has-active .extra-filter-trigger
{
	color: #2563eb;
	border-color: #bfdbfe;
	background: #eff6ff;
	box-shadow: none;
}

.extra-filter-menu
{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: auto;
	min-width: 240px;
	padding: 8px;
	border-radius: 0;
	border: 1px solid #e2e8f0;
	background: rgba(255,255,255,0.98);
	box-shadow: 0 18px 34px rgba(15, 41, 66, 0.14);
	backdrop-filter: blur(10px);
	display: none;
	flex-direction: column;
	gap: 2px;
	z-index: 9999;
}

.extra-filter-dropdown.open .extra-filter-menu
{
	display: flex;
}

.extra-filter-option
{
	display: flex;
	align-items: center;
	gap: 8px;
	min-height: 36px;
	padding: 0 10px;
	border-radius: 0;
	color: var(--subbar-item-color);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	cursor: pointer;
	user-select: none;
}

.extra-filter-option:hover
{
	background: #f8fafc;
}

.extra-filter-option input
{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex: 0 0 auto;
}

.extra-filter-option span
{
	line-height: 1.2;
}

.extra-filter-reset-row
{
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid #e5e7eb;
}

.extra-filter-reset-btn
{
	width: 100%;
	min-height: 36px;
	border: 0;
	border-radius: 100px;
	background: #f8fafc;
	color: var(--subbar-item-color);
	font-family: var(--subbar-item-font-family);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease;
}

.extra-filter-reset-btn:hover
{
	background: #eef2f7;
	color: #111827;
}

.extra-filter-reset-btn i
{
	font-size: 13px;
	line-height: 1;
}

/* 거래유형 드롭다운: 기타 조건 버튼과 동일한 묶음 UI */
.deal-filter-dropdown
{
	margin-left: 0;
}

.deal-filter-menu
{
	min-width: 160px;
}

.deal-filter-menu .deal-buttons
{
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 2px;
	width: 100%;
	min-width: 0;
	overflow: visible;
}

.deal-filter-menu .deal-buttons button
{
	width: 100%;
	min-height: 36px;
	height: auto;
	padding: 0 10px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #334155;
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
}

.deal-filter-menu .deal-buttons button:hover
{
	background: #f8fafc;
	color: #334155;
}

.deal-filter-menu .deal-buttons button.active
{
	background: #eff6ff;
	color: #2563eb;
	font-weight: 800;
}

.deal-method-filter-menu
{
	min-width: 190px;
}

.price-filter-menu
{
	min-width: 188px;
}

.location-analysis-menu
{
	min-width: 190px;
}

.location-analysis-option span
{
	white-space: nowrap;
}

.price-filter-title,
.price-filter-message
{
	padding: 8px 10px;
	color: var(--subbar-item-color);
	font-size: var(--subbar-item-font-size);
	font-weight: 700;
	line-height: 1.35;
	white-space: nowrap;
}

.price-filter-title
{
	color: #111827;
	border-bottom: 1px solid #edf1f5;
	margin-bottom: 4px;
}

.price-filter-message
{
	color: #64748b;
}

.sub-topbar .deal-method-filter-option
{
	font-family: var(--subbar-item-font-family);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	color: var(--subbar-item-color);
}

.global-back-btn
{
	width: 38px;
	height: 38px;
	min-width: 38px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #1f2a36;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.global-back-btn:hover
{
	background: #f5f7fa;
}

/* 왼쪽 상단 로고 왼쪽 여백 */
.global-brand
{
	color: #2563eb;
	letter-spacing: -0.45px;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 0px;
	line-height: 1;
	font-size: 16px;
	font-weight: 900;
	color: #2563eb;
}

.global-nav-label
{
	flex: 0 0 auto;
	font-size: 13px;
	font-weight: 900;
	color: #7b8794;
	letter-spacing: -0.12px;
	white-space: nowrap;
}

.global-topbar .deal-buttons::-webkit-scrollbar, .global-topbar .type-buttons::-webkit-scrollbar
{
	display: none;
}

.global-topbar-right
{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	gap: 10px;
	justify-self: end;
	z-index: 5;
}

.global-auth-trigger
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	border: 0;
	background: transparent;
	color: #111827;
	padding: 0;
	font-size: var(--auth-font-size);
	font-weight: 700;
	letter-spacing: -0.18px;
	line-height: 1;
	white-space: nowrap;
	cursor: pointer;
}

.global-auth-trigger:hover
{
	color: #111827;
}

.global-auth-trigger .auth-dot
{
	margin: 0 4px;
	color: #6b7280;
}

.global-auth-trigger .auth-arrow
{
	font-size: 12px;
	margin-left: 6px;
	line-height: 1;
	transition: transform 0.18s ease;
	flex: 0 0 auto;
}

.global-account-dropdown.open ~ .auth-arrow,
.approval-year-filter-menu
{
	min-width: 190px;
}

.global-sort-chip
{
	display: inline-flex;
	align-items: center;
	height: 38px;
	padding: 0 19px;
	border-radius: 0;
	background: #f7f9fc;
	border: 1px solid #e6ebf0;
	color: #1f2a36;
	font-size: 14px;
	font-weight: 900;
	white-space: nowrap;
}

.brand-card
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	height: 58px;
	padding: 0 16px;
	background: #fff;
	border-bottom: 1px solid #e6ebf0;
}

.brand-left
{
	display: flex;
	align-items: center;
	gap: 12px;
	min-width: 0;
}

.brand-title
{
	font-size: 17px;
	font-weight: 900;
	color: #1f2a36;
	white-space: nowrap;
}

.panel
{
	margin: 12px 12px 10px;
	padding: 14px;
	border-radius: 0;
	background: #fff;
	border: 1px solid #e8eef5;
	box-shadow: 0 8px 22px rgba(15, 41, 66, 0.05);
}

.search-box
{
	position: relative;
}

.search-box input
{
	width: 100%;
	height: 60px;
	padding: 0 74px 0 22px;
	border: 2px solid rgba(3, 199, 90, 0.9);
	border-radius: 0;
	outline: none;
	font-size: 16px;
	font-weight: 700;
	background: #fff;
	color: #17212b;
	box-shadow: none;
	margin-bottom: 10px;
}

.search-box input::placeholder
{
	color: #7b8794;
	font-weight: 700;
}

.search-box::after
{
	content: " 002";
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	position: absolute;
	top: 0;
	right: 0;
	width: 62px;
	height: 60px;
	border-radius: 0;
	background: rgba(3, 199, 90, 0.9);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	pointer-events: none;
}

.filter-title
{
	margin: 2px 0 8px;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 800;
	color: #7a8794;
	letter-spacing: 0.1px;
}

.feature-buttons
{
	display: flex;
	flex-wrap: nowrap;
	gap: 5px;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
	white-space: nowrap;
}

.feature-buttons::-webkit-scrollbar
{
	display: none;
}

.feature-buttons button, .reset-list-btn
{
	border: 1px solid #dfe5eb;
	border-radius: 0;
	padding: 7px 9px;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 800;
	cursor: pointer;
	transition: 0.2s ease;
	background: #fff;
	color: #304050;
}

.feature-buttons button
{
	flex: 0 0 auto;
	white-space: nowrap;
	line-height: 1;
}

.feature-buttons button.active, .feature-buttons button.all-active
{
	background: rgba(3, 199, 90, 0.9);
	color: #fff;
	border-color: rgba(3, 199, 90, 0.9);
	box-shadow: none;
}

.reset-list-btn
{
	width: 100%;
	margin-top: 0;
	margin-bottom: 10px;
	border-radius: 0;
	background: #f1f4f8;
}

.reset-list-btn:hover
{
	background: #e7edf3;
}

.list-head
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 0 12px;
	padding: 10px 4px 12px;
	background: transparent;
	border-bottom: 0;
}

.list-head strong
{
	font-size: 14px;
	color: #1f6fff;
	letter-spacing: -0.2px;
	font-weight: 900;
}

.list-head span
{
	font-size: 14px;
	letter-spacing: -0.1px;
	color: #1f2a36;
	font-weight: 800;
}

.brand-card, .panel.search-box, .search-box, .feature-buttons, .list-head
{
	display: none;
}

.property-list
{
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 0;
	background: #ffffff;
}

.left-list-loading
{
	display: none;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
}

.property-list.is-loading-more .left-list-loading
{
	display: flex;
}

.card
{
	background: none;
	border: none;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	overflow: hidden;
	border-bottom: 0.5px solid #f3f4f6;
}

.card:hover, .card.active
{
	background: #f9fafb;
	transform: none;
	box-shadow: none;
	border-color: #e5e7eb;
}

.card-inner-row
{
	display: flex;
	gap: 12px;
	padding: 0;
}

.thumb
{
	width: 88px;
	min-width: 88px;
	height: 88px;
	border-radius: 6px;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.thumb::after
{
	display: none;
}

.card:last-child
{
	//border-bottom: none;
}

.card-body
{
	flex: 1 1 auto;
	min-width: 0;
	padding: 0;
	min-height: 124px;
	display: flex;
	flex-direction: column;
}

.card-top-line
{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 8px;
	margin-bottom: 6px;
}

.card-badge-row
{
	display: inline-flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
	min-width: 0;
}

.card-badge
{
	display: inline-flex;
	align-items: center;
	height: 20px;
	padding: 0 8px;
	border-radius: 999px;
	background: #f5f7fa;
	color: #667085;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	box-shadow: inset 0 0 0 1px rgba(124, 77, 255, 0.06);
	white-space: nowrap;
}

.card-badge.deal[data-type="매매"]
{
	background: #ffffff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge.deal[data-type="전세"]
{
	background: #e8f7ef;
	color: #16a34a;
	box-shadow: inset 0 0 0 1px rgba(22, 163, 74, 0.08);
}

.card-badge.deal[data-type="월세"]
{
	background: #fff7ed;
	color: #ea580c;
	box-shadow: inset 0 0 0 1px rgba(234, 88, 12, 0.08);
}

.card-badge.deal[data-type="년세"]
{
	background: #fef2f2;
	color: #dc2626;
	box-shadow: inset 0 0 0 1px rgba(220, 38, 38, 0.08);
}

/* 부동산 홈 매물유형 뱃지는 전체 버튼 톤으로 통일 */
.card-badge:not(.deal)
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

/* 매물 종류별 색상 */ .card-badge[data-type="아파트"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge[data-type="단독주택"],
.card-badge[data-type="다가구주택"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge[data-type="상가"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge[data-type="토지"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge[data-type="사무실"], .card-badge[data-type="hotel"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-badge[data-type="오피스텔"], .card-badge[data-type="원룸 / 투룸"], .card-badge[data-type="빌라"], .card-badge[data-type="건물"], .card-badge[data-type="공장 / 창고"], .card-badge[data-type="호텔"], .card-badge[data-type="펜션"], .card-badge[data-type="pension"]
{
	background: #eff6ff;
	color: #2563eb;
	box-shadow: inset 0 0 0 1px #bfd4ff;
}

.card-date
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 22px;
	padding: 0 7px;
	border-radius: 999px;
	background: #f6f8fb;
	border: 1px solid transparent;
	color: #98a2b3;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: -0.1px;
	white-space: nowrap;
	line-height: 1;
	flex: 0 0 auto;
}

.card-title
{
	font-size: 14px;
	font-weight: 760;
	color: #1f2937;
	line-height: 1.36;
	margin-bottom: 5px;
	letter-spacing: -0.18px;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	word-break: keep-all;
}

.card-address
{
	font-size: 12.5px;
	letter-spacing: -0.1px;
	color: #7b8794;
	line-height: 1.42;
	margin-bottom: 6px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.card-price-line
{
	display: flex;
	align-items: center;
	gap: 7px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.card-deal
{
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 8px;
	border-radius: 0;
	background: #eef5ff;
	color: #1f6fff;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: -0.15px;
}

.card-price
{
	font-size: 18px;
	font-weight: 800;
	color: #111827;
	letter-spacing: -0.15px;
	line-height: 1.08;
}

.card-spec
{
	font-size: 12.5px;
	letter-spacing: -0.1px;
	color: #667085;
	line-height: 1.42;
	margin-bottom: 9px;
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.area-toggle-btn
{
	margin-left: 2px;
	display: inline-flex;
	vertical-align: middle;
	height: 22px;
	width: 26px;
	min-width: 26px;
	padding: 0;
	border: 1px solid #d1d9e0;
	border-radius: 999px;
	background: #fff;
	color: #51606f;
	font-size: 11px;
	font-weight: 800;
	cursor: pointer;
	line-height: 1;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.area-toggle-btn:hover
{
	background: #f7faff;
	border-color: #bfd6ff;
	color: #1f6fff;
}

.area-type-toggle-btn
{
	margin-left: 0;
	width: 26px;
	height: 26px;
	min-width: 26px;
	padding: 0;
	border: 1px solid #d7dee6;
	border-radius: 999px;
	background: #fff;
	color: #51606f;
	cursor: pointer;
	font-size: 14px;
	letter-spacing: -0.1px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
	vertical-align: middle;
	box-shadow: 0 1px 2px rgba(15, 41, 66, 0.04);
	flex: 0 0 auto;
}

.area-type-toggle-btn:hover
{
	background: #f7faff;
	border-color: #bfd6ff;
	color: #1f6fff;
}

.area-display
{
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	gap: 2px;
	line-height: 1.45;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.area-label
{
	font-size: 0.92em;
	font-weight: 650;
	color: #98a2b3;
	letter-spacing: -0.02px;
}

.area-value
{
	font-size: 1em;
	font-weight: 760;
	color: #667382;
}

.area-separator
{
	margin: 0 2px;
	font-size: 0.92em;
	font-weight: 600;
	color: #b3bdc9;
}

.area-line
{
	display: block;
	white-space: nowrap;
	word-break: keep-all;
}

.card-agent-row
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	padding-top: 9px;
	margin-top: 2px;
	margin-left: -112px;
	width: calc(100% + 112px);
	border-top: none;
	flex-wrap: nowrap;
	white-space: nowrap;
	overflow: hidden;
}

.card-agent-left
{
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex: 1 1 auto;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
}

.card-agent-avatar
{
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #eef3f7;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 12px;
	letter-spacing: 0;
	font-weight: 760;
	color: #506070;
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid #e5ebf1;
	box-shadow: 0 3px 8px rgba(15, 41, 66, 0.06);
}

.card-agent-avatar img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.card-agent-name
{
	font-size: 12.5px;
	letter-spacing: -0.05px;
	font-weight: 760;
	color: #1f2a36;
}

.card-agent-title
{
	font-size: 12.5px;
	letter-spacing: -0.05px;
	color: #98a2b3;
	margin-left: 4px;
}

.card-agent-office
{
	font-size: 12.5px;
	letter-spacing: -0.05px;
	color: #667085;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1 1 auto;
	text-align: left;
	min-width: 0;
	font-weight: 650;
	line-height: 1.35;
}

.resizer
{
	display: none;
}

.deal-buttons, .type-buttons
{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.deal-buttons button, .type-buttons button
{
	border: 0;
	border-radius: 999px;
	padding: 8px 12px;
	font-size: var(--type-font-size);
	letter-spacing: -0.1px;
	font-weight: 900;
	background: #eef3f7;
	color: #203040;
	cursor: pointer;
	white-space: nowrap;
	transition: 0.2s ease;
}

.deal-buttons button.active, .type-buttons button.active
{
	background: rgba(3, 199, 90, 0.9);
	color: #fff;
	box-shadow: 0 8px 18px rgba(3, 199, 90, 0.22);
}

.deal-buttons button
{
	font-size: var(--deal-font-size);
}

.area-type-toggle-btn i
{
	transition: transform 0.25s ease;
	font-size: 11px;
	line-height: 1;
}

.area-type-toggle-btn:hover i
{
	transform: rotate(180deg);
}

.search-box input
{
	height: 44px;
	border-radius: 0;
}

.filter-title
{
	margin: 4px 0 10px;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 900;
	color: #6b7785;
	letter-spacing: -0.1px;
}

.brand-card
{
	background: #f7f8fa;
}

.list-head strong
{
	font-size: 15px;
	color: #162f4d;
}

.list-head span
{
	font-size: 14px;
	letter-spacing: -0.1px;
	color: #768391;
}

.thumb
{
	width: 96px;
	min-width: 96px;
	height: 96px;
	border-radius: 0;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.card-address
{
	margin-bottom: 9px;
}

.card-spec
{
	line-height: 1.55;
}

/* area layout fix */ .card-spec
{
	font-size: 12px;
	letter-spacing: -0.1px;
	color: #667382;
	line-height: 1.5;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	flex-wrap: nowrap;
}

.card-spec .area-display
{
	min-width: 0;
	flex: 0 1 auto;
	white-space: nowrap;
}

.card-spec .area-toggle-btn
{
	display: none;
}

/* premium tuning for left card broker line */ .card-agent-left
{
	gap: 9px;
}

.card-agent-name, .card-agent-title
{
	color: #4e5a67;
	font-weight: 800;
}

.card-agent-row .card-agent-office
{
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

.card-agent-text
{
	display:inline-flex;
	align-items:center;
	gap:4px;
	min-width:0;
	flex:1 1 auto;
	white-space:nowrap;
	overflow:hidden;
}

.card-agent-text .card-agent-name, .card-agent-text .card-agent-title, .card-agent-text .card-agent-office
{
	display:inline;
	white-space:nowrap;
}

.card-agent-text .card-agent-office
{
	overflow:hidden;
	text-overflow:ellipsis;
	min-width:0;
}

/* premium left card tuning */ .card
{
	background: #ffffff;
	border: 0.5px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	cursor: pointer;
	padding: 3px 3px 0px;
	overflow: hidden;
	border-bottom: 0.5px solid #e5e7eb;
}

.card:hover, .card.active
{
	background: #ffffff;
	transform: none;
	box-shadow: none;
	border-color: #e5e7eb;
}

.card-inner-row
{
	--left-card-gap-price-type: 8px;
	--left-card-gap-type-info: 5px;
	--left-card-gap-info-title: 5px;
	gap: 16px;
	padding: 14.5px 20px 17px 14.5px;
	align-items: flex-start;
}

.thumb
{
	width: 124px;
	min-width: 124px;
	height: 124px;
	border-radius: 0;
	background-size: cover;
	background-position: center;
	position: relative;
	overflow: hidden;
	box-shadow: none;
}

.card-top-line
{
	margin-bottom: 6px;
	align-items: center;
}

.card-badge-row
{
	gap: 4px;
}

.card-badge
{
	height: 23px;
	padding: 0 8px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: -0.1px;
	box-shadow: none;
}

.card-date
{
	min-width: auto;
	height: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: #94a3b8;
	font-size: 11px;
	font-weight: 700;
}

/* 왼쪽 패널 - 제목 */
.card-title
{
	font-size: 14px;
	line-height: 1.35;
	margin-bottom: var(--left-card-gap-type-info);
	font-weight: 650;
	letter-spacing: 0;
	color: #202124;
	-webkit-line-clamp: 1;
}

/* 왼쪽 패널 - 주소 */
.card-address
{
	font-size: 14px;
	line-height: 1.45;
	margin-bottom: 0;
	color: #4b5563;
	letter-spacing: -1px;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.card-region
{
	margin-top: auto;
	color: #4b5563;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: -1px;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* 왼쪽 패널 - 면적 */
.card-spec
{
	font-size: 14px;
	line-height: 1.4;
	margin-bottom: var(--left-card-gap-info-title);
	color: #202124;
	font-weight: 650;
	letter-spacing: -1px;
}

.card-price-line
{
	gap: 6px;
	margin-bottom: var(--left-card-gap-price-type);
}

.card-deal
{
	height: 24px;
	padding: 0 8px;
	font-size: 12px;
	font-weight: 800;
}

.card-price
{
	font-family: var(--font-ui);
	font-variant-numeric: tabular-nums;
	font-size: 17px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: 0;
	color: #1f2329;
}

.card-agent-row
{
	display: none;
}

.card-agent-avatar
{
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #eef3f7;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	letter-spacing: -0.1px;
	font-weight: 800;
	color: #506070;
	overflow: hidden;
	flex-shrink: 0;
	border: 1px solid #e5ebf1;
	box-shadow: 0 3px 8px rgba(15, 41, 66, 0.06);
}

.card-agent-text
{
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	flex: 1 1 auto;
	white-space: nowrap;
	overflow: hidden;
	line-height: 1;
}

/* 왼쪽 패널 - 중개사 이름 */
.card-agent-name
{
	color: #111827;
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.2px;
	line-height: 1;
	flex: 0 0 auto;
}

/* 왼쪽 패널 - 중개사 직급 */
.card-agent-title
{
	display: inline-flex;
	align-items: center;
	font-size: 14px;
	font-weight: 700;
	color: #6b7280;
	letter-spacing: -0.12px;
	line-height: 1;
	flex: 0 0 auto;
}

.card-agent-title::after
{
	content: "·";
	margin-left: 6px;
	color: #b0bac5;
	font-weight: 700;
}

/* 왼쪽 패널 - 중개사 상호 */
.card-agent-office
{
	color: #111827;
	display: inline-flex;
	align-items: center;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: -0.12px;
	line-height: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	flex: 0 1 auto;
}

/* PATCH 2.551: 왼쪽 하단 이름/대표/상호 크기 통일 */
.property-list .card-agent-name,
.property-list .card-agent-title,
.property-list .card-agent-office
{
	font-size: 13px;
}

.top-topbar
{
	margin-left: 14px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: 38px;
	padding: 0 12px;
	border-radius: 0;
	background: transparent;
	border: 1px solid transparent;
	color: #6b7785;
	font-size: 17.5px;
	font-weight: 700;
	letter-spacing: -0.08px;
	white-space: nowrap;
	flex: 0 0 auto;
	cursor: pointer;
}

.top-topbar i
{
	font-size: 16px;
	line-height: 1;
	color: currentColor;
	margin-right: 2px;
}

.top-topbar span
{
	display: inline-block;
	line-height: 1;
}

.top-topbar.active
{
	background: transparent;
	color: #2563eb;
	border-color: transparent;
	box-shadow: none;
}

body
{
	background:var(--bg);
	color:var(--text);
}

.app
{
	display:block;
	grid-template-columns:none;
	position:relative;
	height:calc(100dvh - var(--topbar-main-height) - var(--topbar-sub-height));
}

.sidebar
{
	position:absolute;
	top:0;
	left:0;
	width:var(--sidebar-list-width);
	min-width:0;
	z-index:160;
	overflow:visible;
	background:rgba(255,255,255,.98);
	border-right:1px solid #e6ebf0;
	box-shadow:0 18px 34px rgba(15,41,66,.14);
	transform:translateX(0);
	opacity:1;
	pointer-events:auto;
	transition:transform .28s ease, opacity .2s ease;
}

body.sidebar-list-collapsed .app
{
	display:block;
	grid-template-columns:none;
}

body.sidebar-list-collapsed .sidebar
{
	display: none;
	width:var(--sidebar-list-width);
	transform:translateX(calc(-1 * var(--sidebar-list-width) - 16px));
	opacity:0;
	pointer-events:none;
	border-right:0;
	box-shadow:none;
}

body.sidebar-list-collapsed .sidebar-list-panel
{
	opacity:1;
}

.global-topbar, .sub-topbar
{
	background:rgba(255,255,255,.92);
	backdrop-filter:blur(10px);
	-webkit-backdrop-filter:blur(10px);
}

.global-topbar
{
	position:sticky;
	top:0;
	z-index:130;
	height:var(--topbar-main-height);
	border-bottom:1.4px solid var(--line);
	z-index: 150;
	box-shadow: none;
}

.sub-topbar
{
	position:relative;
	z-index:320;
	height:var(--topbar-sub-height);
	border-bottom:0.5px solid #eef2f6;
	overflow:visible;
	box-shadow: 0 0.5px 0 rgba(0,0,0,0.04);
}

.global-topbar-inner
{
	height:var(--topbar-main-height);
	max-width:none;
	position:relative;
	padding:0 18px;
	background:transparent;
}

.sub-topbar-inner
{
	height:var(--topbar-sub-height);
	max-width:none;
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0 24px;
	position:relative;
	overflow:visible;
	background:transparent;
}

.sub-topbar-inline-version
{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:flex-start;
	height:100%;
	font-size:12px;
	color:#9aa3af;
	font-weight: 600;
	line-height:1;
	white-space:nowrap;
	margin-right:4px;
}

.global-topbar-left
{
	position:absolute;
	left:22px;
	top:50%;
	transform:translateY(-50%);
	display:inline-flex;
	align-items:center;
	gap:12px;
	min-width:0;
	z-index:3;
}

.sub-topbar-left
{
	display:none;
}

.global-topbar-menu
{
	position:absolute;
	left:50%;
	right:auto;
	top:50%;
	transform:translate(-50%,-50%);
	width:max-content;
	max-width:calc(100vw - 520px);
	display:flex;
	align-items:center;
	justify-content:center;
	overflow:visible;
	z-index:2;
	margin-left:0;
	padding-left:0;
}

.sub-topbar-right
{
	position:absolute;
	left:0;
	right:0;
	top:0;
	transform:none;
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	min-width:0;
	background:transparent;
	overflow:visible;
	padding:0;
	pointer-events:none;
}

.sub-topbar-right .map-filter-bar
{
	pointer-events:auto;
}

.global-topbar .type-buttons, .global-topbar .deal-buttons
{
	display:flex;
	align-items:center;
	justify-content:center;
	flex-wrap:nowrap;
	flex:0 0 auto;
	gap:8px;
	margin-left:0;
	padding-left:0;
}

.sub-topbar .deal-buttons
{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	margin-left:0;
	padding-left:0;
}

.global-topbar .type-buttons button, .global-topbar .deal-buttons button, .top-topbar, .sub-topbar .deal-buttons button
{
	background:transparent;
	border:1px solid transparent;
	border-radius: 0;
	box-shadow:none;
	color:#6b7280;
	cursor:pointer;
	transition:background .18s ease, color .18s ease, border-color .18s ease;
}

.global-topbar .type-buttons button, .global-topbar .deal-buttons button, .top-topbar
{
	height:calc(var(--topbar-main-height) - 24px);
	padding:0 18px;
	font-weight:800;
	letter-spacing:-0.3px;
}

.global-topbar .type-buttons button
{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:0;
	padding:0 20px;
	font-size:17px;
	color: rgba(0, 0, 0, 0.8);
}

.global-topbar .type-buttons button span
{
	display:inline-block;
	line-height:1;
}

.sub-topbar .deal-buttons button
{
	height:calc(var(--topbar-sub-height) - 17px);
	padding:0 12px;
	font-size:15px;
	font-weight:666;
	letter-spacing:-0.1px;
	border-radius:999px;
}

.global-topbar .type-buttons button.active, .global-topbar .deal-buttons button.active, .sub-topbar .deal-buttons button.active, .top-topbar.active
{
	background:#eff6ff;
	color:#2563eb;
	border-color:#dbeafe;
}

.global-topbar .type-buttons button:hover, .global-topbar .deal-buttons button:hover, .sub-topbar .deal-buttons button:hover, .top-topbar:hover
{
	background:#f8fafc;
	color:#374151;
}

.empty-title
{
	margin:0;
	font-size:16px;
	font-weight:900;
	color:#17212b;
	line-height:1.35;
}

.empty-sub
{
	margin:0;
	font-size:14px;
	font-weight: 600;
	color:#6b7785;
	line-height:1.4;
}

@media (max-width: 1440px)
{
	.global-topbar-menu
	{
		max-width:calc(100vw - 420px);
	}

	.global-topbar .type-buttons button
	{
		padding:0 11px;
		font-size:14px;
	}

}

/* ===== TOPBAR/SUBTOPBAR EXACT RULES: 매물유형 + 거래유형 동일 이동 규칙 ===== */
:root
{
	--topbar-logo-stop-x: 130px;		/* 로고 오른쪽 정지 지점 */ 
	--topbar-type-width: 950px;			/* 매물유형 전체 폭 기준 */ 	
	--topbar-auth-gap: 0px;			/* 매물유형과 로그인 사이 간격 */	
}

/* 로고는 기존 위치 고정 */
.global-topbar-left
{
	left: 18px;
	right: auto;
}

/* 매물유형: 가운데 정렬 → 창 축소 시 왼쪽 이동 → 로고 앞에서 정지 */
.global-topbar-menu
{
	position: absolute;
	top: 50%;
	left: max(var(--topbar-logo-stop-x), calc(50vw - (var(--topbar-type-width) / 2)));
	right: auto;
	transform: translateY(-50%);
	width: var(--topbar-type-width);
	max-width: none;
	min-width: var(--topbar-type-width);
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.global-topbar .type-buttons
{
	width: max-content;
	min-width: max-content;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	overflow: visible;
}

.global-topbar .type-buttons button, .global-topbar .type-buttons button span
{
	font-size: var(--type-font-size);
	white-space: nowrap;
	flex-shrink: 0;
}

/* 회원가입·로그인: 매물유형 오른쪽 + 50px, 창 축소 시 오른쪽에서 덮임 */
.global-topbar-right
{
	position: absolute;
	top: 50%;
	left: calc(max(var(--topbar-logo-stop-x), calc(50vw - (var(--topbar-type-width) / 2))) + var(--topbar-type-width) + var(--topbar-auth-gap));
	right: auto;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	white-space: nowrap;
	z-index: 5;
}

.global-auth-trigger
{
	font-size: var(--auth-font-size);
	white-space: nowrap;
	flex-shrink: 0;
}

/* 로고 글자 크기 유지 */
.global-brand, .global-brand .brand-name
{
	color: #2563eb;
	font-size: var(--topbar-logo-font-size, 18px);
}

/* PATCH: 상단 메뉴 폰트/색상/웨이트 통일 */
.global-topbar .type-buttons button,
.global-topbar .deal-buttons button
{
	font-family: var(--nav-font-family);
	font-size: var(--nav-font-size);
	font-weight: var(--nav-font-weight);
	color: var(--nav-color);
	letter-spacing: -0.35px;
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.global-topbar .type-buttons button.active,
.global-topbar .deal-buttons button.active
{
	color: var(--nav-active-color);
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.global-topbar .type-buttons button:hover,
.global-topbar .deal-buttons button:hover
{
	color: var(--nav-active-color);
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.nav-new-badge
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 30px;
	padding: 0 13px;
	border: 2px solid var(--nav-new-color);
	border-radius: 999px;
	color: var(--nav-new-color);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: -0.3px;
	background: #fff;
}

/* Ver 2.396 표시: 하단바 왼쪽 고정 */
.sub-version-fixed
{
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	flex-shrink: 0;
	z-index: 10;
	font-size: 13px;
	font-weight: 600;
	color: var(--brand);
	opacity: 0.72;
}

/* Ver 표시 회색 고정 */ .sub-version-fixed
{
	color: #6b7280;
	opacity: 1;
	text-decoration: none;
	cursor: pointer;
}

.sub-version-fixed:hover
{
	color: var(--brand);
}

/* 회원가입 로그인: 오른쪽 정렬, 매물유형 오른쪽 50px 경계 안쪽으로 침범 금지 */
.global-topbar-right
{
	position: absolute;
	top: 50%;
	left: calc(max(var(--topbar-logo-stop-x), calc(50vw - (var(--topbar-type-width) / 2))) + var(--topbar-type-width) + 50px);
	right: 18px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	min-width: 0;
	z-index: 5;
}

.global-auth-trigger
{
	margin-left: auto;
	white-space: nowrap;
	flex: 0 0 auto;
	text-align: right;
}

/* PATCH: 계정 드롭다운이 상단바 overflow/transform에 잘리지 않도록 보강 */
.global-topbar,
.global-topbar-inner,
.global-topbar-right
{
	overflow: visible;
}

/* ===== ACCOUNT DROPDOWN FROM 1.897 ONLY ===== */
.global-auth-trigger.logged-in
{
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.global-auth-trigger .account-email-text
{
	display: inline-block;
	max-width: 260px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	vertical-align: middle;
}

/* 드롭다운 너비, 위 아래 여백 */
.global-account-dropdown
{
	position: fixed;
	top: calc(var(--global-topbar-height) + 6.5px);
	right: 18px;
	z-index: 10020;
	width: 252px;
	padding: 0px 0px;
	border: 1px solid #e5e7eb;
	background: rgba(255,255,255,0.98);
	box-shadow: 0 18px 42px rgba(15, 23, 42, 0.16);
	display: none;
}

.global-account-dropdown.open
{
	display: block;
}

.global-account-dropdown::before
{
	content: "";
	position: absolute;
	top: -9px;
	right: 42px;
	width: 16px;
	height: 16px;
	background: rgba(255,255,255,0.98);
	border-left: 1px solid #e5e7eb;
	border-top: 1px solid #e5e7eb;
	transform: rotate(45deg);
}

.global-account-dropdown::after
{
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: -18px;
	height: 18px;
	background: transparent;
}

.global-account-email
{
	position: relative;
	z-index: 1;
	padding: 6px 26px 14px;
	font-size: 13px;
	font-weight: 800;
	color: #111827;
	line-height: 1.35;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.global-account-divider
{
	height: 1px;
	margin: 0 22px;
	background: #e5e7eb;
}

/* 드롭다운 메뉴 - 글자 줄 높이 간격 */
.global-account-menu-item
{
	position: relative;
	z-index: 1;
	width: 100%;
	height: 56px;
	padding: 0 26px;
	border: 0;
	background: transparent;
	color: #111827;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 400;
	letter-spacing: -0.2px;
	text-align: left;
	cursor: pointer;
}

.global-account-menu-item:hover
{
	background: #f8fafc;
}

.profile-incomplete-dot
{
	display: none;
	width: 7px;
	height: 7px;
	margin-left: 6px;
	border-radius: 50%;
	background: #ef4444;
	vertical-align: middle;
}

.global-account-dropdown.profile-incomplete .profile-incomplete-dot
{
	display: inline-block;
}

/* PATCH: 내 정보 설정은 팝업이 아니라 전체 페이지 형태로 표시 */
.auth-modal.profile-page-mode
{
	align-items: stretch;
	justify-content: stretch;
	padding: 0;
	background: #f4f7fb;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	width: 100%;
	max-width: none;
	height: 100vh;
	max-height: 100vh;
	padding: 48px 48px 48px;
	background: #ffffff;
	color: #111827;
	border: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow-y: auto;
}

.auth-modal.profile-page-mode .auth-modal-title
{
	margin: 0 0 12px;
	color: #111827;
	white-space: normal;
}

.auth-modal.profile-page-mode .auth-modal-divider
{
	background: #1B6FA4;
}

.auth-modal.profile-page-mode .auth-profile-guide
{
	color: #475569;
}

.auth-modal.profile-page-mode .auth-myinfo-display-label,
.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	color: #111827;
}

.auth-modal.profile-page-mode .auth-modal-field-label,
.auth-modal.profile-page-mode .auth-profile-consent,
.auth-modal.profile-page-mode .auth-profile-consent strong
{
	color: #111827;
}

.auth-modal.profile-page-mode .auth-modal-input
{
	border-color: #d1d5db;
	background: #ffffff;
	color: #111827;
}

.auth-modal.profile-page-mode .auth-modal-input::placeholder
{
	color: #9ca3af;
}

.auth-modal.profile-page-mode .auth-modal-submit
{
	background: #1B6FA4;
	color: #ffffff;
}

.auth-modal.profile-page-mode .auth-modal-close
{
	color: #111827;
}

.auth-myinfo-display-row
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	min-height: 34px;
}

.auth-myinfo-display-label
{
	flex: 0 0 auto;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.25px;
	color: #fff;
	line-height: 1.35;
	white-space: nowrap;
}

.auth-myinfo-display-value
{
	flex: 1 1 auto;
	min-width: 0;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: -0.25px;
	color: #fff;
	line-height: 1.35;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-input[readonly]
{
	cursor: default;
}

/* ===== PATCH 1.928: 내 정보 카드형 디자인 ===== */
.auth-modal.profile-page-mode .auth-myinfo-screen
{
	width: min(500px, calc(100vw - 40px));
	margin: 0 auto;
	padding: 36px 42px 42px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title
{
	font-size: 22px;
	font-weight: 900;
	margin: 0 0 14px;
	letter-spacing: -0.8px;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-divider
{
	width: 48px;
	height: 4px;
	margin: 0 0 28px;
	border-radius: 999px;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-form
{
	gap: 0;
}

.auth-modal.profile-page-mode .auth-myinfo-photo-box
{
	width: 92px;
	height: 92px;
	margin: 0 auto 30px;
	border-radius: 50%;
	padding: 4px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.16);
}

.auth-modal.profile-page-mode .auth-myinfo-photo
{
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-guide
{
	display: none;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row
{
	position: relative;
	min-height: 54px;
	padding: 0 0 0 52px;
	margin: 0;
	border-bottom: 1px solid #eef2f7;
	gap: 24px;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row::before
{
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 34px;
	height: 34px;
	transform: translateY(-50%);
	border-radius: 50%;
	background: #f1f5f9;
	border: 1px solid #e5e7eb;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row::after
{
	position: absolute;
	left: 0;
	top: 50%;
	width: 34px;
	height: 34px;
	transform: translateY(-50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	font-size: 14px;
	color: #334155;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row.myinfo-row-name::after
{
	content: "\f007";
}

.auth-modal.profile-page-mode .auth-myinfo-display-row.myinfo-row-email::after
{
	content: "\f0e0";
}

.auth-modal.profile-page-mode .auth-myinfo-display-row.myinfo-row-phone::after
{
	content: "\f095";
}

.auth-modal.profile-page-mode .auth-myinfo-display-row.myinfo-row-role::after
{
	content: "\f2bb";
}

.auth-modal.profile-page-mode .auth-myinfo-display-row.myinfo-row-office::after
{
	content: "\f1ad";
}

/* 내 정보 페이지 글자 크기 */
.auth-modal.profile-page-mode .auth-myinfo-display-label
{
	font-size: 18px;
	font-weight: 600;
	color: #334155;
}

.auth-modal.profile-page-mode .auth-myinfo-display-label::after
{
	content: none;
}

.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	font-size: 18px;
	font-weight: 600;
	color: #111827;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit
{
	height: 50px;
	margin-top: 24px;
	border-radius: 8px;
	letter-spacing: 0;
	font-size: 17px;
	box-shadow: 0 10px 22px rgba(27, 111, 164, 0.22);
}

.auth-modal.profile-page-mode .auth-myinfo-screen #myInfoBrokerOfficeBtn
{
	margin-top: 14px;
	background: #ffffff;
	color: #1B6FA4;
	border: 1px solid #1B6FA4;
	box-shadow: none;
}

/* ===== AUTH MODAL OVERRIDE FROM 1.897 ONLY ===== */ .auth-modal
{
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 32px;
	background: radial-gradient(circle at 78% 48%, rgba(183, 79, 24, 0.22), transparent 22%), radial-gradient(circle at 12% 16%, rgba(26, 30, 37, 0.82), transparent 28%), linear-gradient(135deg, rgba(17, 24, 39, 0.92) 0%, rgba(25, 34, 59, 0.88) 52%, rgba(73, 92, 119, 0.82) 100%);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.auth-modal.open
{
	display: flex;
}

/* 로그인, 회원가입 창 너비 설정 */
.auth-modal-dialog
{
	position: relative;
	width: 500px;
	height: 690px;
	display: flex;
	flex-direction: column;
	padding: 38px 52px 42px;
	color: #fff;
	background: rgba(15, 23, 42, 0.72);
	border: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 24px 70px rgba(0,0,0,0.34);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.auth-modal-close
{
	position: absolute;
	top: 18px;
	right: 18px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.auth-modal-back
{
	position: absolute;
	top: 18px;
	left: 18px;
	width: 44px;
	height: 44px;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 38px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.auth-modal-back.visible
{
	display: inline-flex;
}

.auth-modal-title
{
	margin: 0px 0 12px;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.9px;
	white-space: pre-line;
}

.auth-modal-divider
{
	width: 44px;
	height: 4px;
	background: #fff;
	margin-top: 20px;
	margin-bottom: 34px;
}

.auth-modal-form
{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.auth-modal-field-label
{
	display: block;
	margin-bottom: 10px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.25px;
	color: #fff;
}

.auth-modal-input
{
	width: 100%;
	height: 66px;
	border: 2px solid rgba(255,255,255,0.88);
	border-radius: 10px;
	background: rgba(255,255,255,0.02);
	color: #fff;
	padding: 0 20px;
	font-size: 18px;
	font-weight: 600;
	outline: none;
	box-shadow: none;
}

.auth-modal-input::placeholder
{
	color: rgba(255,255,255,0.26);
	font-weight: 700;
}

.auth-modal-input:focus
{
	border-color: #fff;
	background: rgba(255,255,255,0.05);
}

.auth-modal-submit
{
	width: 100%;
	height: 50px;
	margin-top: 8px;
	border: 0;
	border-radius: 4px;
	background: #ffffff;
	color: #0f172a;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -0.5px;
	cursor: pointer;
}

.auth-modal-links
{
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 18px 0px 0;
	font-size: 15.5px;
	font-weight: 700;
	color: rgba(255,255,255,0.88);
	letter-spacing: -0.2px;
}

.auth-modal-links button
{
	border: 0;
	background: transparent;
	color: inherit;
	padding: 0;
	font: inherit;
	cursor: pointer;
}

.auth-modal-footer
{
	margin-top: 38px;
	padding: 0 0px 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.28px;
	color: rgba(255,255,255,0.96);
}

.auth-modal-signup
{
	border: 0;
	background: transparent;
	color: #facc15;
	padding: 0;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -0.25px;
	cursor: pointer;
	white-space: nowrap;
}

.auth-error-modal
{
	position: fixed;
	inset: 0;
	z-index: 200000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(15, 23, 42, 0.42);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

.auth-error-modal.open
{
	display: flex;
}

.auth-error-dialog
{
	width: 360px;
	max-width: 90vw;
	padding: 30px 28px 26px;
	background: #ffffff;
	color: #111827;
	border-radius: 0;
	box-shadow: 0 24px 70px rgba(0,0,0,0.28);
	text-align: center;
}

.auth-error-title
{
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: -0.5px;
	line-height: 1.3;
}

.auth-error-message
{
	white-space: pre-line;
	margin: 0 0 18px;
	font-size: 16px;
	font-weight: 320;
	color: #334155;
	letter-spacing: -0.2px;
	line-height: 1.5;
}

.auth-error-confirm
{
	width: 100%;
	height: 46px;
	border: 0;
	border-radius: 0;
	background: #3B82F6;
	color: #ffffff;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -0.2px;
	cursor: pointer;
}

.auth-error-actions
{
	display: flex;
	gap: 10px;
}

.auth-error-cancel
{
	display: none;
	width: 100%;
	height: 46px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: #374151;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -0.2px;
	cursor: pointer;
}

.auth-error-modal.confirm-mode .auth-error-cancel
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.auth-login-screen, .auth-signup-terms-screen, .auth-signup-form-screen, .auth-forgot-password-screen, .auth-reset-password-screen
{
	display: flex;
	flex-direction: column;
	width: 100%;
}

.auth-screen-hidden
{
	display: none;
}

.auth-terms-all-btn
{
	width: 100%;
	min-height: 62px;
	margin: 8px 0 34px;
	border: 2px solid rgba(255,255,255,0.9);
	border-radius: 6px;
	background: rgba(255,255,255,0.03);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	font-size: 16px;
	font-weight: 900;
	letter-spacing: -0.6px;
	cursor: pointer;
}

.auth-terms-all-btn .auth-check-icon
{
	font-size: 32px;
	line-height: 1;
	font-weight: 600;
}

.auth-terms-list
{
	display: flex;
	flex-direction: column;
	gap: 17.5px;
	margin-bottom: 38px;
}

.auth-terms-item
{
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	min-height: 18px;
	color: #fff;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: -0.6px;
	cursor: pointer;
	user-select: none;
}

.auth-terms-check-zone
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	cursor: pointer;
}

.auth-terms-open-zone
{
	flex: 1 1 auto;
	min-width: 0;
	border: 0;
	background: transparent;
	color: inherit;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.auth-terms-item input
{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.auth-terms-checkbox
{
	width: 24px;
	height: 24px;
	border: 2px solid rgba(255,255,255,0.92);
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	color: transparent;
	font-size: 22px;
	line-height: 0.6;
}

.auth-terms-item input:checked + .auth-terms-checkbox
{
	color: #fff;
}

.auth-terms-text
{
	flex: 1 1 auto;
	min-width: 0;
	line-height: 1.25;
}

.auth-terms-highlight
{
	color: #facc15;
	font-size: 18px;
	font-weight: 800;
}

.auth-terms-arrow
{
	margin-left: auto;
	color: #fff;
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
}

.auth-terms-next
{
	width: 100%;
	height: 58px;
	border: 0;
	border-radius: 6px;
	background: #fff;
	color: #9ca3af;
	font-size: 18px;
	font-weight: 900;
	letter-spacing: -0.5px;
	cursor: not-allowed;
	opacity: 0.96;
}

.auth-terms-next.enabled
{
	color: #0f172a;
	cursor: pointer;
}

.auth-signup-footer
{
	margin-top: 38px;
	padding: 0 0px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	color: rgba(255,255,255,0.96);
	font-size: 19px;
	font-weight: 800;
	letter-spacing: -0.6px;
}

.auth-login-switch
{
	border: 0;
	background: transparent;
	color: #facc15;
	padding: 0;
	font-size: 19px;
	font-weight: 900;
	letter-spacing: -0.4px;
	cursor: pointer;
	white-space: nowrap;
}

.terms-full-page
{
	position: fixed;
	inset: 0;
	z-index: 300000;
	display: none;
	background: #f7f7f7;
	color: #111827;
}

.terms-full-page.open
{
	display: block;
}

.terms-full-header
{
	position: sticky;
	top: 0;
	height: 56px;
	background: #ffffff;
	border-bottom: 1px solid #eef2f6;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.terms-full-title
{
	font-size: 18px;
	font-weight: 900;
	color: #111827;
	letter-spacing: -0.35px;
}

.terms-full-close
{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	color: #111827;
	font-size: 38px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}

.terms-full-body
{
	height: calc(100vh - 56px);
	overflow-y: auto;
	padding: 42px 28px 90px;
	font-size: 14px;
	line-height: 1.7;
	background: #f7f7f7;
}

.terms-full-main-title
{
	margin: 0 0 42px;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.35;
	color: #111827;
	letter-spacing: -0.25px;
}

.terms-full-body h2
{
	margin: 42px 0 22px;
	font-size: 17px;
	font-weight: 900;
	line-height: 1.35;
	color: #111827;
	letter-spacing: -0.2px;
}

.terms-full-body h3
{
	margin: 30px 0 12px;
	font-size: 15px;
	font-weight: 900;
	line-height: 1.45;
	color: #111827;
	letter-spacing: -0.15px;
}

.terms-full-body p
{
	margin: 0 0 10px;
	color: #111827;
	font-size: 14px;
	line-height: 1.7;
	letter-spacing: 0;
	white-space: pre-wrap;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.terms-full-body .terms-inline-heading
{
	margin: 0;
	color: #111827;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.7;
	letter-spacing: 0;
	white-space: pre-wrap;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

.terms-full-loading, .terms-full-error
{
	font-size: 14px;
	font-weight: 800;
	color: #374151;
}

.auth-terms-open
{
	cursor: pointer;
}

/* PATCH: 내 정보 설정 회원유형 드롭다운 복구 */
.auth-profile-select-wrap
{
	position: relative;
	width: 100%;
}

.auth-profile-select-wrap select
{
	width: 100%;
	height: 50px;
	border: 1px solid rgba(255,255,255,0.35);
	background: rgba(255,255,255,0.08);
	color: rgba(255,255,255,0.96);
	padding: 0 44px 0 16px;
	font-size: 16px;
	font-weight: 800;
	outline: none;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.auth-profile-select-wrap select option
{
	color: #111827;
	background: #ffffff;
}

.auth-profile-select-arrow
{
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 20px;  /* 30은 너무 큼 */
	color: rgba(255,255,255,0.82);
	pointer-events: none;
}

/* ===== PROFILE SETUP MODAL PATCH FROM 1.897 ONLY ===== */
.auth-profile-guide
{
	margin: -6px 0 4px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: -0.2px;
	color: rgba(255,255,255,0.82);
}

.auth-modal-select
{
	width: 100%;
	height: 66px;
	padding: 0 44px 0 20px;
	font-size: 17px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.auth-profile-consent
{
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 2px;
	color: rgba(255,255,255,0.92);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.45;
	letter-spacing: -0.15px;
	cursor: pointer;
	user-select: none;
}

.auth-profile-consent input
{
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: #3B82F6;
	flex: 0 0 auto;
}

.auth-profile-consent strong
{
	color: #fff;
	font-weight: 900;
}

/* ===== PATCH 1.897: profile role select visibility + account dropdown item lines ===== */
.auth-modal.profile-page-mode .auth-profile-select-wrap
{
	display: block;
	position: relative;
	width: 100%;
}

.auth-modal.profile-page-mode .auth-profile-select-wrap select
{
	display: block;
	width: 100%;
	height: 66px;
	border: 2px solid #d1d5db;
	border-radius: 10px;
	background: #ffffff;
	color: #111827;
	padding: 0 52px 0 20px;
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.auth-modal.profile-page-mode .auth-profile-select-arrow
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	right: 20px;
	color: #64748b;
	font-size: 42px;
	line-height: 1;
}

.global-account-menu-item
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	height: 56px;
	min-height: 56px;
	padding: 0 26px;
	border-bottom: 0;
}

/* 드롭다운 자동 밑줄 만드는 놈 */
.global-account-menu-item::after
{
	content: "";
	position: absolute;
	left: var(--account-dropdown-padding-x);
	right: var(--account-dropdown-padding-x);
	bottom: 0;
	height: 1px;
	background: var(--account-dropdown-line-color);
	pointer-events: none;
	display: none;
}

.global-account-menu-item:last-of-type::after
{
	display: none;
}

.
{
	display: block;
	height: 1px;
	margin: 0 var(--account-dropdown-padding-x);
	background: var(--account-dropdown-line-color);
}

.profile-incomplete-dot
{
	flex: 0 0 7px;
	align-self: center;
	margin-left: 4px;
	margin-top: 0;
	vertical-align: middle;
}

.auth-myinfo-list
{
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-top: 18px;
	border-top: 1px solid #e5e7eb;
	border-bottom: 1px solid #e5e7eb;
}

.auth-myinfo-row
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	border-bottom: 1px solid #eef2f6;
}

.auth-myinfo-row:last-child
{
	border-bottom: 0;
}

.auth-myinfo-row span
{
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5;
	color: #64748b;
	white-space: nowrap;
}

.auth-myinfo-row strong
{
	font-size: 14px;
	font-weight: 800;
	line-height: 1.5;
	color: #111827;
	text-align: right;
	word-break: keep-all;
}

.auth-myinfo-actions
{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 12px;
}

#brokerOfficeSearchInput
{
	padding-right: 64px;
}

.auth-profile-photo-field
{
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.auth-profile-photo-box
{
	display: flex;
	align-items: center;
	gap: 14px;
}

.auth-profile-photo-select-btn
{
	height: 44px;
	padding: 0 18px;
	border: 0;
	border-radius: 4px;
	background: #1B6FA4;
	color: #ffffff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: -0.1px;
	cursor: pointer;
}

.auth-profile-photo-hint
{
	font-size: 13px;
	font-weight: 700;
	line-height: 1.45;
	color: #64748b;
}

.auth-myinfo-photo-box
{
	display: flex;
	justify-content: center;
	margin-bottom: 4px;
}

/* ===== PATCH 1.928: profile edit + broker application card alignment ===== */
.auth-modal.profile-page-mode
{
	align-items: center;
	justify-content: center;
	padding: 0;
	background: #f8fafc;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	max-width: none;
	height: 100vh;
	max-height: 100vh;
	padding: 40px 24px 48px;
	background: #f8fafc;
	overflow-y: auto;
}

.auth-modal.profile-page-mode .auth-modal-close
{
	position: fixed;
	top: 24px;
	right: 28px;
	z-index: 2;
	color: #111827;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen,
.auth-modal.profile-page-mode .auth-myinfo-screen
{
	width: min(500px, calc(100vw - 40px));
	margin-left: auto;
	margin-right: auto;
	padding: 36px 42px 42px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 18px;
	box-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title
{
	font-size: 30px;
	font-weight: 900;
	margin: 0 0 14px;
	letter-spacing: -0.8px;
	color: #111827;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-divider,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-divider
{
	width: 48px;
	height: 4px;
	margin: 0 0 28px;
	border-radius: 999px;
	background: #1B6FA4;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
{
	gap: 16px;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-guide
{
	margin: 0 0 4px;
	padding: 14px 16px;
	border: 1px solid #e5e7eb;
	border-radius: 12px;
	background: #f8fafc;
	color: #475569;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.55;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field
{
	align-items: center;
	gap: 8px;
	padding: 16px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #ffffff;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field .auth-modal-field-label
{
	align-self: flex-start;
	margin-bottom: 2px;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-box
{
	justify-content: center;
	width: 100%;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field-label,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent strong
{
	font-size: 14px;
	font-weight: 800;
	color: #334155;
	letter-spacing: -0.15px;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-select-wrap select
{
	height: 54px;
	border: 1px solid #dbe3ec;
	border-radius: 12px;
	background: #f8fafc;
	color: #111827;
	font-size: 16px;
	font-weight: 800;
	padding: 0 16px;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input:focus,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-select-wrap select:focus
{
	border-color: #1B6FA4;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(27, 111, 164, 0.10);
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit
{
	height: 50px;
	margin-top: 8px;
	border-radius: 8px;
	background: #1B6FA4;
	color: #ffffff;
	letter-spacing: 0;
	font-size: 17px;
	box-shadow: 0 10px 22px rgba(27, 111, 164, 0.22);
}

/* ===== PATCH 1.929: profile card close + guide hanging indent ===== */
.auth-modal.profile-page-mode > .auth-modal-dialog > .auth-modal-close
{
	display: none;
}

.auth-card-close
{
	position: absolute;
	top: 18px;
	right: 18px;
	width: 38px;
	height: 38px;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #64748b;
	font-size: 30px;
	font-weight: 500;
	line-height: 1;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
}

.auth-card-close:hover
{
	background: #f1f5f9;
	color: #111827;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title
{
	padding-right: 44px;
}

/* PATCH: 숫자 폰트 Pretendard 통일 */
html, body
{
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1, "lnum" 1;
}

/* PATCH: 하단 매물 종류 체크박스 드롭다운 */
.type-filter-dropdown
{
	position: relative;
	flex: 0 0 auto;
}

.type-filter-menu
{
	min-width: 220px;
	max-height: min(620px, calc(100vh - 96px));
	overflow-y: auto;
}

.type-filter-dropdown.open .type-filter-menu
{
	display: flex;
}

.type-filter-dropdown.has-active .type-filter-trigger
{
	color: #2563eb;
	border-color: #bfdbfe;
	background: #eff6ff;
}

.type-filter-dropdown.open .type-filter-trigger i
{
	transform: rotate(180deg);
}

.type-filter-option input
{
	width: 16px;
	height: 16px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
	flex: 0 0 auto;
}

.type-filter-option span
{
	line-height: 1.2;
}

/* PATCH: 하단바 주소 검색 */
.sub-address-search
{
	position: relative;
	flex: 0 0 auto;
	width: 278px;
	max-width: 278px;
	z-index: 90;
}

.sub-address-search-form
{
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	height: 38px;
	border: 0.8px solid #dbe4ee;
	background: #fff;
	color: #111827;
	box-shadow: none;
}

.sub-address-search-form:focus-within
{
	border-color: #bfdbfe;
	box-shadow: 0 0 0 3px rgba(37,99,235,0.10);
}

.sub-address-search-icon
{
	width: 38px;
	height: 38px;
	border: 0;
	background: transparent;
	color: #475569;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 15px;
	cursor: pointer;
	flex: 0 0 auto;
}

.sub-address-search-input
{
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	border: 0;
	outline: 0;
	background: transparent;
	padding: 0 12px 0 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.25px;
	font-family: var(--font-ui);
}

.sub-address-search-input::placeholder
{
	color: #9ca3af;
	font-weight: 700;
}

.sub-address-search-status
{
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	min-width: 100%;
	max-width: 340px;
	padding: 10px 12px;
	border: 1px solid #e5e7eb;
	background: rgba(255,255,255,0.98);
	box-shadow: 0 12px 28px rgba(15,41,66,0.14);
	color: #475569;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.15px;
	display: none;
	z-index: 9999;
	white-space: nowrap;
}

.sub-address-search-status.show
{
	display: block;
}

.sub-address-search-status.error
{
	color: #dc2626;
}

@media (max-width: 980px)
{
	.sub-address-search
	{
		width: 210px;
		max-width: 210px;
	}

	.sub-address-search-input
	{
		font-size: 14px;
	}
}

/* PATCH 2.551 ABSOLUTE FINAL: 내 정보/수정/중개사무소/중개사무소 수정은 모두 같은 독립 페이지 세트 */
body.profile-edit-page-open #authModal,
body.broker-office-info-page-open #authModal,
body.broker-office-edit-page-open #authModal,
body.myinfo-page-open #authProfileSetupScreen,
body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

/* PATCH 2.551: 내 정보 화면을 로그인 페이지와 같은 단순 박스 디자인으로 정리 */
body.myinfo-page-open #myInfoPagePanel
{
	background: #ffffff;
	padding: var(--topbar-sub-height) 24px 56px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 34px 40px 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title
{
	margin: 0 0 12px;
	color: #111827;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.3px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc
{
	margin: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head::after
{
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 14px 0 24px;
	background: #d1d5db;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card
{
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 40px 40px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-photo-box
{
	width: 78px;
	height: 78px;
	margin: 0 0 22px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #f8fafc;
	box-shadow: none;
	overflow: hidden;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label
{
	margin: 0;
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.05px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value
{
	width: 100%;
	min-width: 0;
	min-height: 44px;
	height: auto;
	margin: 0;
	padding: 11px 14px;
	background: #ffffff;
	border: 1px solid #d1d5db;
	border-radius: 0;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
	margin: 26px 0 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary
{
	height: 46px;
	min-height: 46px;
	margin: 0;
	border-radius: 0;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary
{
	border: 0;
	background: #2563eb;
	color: #ffffff;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 30px auto 0;
	padding: 12px 0 0;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
}

@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel
	{
		padding: var(--topbar-sub-height) 16px 40px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
	body.myinfo-page-open #myInfoPagePanel .myinfo-company-info
	{
		width: 100%;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-head
	{
		padding: 28px 22px 0;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-card
	{
		padding: 0 22px 32px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px 0;
	}
}

body.myinfo-page-open .sub-topbar,
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.myinfo-page-open .map-filter-bar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .map-wrap,
body.profile-edit-page-open .map-wrap,
body.broker-office-info-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.myinfo-page-open #map,
body.profile-edit-page-open #map,
body.broker-office-info-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open #myInfoPagePanel,
body.profile-edit-page-open #profileEditPagePanel,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	visibility: visible;
	width: 100vw;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 70px 48px 8px;
	background: #f7f8fa;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel[aria-hidden="true"],
body.profile-edit-page-open #profileEditPagePanel[aria-hidden="true"],
body.broker-office-info-page-open #brokerOfficeInfoPagePanel[aria-hidden="true"],
body.broker-office-edit-page-open #brokerOfficeEditPagePanel[aria-hidden="true"]
{
	display: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-inner,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-inner,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-inner
{
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head
{
	margin-top: 0;
	margin-bottom: 26px;
	padding: 0;
	text-align: left;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-title,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-title,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-title
{
	margin: 0;
	padding: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-desc,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-desc,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-desc
{
	margin: 7px 0 0;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	display: grid;
	gap: 0;
	margin-top: 0;
	padding: 26px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-label,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-label,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value,
body.profile-edit-page-open #profileEditPagePanel .profile-suite-input,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .profile-suite-input
{
	width: 100%;
	min-width: 0;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-row
{
	min-height: 102px;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-control
{
	display: flex;
	align-items: center;
	gap: 14px;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo-box
{
	width: 76px;
	height: 76px;
	margin: 0;
	border-radius: 999px;
	overflow: hidden;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-btn
{
	height: 38px;
	padding: 0 18px;
	background: #fff;
	border: 1px solid #dbe3ec;
	border-radius: 8px;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
	box-shadow: none;
	cursor: pointer;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-consent
{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-actions,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-actions,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
	width: 100%;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-primary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-secondary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-primary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-secondary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-primary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-secondary
{
	width: 100%;
	height: 52px;
	min-height: 52px;
	margin: 0;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info
{
	display: block;
	visibility: visible;
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 450;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info::before,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info::before,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info::before,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: -35px;
	width: 100vw;
	height: 0.8px;
	transform: translateX(-50%);
	background: #e5e7eb;
	pointer-events: none;
	box-shadow: none;
}

.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-tab-btn,
.payment-page-panel .payment-select-btn,
.payment-page-panel .payment-plan-btn
{
	box-shadow: none;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current)
{
	border: 1px solid #2563eb;
	box-shadow: none;
}

/* PATCH 2.551: 좌측 매물 카드 제목은 한 줄 말줄임 유지 */
.card-title
{
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-line-clamp: 1;
	font-size: 13.5px;
	line-height: 1.35;
	font-weight: 700;
	letter-spacing: -0.08px;
	color: #273244;
}

/* PATCH 2.551: 좌측 카드 정보 위계 정리 */
.card-address,
.card-spec
{
	font-size: 13px;
	line-height: 1.4;
	color: #5f6673;
}


/* PATCH 2.947: 좌측 매물 카드 제목 문구 색상 보강 */
.card-address
{
	color: #020617;
}

/* PATCH 2.979: 좌측 매물 카드 제목 문구 가독성 보강 */
.property-list .card-address,
.card .card-address
{
	color: #5f6673 !important;
	font-weight: 420;
}
@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel,
	body.profile-edit-page-open #profileEditPagePanel,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel
	{
		padding: 50px 16px 50px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

/* PATCH 2.551: 왼쪽 매물 사진 곡률 유지 */
.property-list .thumb
{
	border-radius: 0;
}

.property-list .thumb.thumb-empty
{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f1f5f9;
	border: 1px solid #e2e8f0;
	color: #64748b;
}

.property-list .thumb-empty-text
{
	font-size: 13px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

.property-list .favorite-heart-btn
{
	position: absolute;
	top: 5px;
	right: 5px;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	line-height: 1;
	cursor: pointer;
	box-shadow: none;
}

.property-list .favorite-heart-icon
{
	display: block;
	width: 22px;
	height: 22px;
	fill: transparent;
	stroke: #ffffff;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 1px 2px rgba(15, 23, 42, 0.42));
}

.property-list .favorite-heart-btn:hover
{
	background: transparent;
}

.property-list .favorite-heart-btn:hover .favorite-heart-icon
{
	stroke-width: 2;
	filter: drop-shadow(0 1px 3px rgba(15, 23, 42, 0.55));
}

.property-list .favorite-heart-btn.active .favorite-heart-icon
{
	fill: #EF4444;
	stroke: #ffffff;
	stroke-width: 1.6;
	filter: drop-shadow(0 1px 3px rgba(15, 23, 42, 0.45));
}

.my-suite-content.my-suite-favorites-content
{
	width: 100%;
	max-width: 100%;
	min-height: 260px;
	margin: 72px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

.my-suite-favorites-filterbar
{
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0 0 16px;
}

.my-suite-favorites-shell
{
	width: 100%;
	margin: 0;
	--broker-list-front-gap: 33px;
	--broker-list-area-price-gap: 20px;
	--broker-list-price-edit-gap: 12px;
	--broker-list-button-gap: 0px;
	--broker-list-edit-col: 0px;
	--broker-list-copy-col: 0px;
	--broker-list-menu-col: 34px;
}

.my-suite-favorites-list .broker-listing-head,
.my-suite-favorites-list .broker-listing-row
{
	grid-template-columns: var(--broker-list-photo-col) 36px var(--broker-list-type-col) var(--broker-list-front-gap) var(--broker-list-status-col) var(--broker-list-front-gap) var(--broker-list-date-col) var(--broker-list-front-gap) var(--broker-list-no-col) var(--broker-list-front-gap) minmax(300px, 1fr) var(--broker-list-title-area-gap) var(--broker-list-area-col) var(--broker-list-area-price-gap) var(--broker-list-price-col) var(--broker-list-price-edit-gap) var(--broker-list-menu-col);
}

.my-suite-favorites-empty-row
{
	grid-column: 1 / -1;
	min-height: 160px;
	margin: 0;
	border: 1px solid #e5e7eb;
	border-top: 0;
	background: #ffffff;
}

.my-suite-favorites-list .broker-listing-row
{
	cursor: default;
}

.my-suite-favorites-list .broker-listing-menu-item
{
	font-family: var(--font-ui);
	font-size: 14px;
	font-weight: 400;
	font-variant-numeric: normal;
	letter-spacing: 0;
	white-space: nowrap;
}

.my-suite-favorites-list .broker-listing-head > div:nth-child(2),
.my-suite-favorites-list .broker-listing-row > .broker-listing-type,
.my-suite-favorites-list .broker-listing-head > div:nth-child(3),
.my-suite-favorites-list .broker-listing-row > .broker-listing-cell:nth-child(3),
.my-suite-favorites-list .broker-listing-head > div:nth-child(4),
.my-suite-favorites-list .broker-listing-row > .broker-listing-meta,
.my-suite-favorites-list .broker-listing-head > div:nth-child(5),
.my-suite-favorites-list .broker-listing-row > .broker-listing-no
{
	justify-content: center;
	text-align: center;
}

.my-suite-favorites-list .broker-listing-head > div:nth-child(9),
.my-suite-favorites-list .broker-listing-head > div:nth-child(10),
.my-suite-favorites-list .broker-listing-row > div:nth-child(9),
.my-suite-favorites-list .broker-listing-row > div:nth-child(10)
{
	display: none;
}

.my-suite-favorites-list .broker-listing-head > div:nth-child(11),
.my-suite-favorites-list .broker-listing-row > div:nth-child(11)
{
	grid-column: 17;
	justify-content: center;
	text-align: center;
}

.broker-listing-status
{
	white-space: nowrap;
	word-break: keep-all;
}

body.broker-home-page-open .broker-listing-head > div:nth-child(3)
{
	text-align: center;
}

body.broker-home-page-open .broker-listing-head > div:nth-child(2)
{
	text-align: center;
}

body.broker-home-page-open .broker-listing-row > .broker-listing-cell:nth-child(3)
{
	justify-content: center;
	text-align: center;
}

body.broker-home-page-open .broker-listing-row > .broker-listing-cell:nth-child(3) .broker-listing-status
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	white-space: nowrap;
	word-break: keep-all;
}

body.broker-home-page-open .broker-listing-head > div:nth-child(5),
body.broker-home-page-open .broker-listing-row > .broker-listing-no,
body.broker-home-page-open .broker-listing-head > div:nth-child(11),
body.broker-home-page-open .broker-listing-row > .broker-listing-menu-cell
{
	justify-content: center;
	text-align: center;
}

body.broker-home-page-open .broker-listing-head > div:nth-child(4),
body.broker-home-page-open .broker-listing-row > .broker-listing-meta
{
	justify-content: center;
	text-align: center;
}

.my-suite-favorites-list .broker-listing-menu-btn,
body.broker-home-page-open .broker-listing-menu-btn
{
	margin-left: auto;
	margin-right: auto;
}

/* PATCH 3.127: 중개사 홈 목록 컬럼 합계가 컨테이너 폭에 맞춰 줄어들게 보정 */
body.broker-home-page-open #brokerListingsList
{
	--broker-list-status-col: 52px;
	--broker-list-title-area-gap: 12px;
	--broker-list-area-price-gap: 20px;
	--broker-list-price-edit-gap: 12px;
	--broker-list-button-gap: 6px;
	--broker-list-copy-col: 96px;
}

body.broker-home-page-open #brokerListingsList .broker-listing-head,
body.broker-home-page-open #brokerListingsList .broker-listing-row
{
	grid-template-columns: var(--broker-list-photo-col) 36px var(--broker-list-type-col) var(--broker-list-front-gap) var(--broker-list-status-col) var(--broker-list-front-gap) var(--broker-list-date-col) var(--broker-list-front-gap) var(--broker-list-no-col) var(--broker-list-front-gap) minmax(var(--broker-list-title-min, 300px), 1fr) var(--broker-list-title-area-gap) var(--broker-list-area-col) var(--broker-list-area-price-gap) var(--broker-list-price-col) var(--broker-list-price-edit-gap) var(--broker-list-edit-col) var(--broker-list-button-gap) var(--broker-list-copy-col) var(--broker-list-button-gap) var(--broker-list-menu-col);
	min-width: 0;
}

#detailAuthTrigger,
#detailAuthTrigger:hover,
#detailAuthTrigger:focus,
#detailAuthTrigger:focus-visible,
#detailAuthTrigger:active,
#detailAuthTrigger.account-open,
.global-topbar-right #detailAuthTrigger,
.global-topbar-right #detailAuthTrigger:hover,
.global-topbar-right #detailAuthTrigger:focus,
.global-topbar-right #detailAuthTrigger:focus-visible,
.global-topbar-right #detailAuthTrigger:active
{
	border: 0;
	outline: 0;
	box-shadow: none;
}

/* PATCH 2.828: 오른쪽 상세 패널 정보 섹션 상하 여백 통일 */
#sidebarDetailPanel .detail-content
{
	padding: 0;
	background: #ffffff;
}

#sidebarDetailPanel .detail-summary-block
{
	margin-bottom: var(--rj-detail-card-margin-x);
	border-bottom: 1px solid #eef2f6;
}

#sidebarDetailPanel .detail-meta-grid
{
	display: none;
	margin: 0 var(--rj-detail-card-margin-x) var(--rj-detail-card-gap-y);
	border: 1px solid #e6edf5;
	border-radius: 0;
	border-bottom: 1px solid #e6edf5;
	background: #ffffff;
	overflow: hidden;
}

#sidebarDetailPanel .detail-meta-item
{
	padding: var(--rj-detail-card-padding-top) var(--rj-detail-card-padding-right) var(--rj-detail-card-padding-bottom) var(--rj-detail-card-padding-left);
	border-right: 1px solid #eef2f6;
}

#sidebarDetailPanel .detail-meta-item:last-child
{
	border-right: 0;
}

#sidebarDetailPanel .detail-info-sections
{
	display: flex;
	flex-direction: column;
	gap: var(--rj-detail-card-gap-y);
	margin: 0 var(--rj-detail-card-margin-x) var(--rj-detail-card-gap-y);
	background: transparent;
}

#sidebarDetailPanel .detail-info-section
{
	border: 1px solid #e6edf5;
	border-radius: 0;
	border-bottom: 1px solid #e6edf5;
	margin: 0;
	padding: var(--rj-detail-card-padding-top) var(--rj-detail-card-padding-right) var(--rj-detail-card-padding-bottom) var(--rj-detail-card-padding-left);
	background: #ffffff;
}

#sidebarDetailPanel .detail-info-section-title
{
	margin: 0 0 var(--rj-detail-title-gap-bottom);
	color: #111827;
	font-size: var(--rj-detail-title-font-size);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: var(--rj-detail-title-letter-spacing);
}

#sidebarDetailPanel .detail-info-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) max-content;
	align-items: center;
	gap: 24px;
	min-height: var(--rj-detail-row-min-height);
	padding: var(--rj-detail-row-padding-y) var(--rj-detail-row-padding-x);
	border-bottom: 1px solid #eef2f6;
}

#sidebarDetailPanel .detail-info-row:last-child
{
	border-bottom: 0;
	padding-bottom: 0;
}

#sidebarDetailPanel .detail-info-label
{
	color: #475569;
	font-size: var(--rj-detail-content-font-size);
	font-weight: 750;
	line-height: 1.45;
	letter-spacing: var(--rj-detail-content-letter-spacing);
}

#sidebarDetailPanel .detail-info-value
{
	color: #334155;
	font-size: var(--rj-detail-content-font-size);
	font-weight: 450;
	line-height: 1.45;
	letter-spacing: var(--rj-detail-content-letter-spacing);
	text-align: right;
	white-space: pre-line;
}

#sidebarDetailPanel .detail-location-card
{
	margin: 0 var(--rj-detail-card-margin-x) var(--rj-detail-card-gap-y);
	padding: var(--rj-detail-card-padding-top) var(--rj-detail-card-padding-right) var(--rj-detail-card-padding-right) var(--rj-detail-card-padding-left);
	border: 1px solid #e6edf5;
	border-radius: 0;
	background: #ffffff;
}

#sidebarDetailPanel .detail-location-map
{
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	box-sizing: border-box;
	border: 1px solid #d8dee8;
	background: #f8fafc;
	overflow: hidden;
}

/* PATCH 2.820: 면적 전환 버튼 애니메이션 제거 */
.area-toggle-btn,
.area-type-toggle-btn,
.broker-listing-area-toggle,
.broker-listing-area-toggle-icon,
.area-type-toggle-btn i
{
	transition: none;
	animation: none;
}

.area-type-toggle-btn:hover i,
.broker-listing-area-toggle:hover .broker-listing-area-toggle-icon
{
	transform: none;
}

/* PATCH 2.825: 오른쪽 상세 패널을 왼쪽 패널에서 떨어진 플로팅 형태로 변경 */
.sidebar
{
	height: 100%;
}

.sidebar-detail-panel
{
	position: absolute;
	top: var(--rj-detail-panel-edge);
	bottom: var(--rj-detail-panel-edge);
	left: calc(var(--sidebar-list-width) + var(--rj-detail-panel-gap));
	z-index: 180;
	width: var(--rj-detail-panel-width);
	max-width: calc(100vw - var(--sidebar-list-width) - var(--rj-detail-panel-right-safe));
	height: auto;
	background: #ffffff;
	border: 1px solid #e1e7ef;
	border-left-width: 0.5px;
	border-left-color: rgba(226, 232, 240, 0.55);
	border-radius: 0;
	box-shadow: 0 18px 34px rgba(15, 23, 42, 0.16);
	overflow: hidden;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: none;
}

.sidebar.expanded .sidebar-detail-panel
{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.map-panel-toggle
{
	position: fixed;
	top: 50%;
	left: var(--sidebar-list-width);
	z-index: 230;
	display: none;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 54px;
	padding: 0;
	border: 1px solid #d8e1ec;
	border-left: 0;
	border-radius: 0 8px 8px 0;
	background: rgba(255, 255, 255, 0.98);
	color: #64748b;
	font-size: 14px;
	line-height: 1;
	box-shadow: none;
	cursor: pointer;
	transform: translate(-1px, -50%);
	transition: left .24s ease, color .16s ease, background-color .16s ease;
}

.map-panel-toggle i
{
	pointer-events: none;
	transition: transform .18s ease;
}

.map-panel-toggle:hover,
.map-panel-toggle:focus,
.map-panel-toggle:active
{
	outline: 0;
	box-shadow: none;
	transform: translate(-1px, -50%);
}

body.map-detail-panel-active:not(.map-panels-collapsed) .map-panel-toggle
{
	display: inline-flex;
	left: calc(var(--sidebar-list-width) + var(--rj-detail-panel-gap) + var(--rj-detail-panel-width));
}

body.map-panels-collapsed .sidebar
{
	transform: translateX(calc(-1 * (var(--sidebar-list-width) + var(--rj-detail-panel-gap) + var(--rj-detail-panel-width) + 28px)));
	pointer-events: none;
}

body.map-panels-collapsed .map-panel-toggle
{
	display: inline-flex;
	left: 0;
}

body.map-panels-collapsed .map-panel-toggle i
{
	transform: rotate(180deg);
}

body.sidebar-list-collapsed:not(.map-panels-collapsed) .map-panel-toggle,
body.property-register-page-open .map-panel-toggle,
body.my-suite-page-open .map-panel-toggle,
body.admin-page-open .map-panel-toggle,
body.broker-home-page-open .map-panel-toggle,
body.notice-page-open .map-panel-toggle,
body.payment-page-open .map-panel-toggle,
body.auth-page-open .map-panel-toggle
{
	display: none;
}

.sidebar-detail-panel .detail-panel-inner
{
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	min-height: 0;
}

.sidebar-detail-panel .detail-scroll
{
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding-bottom: 0;
}

#sidebarDetailPanel .detail-topbar
{
	position: relative;
	z-index: 80;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	min-height: 50px;
	padding: 0 12px 0 var(--rj-detail-card-margin-x);
	background: rgba(255, 255, 255, 0.98);
	border-bottom: 1px solid #eef2f6;
	overflow: visible;
}

.sidebar-detail-panel .detail-topbar-id
{
	min-width: 0;
	flex: 1 1 auto;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 400;
	text-align: left;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding: 0;
}

#sidebarDetailPanel .detail-top-actions
{
	position: static;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 2px;
	margin-left: auto;
	flex: 0 0 66px;
	width: 66px;
	min-width: 66px;
}

#sidebarDetailPanel .detail-icon-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 32px;
	min-width: 32px;
	height: 36px;
	flex: 0 0 32px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #858d99;
	font-size: 18px;
	line-height: 1;
	box-shadow: none;
	cursor: pointer;
}

#sidebarDetailPanel #detailShareBtn,
#sidebarDetailPanel #detailCloseBtn
{
	display: inline-flex;
	visibility: visible;
	opacity: 1;
	pointer-events: auto;
}

#sidebarDetailPanel .detail-icon-btn i
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	font-size: 16px;
	line-height: 1;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	transform: none;
	-webkit-text-stroke: 0.58px #ffffff;
	text-shadow: none;
}

#sidebarDetailPanel #detailShareBtn i
{
	font-size: 18px;
	transform: translate(1px, 0);
}

#sidebarDetailPanel #detailCloseBtn i
{
	font-size: 22px;
	transform: translate(1px, 0);
}

#sidebarDetailPanel #detailShareBtn::before,
#sidebarDetailPanel #detailShareBtn::after
{
	content: none;
}

#sidebarDetailPanel #detailCloseBtn::before,
#sidebarDetailPanel #detailCloseBtn::after
{
	content: none;
}

#sidebarDetailPanel .detail-icon-btn:hover
{
	color: #475569;
	background: transparent;
}

#sidebarDetailPanel .detail-close-btn
{
	position: static;
	transform: none;
}

#sidebarDetailPanel .detail-share-menu
{
	position: absolute;
	top: calc(100% + 14px);
	left: auto;
	right: 14px;
	z-index: 90;
	min-width: 0;
}

.sidebar-detail-panel .detail-summary-block
{
	border-bottom-color: #eef2f6;
	text-align: left;
	box-sizing: border-box;
}

.sidebar-detail-panel .detail-summary-price-row,
.sidebar-detail-panel .detail-summary-price
{
	width: 100%;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
	text-align: left;
	align-items: flex-start;
	color: #0b1220;
	font-weight: 760;
}

#sidebarDetailPanel .detail-summary-price
{
	font-size: 28px;
	font-weight: 760;
	letter-spacing: -0.85px;
	line-height: 1.08;
}

#sidebarDetailPanel .detail-title
{
	display: block;
	width: 100%;
	margin: 8px 0 4px;
	padding: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 650;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: left;
	word-break: keep-all;
}

#sidebarDetailPanel .detail-summary-address
{
	display: block;
	width: 100%;
	margin: 8px 0 0;
	padding: 0;
	color: #64748b;
	font-size: 13.5px;
	font-weight: 450;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: left;
	word-break: keep-all;
}

#sidebarDetailPanel .detail-desc-card,
#sidebarDetailPanel .detail-agent-card,
#sidebarDetailPanel .detail-similar-card,
#sidebarDetailPanel .detail-action-box
{
	margin: 0 var(--rj-detail-card-margin-x) var(--rj-detail-card-gap-y);
	padding: var(--rj-detail-card-padding-top) var(--rj-detail-card-padding-right) var(--rj-detail-card-padding-bottom) var(--rj-detail-card-padding-left);
	border: 1px solid #e6edf5;
	border-radius: 0;
	background: #ffffff;
}

#sidebarDetailPanel .detail-desc-card
{
	margin-top: 0;
}

#sidebarDetailPanel .detail-agent-card
{
	display: block;
	visibility: visible;
	opacity: 1;
	position: relative;
	z-index: 1;
	margin-bottom: var(--rj-detail-card-margin-x);
	padding-bottom: var(--rj-detail-card-padding-right);
	box-shadow: none;
}

#sidebarDetailPanel .detail-similar-card
{
	box-shadow: none;
	margin-bottom: var(--rj-detail-card-margin-x);
}

#sidebarDetailPanel .detail-panel-copy
{
	margin: 0 var(--rj-detail-card-margin-x);
	padding: 0 0 20px;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0;
}

#sidebarDetailPanel .detail-similar-title
{
	margin: 0 0 14px;
	color: #111827;
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

#sidebarDetailPanel .detail-similar-grid
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 14px;
}

#sidebarDetailPanel .detail-similar-item
{
	display: block;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	text-align: left;
	cursor: pointer;
}

#sidebarDetailPanel .detail-similar-thumb
{
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f1f5f9;
	border-radius: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #94a3b8;
	font-size: 12px;
	font-weight: 650;
}

#sidebarDetailPanel .detail-similar-thumb img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#sidebarDetailPanel .detail-similar-meta
{
	margin-top: 8px;
	color: #334155;
	font-size: 12.5px;
	font-weight: 450;
	line-height: 1.35;
	letter-spacing: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#sidebarDetailPanel .detail-similar-price
{
	margin-top: 3px;
	color: #111827;
	font-size: 14px;
	font-weight: 760;
	line-height: 1.35;
	letter-spacing: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

#sidebarDetailPanel .detail-action-box
{
	display: none;
	visibility: hidden;
	opacity: 0;
}

#sidebarDetailPanel .detail-agent-cta-row
{
	display: flex;
	visibility: visible;
	opacity: 1;
	gap: 8px;
	justify-content: flex-start;
	margin-top: 14px;
	width: 100%;
	flex-wrap: nowrap;
}

#sidebarDetailPanel .detail-phone
{
	display: none;
}

#sidebarDetailPanel .detail-desc-title,
#sidebarDetailPanel .detail-agent-section-title
{
	margin: 0 0 var(--rj-detail-title-gap-bottom);
	padding: var(--rj-detail-title-padding-y) var(--rj-detail-title-padding-x);
	color: #111827;
	font-size: var(--rj-detail-title-font-size);
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: var(--rj-detail-title-letter-spacing);
}

#sidebarDetailPanel .detail-desc
{
	margin: 0;
	border-bottom: 0;
	color: #334155;
	font-size: var(--rj-detail-content-font-size);
	font-weight: 450;
	line-height: 1.72;
	letter-spacing: var(--rj-detail-content-letter-spacing);
	min-height: var(--rj-detail-row-min-height);
	padding: var(--rj-detail-row-padding-y) 0 0;
	text-decoration: none;
	white-space: pre-line;
}

#sidebarDetailPanel .detail-agent-top
{
	display: flex;
	align-items: flex-start;
	gap: 20px;
}

#sidebarDetailPanel .detail-agent-avatar
{
	flex: 0 0 60px;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	background: #f1f5f9;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

#sidebarDetailPanel .detail-agent-avatar img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

#sidebarDetailPanel .detail-agent-main
{
	min-width: 0;
	flex: 1 1 auto;
}

#sidebarDetailPanel .detail-agent-name-row
{
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 4px;
}

#sidebarDetailPanel .detail-agent-name
{
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
}

#sidebarDetailPanel .detail-agent-title,
#sidebarDetailPanel .detail-agent-office,
#sidebarDetailPanel .detail-agent-phone-inline,
#sidebarDetailPanel .detail-agent-address,
#sidebarDetailPanel .detail-agent-regno
{
	color: #64748b;
	font-size: 13px;
	font-weight: 450;
	line-height: 1.25;
	letter-spacing: 0;
}

#sidebarDetailPanel .detail-actions
{
	display: none;
	visibility: hidden;
	opacity: 0;
}

#sidebarDetailPanel .detail-agent-cta-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	flex: 0 0 auto;
	min-width: 0;
	height: 34px;
	padding: 0 11px;
	border: 1px solid #bfd4ff;
	border-radius: 999px;
	background: #ffffff;
	color: #2563eb;
	font-size: 12.5px;
	font-weight: 750;
	letter-spacing: 0;
	white-space: nowrap;
	box-shadow: none;
	transition: none;
	transform: none;
}

#sidebarDetailPanel .detail-agent-cta-btn.kakao
{
	background: #FEE500;
	color: #191919;
	border-color: #FEE500;
}

#sidebarDetailPanel .detail-agent-cta-btn.phone
{
	background: #ffffff;
	color: #111827;
	border-color: #e5e7eb;
}

#sidebarDetailPanel .detail-agent-cta-btn i
{
	color: #2563eb;
	font-size: 13px;
	line-height: 1;
}

#sidebarDetailPanel .detail-agent-cta-btn.kakao i
{
	color: #191919;
}

#sidebarDetailPanel .detail-agent-cta-btn.phone i
{
	color: #111827;
}

#sidebarDetailPanel .detail-agent-cta-btn:hover,
#sidebarDetailPanel .detail-agent-cta-btn:focus,
#sidebarDetailPanel .detail-agent-cta-btn:focus-visible,
#sidebarDetailPanel .detail-agent-cta-btn:active
{
	background: #ffffff;
	color: #2563eb;
	box-shadow: none;
	transform: none;
}

#sidebarDetailPanel .detail-agent-cta-btn.kakao:hover,
#sidebarDetailPanel .detail-agent-cta-btn.kakao:focus,
#sidebarDetailPanel .detail-agent-cta-btn.kakao:focus-visible,
#sidebarDetailPanel .detail-agent-cta-btn.kakao:active
{
	background: #FEE500;
	color: #191919;
	transform: none;
}

#sidebarDetailPanel .detail-agent-cta-btn.phone:hover,
#sidebarDetailPanel .detail-agent-cta-btn.phone:focus,
#sidebarDetailPanel .detail-agent-cta-btn.phone:focus-visible,
#sidebarDetailPanel .detail-agent-cta-btn.phone:active
{
	background: #ffffff;
	color: #111827;
	transform: none;
}

#sidebarDetailPanel .detail-action-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	flex: 1 1 0;
	height: 42px;
	border-radius: 0;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 900px)
{
	.sidebar-detail-panel
	{
		left: 12px;
		right: 12px;
		width: auto;
		max-width: none;
	}
}

/* PATCH 2.551: 왼쪽/오른쪽 매물 유형 뱃지 곡률 통일 */
.property-list .card-badge,
.property-list .card-deal
{
	border-radius: 999px;
}

/* PATCH 2.551 FINAL: 내 정보 화면을 로그인 페이지 박스 디자인으로 최종 고정 */
body.myinfo-page-open #myInfoPagePanel
{
	background: #ffffff;
	padding: var(--topbar-sub-height) 24px 56px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 0 auto;
	padding: 0;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 34px 40px 0;
	background: transparent;
	border: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title
{
	margin: 0 0 12px;
	color: #111827;
	font-size: 24px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.3px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc
{
	margin: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head::after
{
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin: 14px 0 24px;
	background: #d1d5db;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card
{
	display: grid;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0 40px 40px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-photo-box
{
	width: 78px;
	height: 78px;
	margin: 0 0 22px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #f8fafc;
	box-shadow: none;
	overflow: hidden;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 56px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label
{
	margin: 0;
	color: #4b5563;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -0.05px;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value
{
	display: block;
	width: 100%;
	min-width: 0;
	min-height: 44px;
	height: auto;
	margin: 0;
	padding: 11px 14px;
	background: #ffffff;
	border: 1px solid #d1d5db;
	border-radius: 4px;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
	box-shadow: none;
	box-sizing: border-box;
	overflow-wrap: anywhere;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	width: 100%;
	margin: 26px 0 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary
{
	height: 46px;
	min-height: 46px;
	margin: 0;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary
{
	border: 0;
	background: #2563eb;
	color: #ffffff;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info
{
	width: min(600px, calc(100vw - 48px));
	max-width: none;
	margin: 30px auto 0;
	padding: 12px 0 0;
	border-top: 1px solid #e5e7eb;
	color: #6b7280;
}

@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel
	{
		padding: var(--topbar-sub-height) 16px 40px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
	body.myinfo-page-open #myInfoPagePanel .myinfo-company-info
	{
		width: 100%;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-head
	{
		padding: 28px 22px 0;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-card
	{
		padding: 0 22px 32px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 12px 0;
	}
}

/* PATCH 2.551: 프로필 세트는 현재 body 상태의 단일 패널만 표시 */
body.myinfo-page-open #profileEditPagePanel,
body.myinfo-page-open #brokerOfficeInfoPagePanel,
body.myinfo-page-open #brokerOfficeEditPagePanel,
body.profile-edit-page-open #myInfoPagePanel,
body.profile-edit-page-open #brokerOfficeInfoPagePanel,
body.profile-edit-page-open #brokerOfficeEditPagePanel,
body.broker-office-info-page-open #myInfoPagePanel,
body.broker-office-info-page-open #profileEditPagePanel,
body.broker-office-info-page-open #brokerOfficeEditPagePanel,
body.broker-office-edit-page-open #myInfoPagePanel,
body.broker-office-edit-page-open #profileEditPagePanel,
body.broker-office-edit-page-open #brokerOfficeInfoPagePanel
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open #myInfoPagePanel,
body.profile-edit-page-open #profileEditPagePanel,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel
{
	display: block;
	visibility: visible;
	pointer-events: auto;
}

/* PATCH 2.551: 이용권 현재 플랜 파란선은 실제 1px 선만 남긴다 */
.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-current-card,
.payment-page-panel .payment-plan-btn,
.payment-page-panel .payment-select-btn
{
	box-shadow: none;
	outline: 0;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current),
.payment-page-panel .payment-plan-card.is-current,
.payment-page-panel .payment-plan-card.is-selected,
.payment-page-panel .payment-current-card
{
	border: 1px solid #2563eb;
	outline: 0;
	box-shadow: none;
}

/* PATCH 2.551: 내정보 4개 화면은 독립 페이지 패널 하나의 폭 계산법만 사용 */
body.myinfo-page-open .myinfo-page-panel,
body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	width: 100vw;
	min-width: 100vw;
	max-width: none;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 70px 48px 8px;
	background: #f7f8fa;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	transform: none;
}

body.profile-edit-page-open #authModal,
body.broker-office-info-page-open #authModal,
body.broker-office-edit-page-open #authModal
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .myinfo-page-inner,
body.profile-edit-page-open #authProfileSetupScreen::before,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen::before,
body.broker-office-edit-page-open #authBrokerOfficeScreen::before
{
	content: "";
	display: block;
	width: 1080px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-page-head,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading
{
	width: 600px;
	max-width: 100%;
	margin: 0 auto 26px;
	padding: 0;
	box-sizing: border-box;
	transform: none;
	text-align: left;
}

body.myinfo-page-open .myinfo-page-card,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-form
{
	width: 600px;
	max-width: 100%;
	min-width: 0;
	margin: 0 auto;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
	transform: none;
}

body.myinfo-page-open .myinfo-company-info,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .broker-office-info-page-footer,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info
{
	width: 1080px;
	max-width: 100%;
	margin: 34px auto 0;
	padding: 4px 0 0;
	box-sizing: border-box;
}

body.myinfo-page-open .sub-topbar,
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.myinfo-page-open .map-filter-bar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

@media (max-width: 720px)
{
	body.myinfo-page-open .myinfo-page-panel,
	body.profile-edit-page-open #authProfileSetupScreen,
	body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
	body.broker-office-edit-page-open #authBrokerOfficeScreen
	{
		padding: 32px 16px 32px;
	}

	body.myinfo-page-open .myinfo-page-card,
	body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form,
	body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form,
	body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-form
	{
		width: 100%;
		padding: 18px;
	}
}

/* PATCH 2.551 FINAL: 내 정보 세트는 기존 모달을 재활용하지 않는 독립 페이지 4개만 사용 */
body.myinfo-page-open #authProfileSetupScreen,
body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen,
body.profile-edit-page-open #authModal,
body.broker-office-info-page-open #authModal,
body.broker-office-edit-page-open #authModal
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .sub-topbar,
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.myinfo-page-open .map-filter-bar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .map-wrap,
body.profile-edit-page-open .map-wrap,
body.broker-office-info-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.myinfo-page-open #map,
body.profile-edit-page-open #map,
body.broker-office-info-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open #myInfoPagePanel,
body.profile-edit-page-open #profileEditPagePanel,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	visibility: visible;
	width: 100vw;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 70px 48px 8px;
	background: #f7f8fa;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel[aria-hidden="true"],
body.profile-edit-page-open #profileEditPagePanel[aria-hidden="true"],
body.broker-office-info-page-open #brokerOfficeInfoPagePanel[aria-hidden="true"],
body.broker-office-edit-page-open #brokerOfficeEditPagePanel[aria-hidden="true"]
{
	display: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-inner,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-inner,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-inner
{
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head
{
	margin-top: 0;
	margin-bottom: 26px;
	padding: 0;
	text-align: left;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-title,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-title,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-title
{
	margin: 0;
	padding: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-desc,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-desc,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-desc
{
	margin: 7px 0 0;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	display: grid;
	gap: 0;
	margin-top: 0;
	padding: 26px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-label,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-label,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value,
body.profile-edit-page-open #profileEditPagePanel .profile-suite-input,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .profile-suite-input
{
	width: 100%;
	min-width: 0;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #profileEditPagePanel select.profile-suite-input,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel select.profile-suite-input
{
	appearance: auto;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-row
{
	min-height: 102px;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-control
{
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 14px;
	min-width: 0;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo-box
{
	width: 76px;
	height: 76px;
	margin: 0;
	border-radius: 999px;
	overflow: hidden;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	box-sizing: border-box;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-btn
{
	height: 38px;
	padding: 0 18px;
	background: #fff;
	border: 1px solid #dbe3ec;
	border-radius: 8px;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
	box-shadow: none;
	cursor: pointer;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-consent
{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-actions,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-actions,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 26px;
	width: 100%;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-primary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-secondary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-primary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-secondary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-primary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-secondary
{
	width: 100%;
	height: 52px;
	min-height: 52px;
	margin: 0;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info
{
	display: block;
	visibility: visible;
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 450;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open .global-topbar-right .global-auth-trigger.profile-page-active,
body.profile-edit-page-open .global-topbar-right .global-auth-trigger.profile-page-active,
body.broker-office-info-page-open .global-topbar-right .global-auth-trigger.profile-page-active,
body.broker-office-edit-page-open .global-topbar-right .global-auth-trigger.profile-page-active
{
	color: #2563eb;
}

.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-tab-btn,
.payment-page-panel .payment-select-btn,
.payment-page-panel .payment-plan-btn
{
	box-shadow: none;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current)
{
	border: 1px solid #2563eb;
	box-shadow: none;
}

@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel,
	body.profile-edit-page-open #profileEditPagePanel,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel
	{
		padding: 32px 16px 32px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

.sub-topbar .extra-filter-dropdown,
.sub-topbar .deal-filter-dropdown,
.sub-topbar .type-filter-dropdown,
.sub-topbar .deal-method-filter-dropdown,
.sub-address-search
{
	margin-left: 0;
	position: relative;
	z-index: 330;
}

.sub-topbar .extra-filter-menu,
.sub-topbar .type-filter-menu,
.sub-topbar .deal-filter-menu,
.sub-topbar .deal-method-filter-menu
{
	z-index: 340;
}

.sub-address-search-form
{
	height: 38px;
	border-radius: 999px;
	border: 0.8px solid #dbe4ee;
	background: #fff;
	box-shadow: none;
	overflow: hidden;
}

.sub-address-search-form:focus-within
{
	border-color: #bfdbfe;
	background: #f8fbff;
	box-shadow: none;
}

.sub-address-search-icon
{
	width: 38px;
	height: 38px;
	color: #6b7785;
	font-weight: 500;
}

.sub-address-search-input
{
	font-family: var(--sub-filter-font-family);
	font-size: var(--sub-filter-font-size);
	font-weight: var(--sub-filter-font-weight);
	letter-spacing: var(--sub-filter-letter-spacing);
	color: var(--sub-filter-color);
}

.sub-address-search-input::placeholder
{
	font-weight: 500;
	color: #9ca3af;
}

.sub-topbar .extra-filter-trigger,
.sub-topbar .type-filter-trigger,
.sub-topbar .deal-filter-trigger,
.sub-topbar .deal-method-filter-trigger
{
	font-family: var(--subbar-menu-font-family);
	font-size: var(--subbar-menu-font-size);
	font-weight: var(--subbar-menu-font-weight);
	letter-spacing: var(--subbar-menu-letter-spacing);
	color: var(--subbar-menu-color);
}

.sub-topbar .extra-filter-option,
.sub-topbar .type-filter-option,
.sub-topbar .deal-filter-option,
.sub-topbar .deal-method-filter-option,
.sub-topbar .extra-filter-reset-btn
{
	font-family: var(--subbar-item-font-family);
	font-size: var(--subbar-item-font-size);
	font-weight: var(--subbar-item-font-weight);
	letter-spacing: var(--subbar-item-letter-spacing);
	color: var(--subbar-item-color);
}

/* ===== PATCH: 상단바 텍스트 디자인 단일 관리 ===== */
:root
{
	--topbar-text-font-family: var(--font-ui);
	--topbar-text-font-size: 16.5px;
	--topbar-text-font-weight: 750;
	--topbar-text-active-font-weight: 800;
	--topbar-text-color: #111827;
	--topbar-text-hover-color: #2563eb;
	--topbar-text-letter-spacing: -0.2px;
	--topbar-menu-gap: 40px;
	--topbar-profile-size: 28px;
	--topbar-profile-gap: 10px;
	--nav-font-family: var(--topbar-text-font-family);
	--nav-font-size: var(--topbar-text-font-size);
	--nav-font-weight: var(--topbar-text-font-weight);
	--nav-color: var(--topbar-text-color);
	--nav-active-color: var(--topbar-text-hover-color);
	--nav-new-color: #ff2f7a;
}

/* ===== PATCH: 하단바 텍스트 디자인 단일 관리 ===== */
:root
{
	--subbar-menu-gap: 14px;
	--subbar-menu-font-family: var(--topbar-text-font-family, var(--font-ui));
	--subbar-menu-font-size: 14px;
	--subbar-menu-font-weight: 500;
	--subbar-menu-letter-spacing: -0.1px;
	--subbar-menu-color: #111827;

	--subbar-item-font-family: var(--topbar-text-font-family, var(--font-ui));
	--subbar-item-font-size: 14px;
	--subbar-item-font-weight: 480;
	--subbar-item-letter-spacing: -0.1px;
	--subbar-item-color: #334155;

	/* 기존 호환 변수 */
	--sub-filter-gap: var(--subbar-menu-gap);
	--sub-filter-font-family: var(--subbar-menu-font-family);
	--sub-filter-font-size: var(--subbar-menu-font-size);
	--sub-filter-font-weight: var(--subbar-menu-font-weight);
	--sub-filter-letter-spacing: var(--subbar-menu-letter-spacing);
	--sub-filter-color: var(--subbar-menu-color);
}

.global-topbar-menu
{
	position: absolute;
	left: 50%;
	top: 50%;
	right: auto;
	transform: translate(-50%, -50%);
	width: auto;
	min-width: 0;
	max-width: calc(100vw - 520px);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--topbar-menu-gap);
	white-space: nowrap;
	overflow: visible;
	z-index: 4;
	padding: 0;
	margin: 0;
}

.topbar-menu-item,
.global-auth-trigger,
.global-auth-trigger .account-email-text
{
	font-family: var(--topbar-text-font-family);
	font-size: var(--topbar-text-font-size);
	font-weight: var(--topbar-text-font-weight);
	color: var(--topbar-text-color);
	letter-spacing: var(--topbar-text-letter-spacing);
	line-height: 1;
	white-space: nowrap;
}

.topbar-menu-item
{
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	cursor: pointer;
}

.topbar-menu-item:hover,
.global-auth-trigger:hover,
.global-auth-trigger:hover .account-email-text
{
	color: var(--topbar-text-hover-color);
}

.global-topbar-right
{
	right: 18px;
	left: auto;
	justify-content: flex-end;
	max-width: 260px;
}

.global-auth-trigger.logged-in
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--topbar-profile-gap);
}

.topbar-profile-image
{
	width: var(--topbar-profile-size);
	height: var(--topbar-profile-size);
	min-width: var(--topbar-profile-size);
	border-radius: 50%;
	object-fit: cover;
	display: inline-block;
	background: #eef3f7;
	border: 1px solid #e5e7eb;
	margin: 0;
	vertical-align: middle;
	flex: 0 0 auto;
}

/* ===== PATCH: 우측 상단 계정 메뉴 hover 열림 ===== */
/* ===== PATCH: 우측 상단 계정 메뉴 hover 표시 전용 ===== */
.global-auth-trigger:hover,
.global-auth-trigger.account-open
{
	color: #111827;
}

.global-auth-trigger .auth-arrow
{
	transform: none;
}

/* ===== PATCH: 상단바 기본 활성 메뉴 + hover 색 고정 ===== */
.topbar-menu-item.active
{
	color: var(--nav-active-color);
}

.global-auth-trigger:hover
{
	color: #111827;
}

/* ===== PATCH: 상단 메뉴 hover 색상 차단 ===== */
.topbar-menu-item:hover
{
	color: inherit;
	background: transparent;
	border-color: transparent;
}

/* ===== PATCH: 우측 상단 이름 hover 색상 고정 ===== */
.global-auth-trigger,
.global-auth-trigger:hover,
.global-auth-trigger.account-open,
.global-auth-trigger.account-open:hover
{
	color: #111827;
	background: transparent;
}

/* ===== PATCH: 상단 메뉴 active 색상만 관리 ===== */
.global-topbar .topbar-menu-item
{
	color: var(--nav-color);
}

.global-topbar .topbar-menu-item:hover
{
	color: var(--nav-color);
	background: transparent;
	border-color: transparent;
}

.global-topbar .topbar-menu-item.active,
.global-topbar .topbar-menu-item.active:hover
{
	color: var(--nav-active-color);
	font-weight: var(--topbar-text-active-font-weight);
}

/* ===== PATCH: 우측 상단 이름 hover/active/open 색상 고정 ===== */
.global-topbar-right .global-auth-trigger,
.global-topbar-right .global-auth-trigger:hover,
.global-topbar-right .global-auth-trigger:focus,
.global-topbar-right .global-auth-trigger:focus-visible,
.global-topbar-right .global-auth-trigger:active,
.global-topbar-right .global-auth-trigger.account-open,
.global-topbar-right .global-auth-trigger.account-open:hover,
.global-topbar-right:hover .global-auth-trigger,
.global-topbar-right:focus-within .global-auth-trigger
{
	color: #111827;
	background: transparent;
	outline: none;
	box-shadow: none;
}

.global-topbar-right .global-auth-trigger *,
.global-topbar-right .global-auth-trigger:hover *,
.global-topbar-right:hover .global-auth-trigger *
{
	color: inherit;
}

/* PATCH 2.551: 내 정보 페이지에서는 상단 메뉴 대신 우측 계정명이 활성 표시 */
body.profile-page-open .global-topbar .topbar-menu-item.active,
body.profile-page-open .global-topbar .topbar-menu-item.active:hover,
body.myinfo-page-open .global-topbar .topbar-menu-item.active,
body.myinfo-page-open .global-topbar .topbar-menu-item.active:hover
{
	color: var(--nav-color);
}

body.profile-page-open .global-topbar-right .global-auth-trigger.profile-page-active,
body.profile-page-open .global-topbar-right .global-auth-trigger.profile-page-active:hover,
body.profile-page-open .global-topbar-right .global-auth-trigger.profile-page-active *,
body.profile-page-open .global-topbar-right .global-auth-trigger.profile-page-active:hover *,
body.myinfo-page-open .global-topbar-right .global-auth-trigger.profile-page-active,
body.myinfo-page-open .global-topbar-right .global-auth-trigger.profile-page-active:hover,
body.myinfo-page-open .global-topbar-right .global-auth-trigger.profile-page-active *,
body.myinfo-page-open .global-topbar-right .global-auth-trigger.profile-page-active:hover *
{
	color: var(--nav-active-color);
}

/* ===== PATCH: 무료 뱃지 - 매물등록 글자 위치 완전 분리 ===== */
.topbar-menu-free-wrap
{
	position: relative;
	display: inline-flex;
	align-items: center;
	margin-right: 36px; /* ← 여기 숫자로 다음 메뉴와 간격 조정 */
}

.topbar-menu-free-wrap .badge-free
{
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translate(4px, -50%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 18px;
	padding: 0 6px;
	margin: 0;
	background: #3B82F6;
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	border-radius: 0;
	pointer-events: none;
	white-space: nowrap;
}

/* ===== PATCH: 내 페이지 정보 / 개인정보 수정 화면 단일 변수 관리 ===== */
:root
{
	--profile-page-bg: #f8fafc;
	--profile-page-card-width: clamp(320px, 90vw, 600px);
	--profile-page-card-padding: 34px 40px 40px;
	--profile-page-card-bg: #ffffff;
	--profile-page-card-border: 1px solid #e5e7eb;
	--profile-page-card-radius: 0;
	--profile-page-card-shadow: none;

	--profile-page-title-font-family: var(--topbar-text-font-family, var(--font-ui));
	--profile-page-title-font-size: 22px;
	--profile-page-title-font-weight: 800;
	--profile-page-title-letter-spacing: -0.18px;
	--profile-page-title-color: #111827;

	--profile-page-text-font-family: var(--topbar-text-font-family, var(--font-ui));
	--profile-page-text-font-size: var(--topbar-text-font-size, var(--auth-font-size));
	--profile-page-text-font-weight: var(--topbar-text-font-weight, 700);
	--profile-page-text-letter-spacing: var(--topbar-text-letter-spacing, -0.18px);
	--profile-page-label-color: #334155;
	--profile-page-value-color: #111827;

	--profile-page-line-color: #e5e7eb;
	--profile-page-row-height: 48px;
	--profile-page-row-gap: 20px;

	--profile-page-input-height: 54px;
	--profile-page-input-border: 1px solid #d1d5db;
	--profile-page-input-radius: 0;
	--profile-page-input-bg: #ffffff;
	--profile-page-input-color: #111827;

	--profile-page-button-height: 54px;
	--profile-page-button-radius: 0;
	--profile-page-button-bg: #1B6FA4;
	--profile-page-button-color: #ffffff;
	--profile-page-button-shadow: none;

	--profile-page-divider-width: 48px;
	--profile-page-divider-height: 4px;
	--profile-page-divider-radius: 0;
	--profile-page-divider-bg: #1B6FA4;

	--profile-page-photo-size: 92px;
	--profile-page-photo-radius: 50%;
	--profile-page-photo-border: 0;
	--profile-page-photo-shadow: none;
	--profile-page-photo-bg: transparent;
}

/* 내 페이지/개인정보 페이지 전체 */
.auth-modal.profile-page-mode
{
	align-items: center;
	justify-content: center;
	padding: 0;
	background: var(--profile-page-bg);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* 내 페이지/개인정보 수정 공통 모달 외곽 */
.auth-modal.profile-page-mode .auth-modal-dialog
{
	width: 100%;
	max-width: none;
	height: 100vh;
	max-height: 100vh;
	padding: 48px;
	background: transparent;
	color: var(--profile-page-value-color);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow-y: auto;
}

/* 내 정보 + 개인정보 수정 카드만 한 곳에서 관리 */
.auth-modal.profile-page-mode .auth-myinfo-screen,
.auth-modal.profile-page-mode .auth-profile-setup-screen
{
	width: var(--profile-page-card-width);
	margin: 0 auto;
	padding: var(--profile-page-card-padding);
	background: var(--profile-page-card-bg);
	border: var(--profile-page-card-border);
	border-radius: var(--profile-page-card-radius);
	box-shadow: var(--profile-page-card-shadow);
}

/* 제목/구분선 */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title
{
	margin: 0 0 14px;
	font-family: var(--profile-page-title-font-family);
	font-size: var(--profile-page-title-font-size);
	font-weight: var(--profile-page-title-font-weight);
	letter-spacing: var(--profile-page-title-letter-spacing);
	line-height: 1.25;
	color: var(--profile-page-title-color);
	white-space: normal;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-divider,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-divider
{
	width: var(--profile-page-divider-width);
	height: var(--profile-page-divider-height);
	margin: 0 0 28px;
	border-radius: var(--profile-page-divider-radius);
	background: var(--profile-page-divider-bg);
	box-shadow: none;
}

/* 안내문 / 라벨 / 값 */
.auth-modal.profile-page-mode .auth-profile-guide,
.auth-modal.profile-page-mode .auth-modal-field-label,
.auth-modal.profile-page-mode .auth-profile-consent,
.auth-modal.profile-page-mode .auth-profile-consent strong,
.auth-modal.profile-page-mode .auth-myinfo-display-label,
.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-text-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	line-height: 1.35;
}

.auth-modal.profile-page-mode .auth-profile-guide,
.auth-modal.profile-page-mode .auth-modal-field-label,
.auth-modal.profile-page-mode .auth-profile-consent,
.auth-modal.profile-page-mode .auth-profile-consent strong,
.auth-modal.profile-page-mode .auth-myinfo-display-label
{
	color: var(--profile-page-label-color);
}

.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	color: var(--profile-page-value-color);
}

/* 내 정보 항목: 아이콘 제거 + 행 모양 */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-form
{
	gap: 0;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row
{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: var(--profile-page-row-height);
	padding: 0;
	margin: 0;
	border-bottom: 1px solid var(--profile-page-line-color);
	gap: var(--profile-page-row-gap);
	background: transparent;
	box-shadow: none;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row::before,
.auth-modal.profile-page-mode .auth-myinfo-display-row::after
{
	display: none;
	content: none;
}

.auth-modal.profile-page-mode .auth-myinfo-display-label
{
	flex: 0 0 auto;
	white-space: nowrap;
}

.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	flex: 1 1 auto;
	min-width: 0;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 프로필 사진: 겉 네모 박스 제거 + 이미지만 원형 */
.auth-modal.profile-page-mode .auth-myinfo-photo-box
{
	width: var(--profile-page-photo-size);
	height: var(--profile-page-photo-size);
	margin: 0 auto 30px;
	padding: 0;
	background: var(--profile-page-photo-bg);
	border: var(--profile-page-photo-border);
	border-radius: var(--profile-page-photo-radius);
	box-shadow: var(--profile-page-photo-shadow);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* 개인정보 수정 입력창 */
.auth-modal.profile-page-mode .auth-modal-input
{
	height: var(--profile-page-input-height);
	border: var(--profile-page-input-border);
	border-radius: var(--profile-page-input-radius);
	background: var(--profile-page-input-bg);
	color: var(--profile-page-input-color);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-text-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	box-shadow: none;
}

.auth-modal.profile-page-mode .auth-modal-input::placeholder
{
	color: #9ca3af;
}

/* 버튼 */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit,
.auth-modal.profile-page-mode #authBrokerOfficeInfoScreen #brokerOfficeInfoEditBtn,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-profile-photo-select-btn
{
	height: var(--profile-page-button-height);
	border-radius: var(--profile-page-button-radius);
	background: var(--profile-page-button-bg);
	color: var(--profile-page-button-color);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-text-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	box-shadow: var(--profile-page-button-shadow);
}

.auth-modal.profile-page-mode .auth-modal-close
{
	color: var(--profile-page-value-color);
}

/* 승인 대기중 버튼 스타일 */
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-pending
{
	background: #ffffff;
	color: #1B6FA4;
	border: 1px solid #1B6FA4;
}

/* ===== PATCH: 개인정보/내정보 최종 패치 ===== */
:root
{
	--profile-page-card-radius: 0;
	--profile-page-input-radius: 0;
	--profile-page-button-radius: 0;
	--profile-page-button-height: 54px;
	--profile-page-pending-button-bg: #ffffff;
	--profile-page-pending-button-color: #1B6FA4;
	--profile-page-pending-button-border: 1px solid #1B6FA4;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-select-btn
{
	border-radius: 0;
	box-shadow: none;
}

.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-pending
{
	background: var(--profile-page-pending-button-bg);
	color: var(--profile-page-pending-button-color);
	border: var(--profile-page-pending-button-border);
	box-shadow: none;
}

.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-pending:hover,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-pending:focus,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-pending:active
{
	background: var(--profile-page-pending-button-bg);
	color: var(--profile-page-pending-button-color);
	border: var(--profile-page-pending-button-border);
	box-shadow: none;
}

/* ===== PATCH: 드롭다운 내정보 구분선 유지 + 중개사 메뉴만 조건부 표시 ===== */
#globalAccountDropdown #brokerOfficeMenuWrapper
{
	display: none;
	margin: 0;
	padding: 0;
	line-height: 0;
}

#globalAccountDropdown #brokerOfficeMenuWrapper .global-account-menu-item
{
	height: 56px;
	min-height: 56px;
	padding: 0 26px;
	line-height: 1.6;
}

/* ===== PATCH: 내 정보 / 내 정보 설정 하단 버튼 2개 구성 ===== */
.auth-profile-action-row
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 24px;
}

.auth-profile-action-row .auth-modal-submit,
.auth-profile-action-row .auth-modal-secondary
{
	width: 100%;
	height: var(--profile-common-button-height, 54px);
	margin-top: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: var(--profile-common-button-font-family, var(--font-ui));
	font-size: var(--profile-common-button-font-size, 17px);
	font-weight: var(--profile-common-button-font-weight, 700);
	letter-spacing: var(--profile-common-button-letter-spacing, -0.18px);
}

.auth-profile-action-row .auth-modal-secondary
{
	border: 1px solid #1B6FA4;
	background: #ffffff;
	color: #1B6FA4;
	cursor: pointer;
}

/* ===== PATCH: 내 정보 / 내 정보 설정 하단 버튼 위치 정렬 ===== */
.auth-modal.profile-page-mode .auth-profile-action-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	width: 100%;
	margin-top: 32px;
	align-items: stretch;
}

.auth-modal.profile-page-mode .auth-profile-action-row > button
{
	width: 100%;
	min-width: 0;
	height: 50px;
	margin: 0;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	border-radius: 0;
	box-shadow: none;
	line-height: 1;
}

.auth-modal.profile-page-mode .auth-profile-action-row .auth-modal-submit,
.auth-modal.profile-page-mode .auth-profile-action-row .auth-modal-secondary
{
	margin-top: 0;
}

/* ===== PATCH: 내 정보 / 내 정보 설정 / 중개사 가입 신청 버튼 단일 관리 ===== */
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	width: 100%;
	margin-top: 32px;
	align-items: stretch;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-secondary,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-secondary
{
	background: var(--profile-page-secondary-button-bg);
	color: var(--profile-page-secondary-button-color);
	border: var(--profile-page-secondary-button-border);
}

.property-price-card
{
	min-height: var(--property-price-card-min-height);
}

.property-form-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	margin-bottom: 28px;
}

.property-form-row:last-child
{
	margin-bottom: 0;
}

.property-required
{
	color: #ef4444;
	margin-left: 2px;
}

.property-form-control
{
	position: relative;
	min-width: 0;
}

.property-select-wrap
{
	position: relative;
}

.property-select-wrap::after
{
	content: "⌄";
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	font-weight: 500;
	color: #475569;
	pointer-events: none;
	line-height: 1;
}

.property-area-pair
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.property-unit-input
{
	position: relative;
}

.property-money-inline
{
	position: relative;
	display: block;
	width: 100%;
	min-width: 0;
}

.property-money-inline .property-unit-input
{
	flex: 1 1 auto;
	min-width: 0;
}

.property-money-input-wrap
{
	position: relative;
	width: 100%;
	min-width: 0;
}

.property-unit-label
{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #475569;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
}

.property-area-eq
{
	text-align: center;
	color: #6b7280;
	font-size: 22px;
	font-weight: 700;
}

.property-price-dynamic
{
	display: flex;
	flex-direction: column;
	gap: 30px;
	margin-top: 22px;
}

.property-price-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.property-price-fields
{
	display: grid;
	gap: 14px 18px;
}

.property-price-fields.two
{
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.property-price-field-title
{
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 800;
	color: #111827;
	letter-spacing: -0.18px;
}

.property-price-field
{
	position: relative;
	display: block;
	min-width: 0;
}

.property-money-korean
{
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	color: #6b7280;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.12px;
	white-space: nowrap;
	pointer-events: none;
	z-index: 2;
	max-width: 170px;
	overflow: hidden;
	text-overflow: ellipsis;
	text-align: right;
}

.property-money-input-wrap .property-unit-label,
.property-money-inline .property-unit-label
{
	left: var(--money-unit-left, 74px);
	right: auto;
	z-index: 2;
}

.property-money-korean:empty
{
	display: none;
}

@media (max-width: 720px)
{
	.property-form-row,
	.property-price-row
	{
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.property-price-guide
	{
		margin-left: 0;
	}
	.property-area-pair,
	.property-price-fields.two
	{
		grid-template-columns: 1fr;
	}
	.property-area-eq
	{
		display: none;
	}
	.property-deal-checks
	{
		justify-content: flex-start;
	}
}

.property-info-card.is-hidden
{
	display: none;
}

.property-info-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	margin-bottom: 28px;
}

/* PATCH 2.259: 총점포수/총세대수 행은 값이 있을 때만 클래스 하나로 노출 */
.property-store-count-row,
.property-household-count-row
{
	display: none;
}

.property-store-count-row.is-visible,
.property-household-count-row.is-visible
{
	display: grid;
}

/* PATCH 2.259: 총점포수/총세대수 입력칸은 내부 라벨이 없으므로 56px 라벨 칸을 제거 */
.property-store-count-row .property-inline-unit,
.property-household-count-row .property-inline-unit
{
	grid-template-columns: minmax(0, 1fr);
}

.property-info-row:last-child
{
	margin-bottom: 0;
}

.property-info-field
{
	min-width: 0;
}

.property-inline-grid
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 32px;
	align-items: center;
}

.property-inline-unit
{
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
}

.property-check-row,
.property-radio-row
{
	display: flex;
	align-items: center;
	gap: 34px;
	flex-wrap: wrap;
}

.property-parking-row
{
	align-items: start;
}

/* PATCH 2.295: 방/욕실 해당없음 체크박스를 입력칸 아래에 배치 */
.property-room-field
{
	display: grid;
	gap: 12px;
}

.property-room-na-option
{
	margin-top: 0;
	cursor: default;
	user-select: text;
}

/* PATCH 2.302: 해당없음은 체크박스 네모에만 클릭 가능 커서를 표시 */
.property-room-na-option input
{
	cursor: pointer;
}

.property-room-na-option span
{
	cursor: default;
}

/* PATCH 2.297: 방/욕실 라벨을 층 정보처럼 첫 입력 줄 기준으로 정렬 */
.property-info-row.property-room-row
{
	align-items: baseline;
}

.property-info-row.property-room-row > .property-form-label
{
	display: flex;
	align-items: baseline;
	height: auto;
	min-height: 0;
	padding-top: 0;
	line-height: 1.2;
}

.property-room-row .property-inline-label
{
	display: inline-flex;
	align-items: baseline;
	line-height: 1.2;
}

/* PATCH 2.210: 주차 라벨 높이를 가능/불가능 라디오 줄과 맞춤 */
.property-parking-row > .property-form-label,
.property-parking-row > .property-info-field > .property-radio-row
{
	display: flex;
	align-items: center;
	min-height: 24px;
	line-height: 1.3;
}

.property-info-sub-options
{
	margin-top: 12px;
}

.property-floor-level-options,
.property-building-whole-option,
.property-parking-detail,
.property-heating-row
{
	display: none;
}

.property-info-card[data-info-mode="residential"] .property-floor-level-options,
.property-info-card[data-info-mode="residential"] .property-building-whole-option,
.property-info-card[data-info-mode="residential"] .property-loan-row,
.property-info-card[data-info-mode="residential"] .property-pet-row,
.property-info-card[data-info-mode="residential"] .property-parking-row,
.property-info-card[data-info-mode="residential"] .property-heating-row
{
	display: grid;
}

.property-info-card[data-info-mode="commercial"] .property-basement-options,
.property-info-card[data-info-mode="commercial"] .property-parking-row
{
	display: grid;
}

.property-info-card[data-info-mode="building"] .property-building-whole-option,
.property-info-card[data-info-mode="building"] .property-parking-row
{
	display: grid;
}

.property-info-card[data-info-mode="commercial"] .property-loan-row,
.property-info-card[data-info-mode="commercial"] .property-pet-row,
.property-info-card[data-info-mode="commercial"] .property-heating-row,
.property-info-card[data-info-mode="building"] .property-loan-row,
.property-info-card[data-info-mode="building"] .property-pet-row,
.property-info-card[data-info-mode="building"] .property-heating-row
{
	display: none;
}

.property-info-card[data-info-mode="commercial"] .property-floor-level-options,
.property-info-card[data-info-mode="commercial"] .property-building-whole-option,
.property-info-card[data-info-mode="building"] .property-floor-level-options
{
	display: none;
}

.property-parking-detail.open
{
	display: grid;
	margin-top: 12px;
}

.property-heating-fuel-wrap
{
	display: grid;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	margin-top: 12px;
}

.property-land-select-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px 32px;
	align-items: center;
}

.property-land-select-field
{
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.property-land-info-card
{
	min-height: 0;
}

.property-land-info-card.is-hidden
{
	display: none;
}

@media (max-width: 900px)
{
	.property-inline-grid,
	.property-land-select-row
	{
		grid-template-columns: 1fr;
	}

	.property-land-select-field
	{
		grid-template-columns: 84px minmax(0, 1fr);
	}
}

/* ===== PATCH: 매물 정보 층 옵션 1줄 정렬 / 건물 전체 표시 전환 ===== */
.property-floor-display-options
{
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.property-floor-level-inline
{
	display: inline-flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
}

.property-building-whole-inline
{
	display: none;
}

.property-info-card[data-info-mode="commercial"] .property-floor-level-inline,
.property-info-card[data-info-mode="commercial"] .property-building-whole-inline
{
	display: none;
}

.property-info-card[data-info-floor-mode="whole"] .property-floor-level-inline
{
	display: none;
}

.property-info-card[data-info-floor-mode="whole"] .property-building-whole-inline
{
	display: inline-flex;
}

/* ===== PATCH: 매물 정보 라디오/체크 정렬 보정 ===== */
.property-info-row.property-heating-row
{
	align-items: start;
}

.property-floor-display-options
{
	align-items: center;
}

/* ===== PATCH: 층 저/중/고 라디오 비활성 상태 + 매매 시 반려동물 숨김 ===== */
.property-floor-level-inline input[name="propertyFloorLevel"]:disabled
{
	opacity: 0.42;
	cursor: not-allowed;
}

.property-floor-level-inline:has(input[name="propertyFloorLevel"]:disabled) .property-radio-option
{
	cursor: not-allowed;
	opacity: 0.62;
}

.property-info-card.is-sale-deal .property-pet-row
{
	display: none;
}

/* ===== PATCH: 사용승인일 하이픈 표시 + 달력 버튼 ===== */
.property-date-input-wrap
{
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
}

.property-date-text-input
{
	padding-right: 46px;
}

.property-date-picker-btn
{
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 42px;
	height: 100%;
	border: 0;
	border-left: 1px solid #e5e7eb;
	background: transparent;
	color: #475569;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 16px;
	z-index: 2;
}

.property-date-picker-btn:hover
{
	color: #2563eb;
	background: #f8fafc;
}

.property-date-native-picker
{
	position: absolute;
	right: 0;
	top: 0;
	width: 42px;
	height: 100%;
	opacity: 0;
	pointer-events: none;
	z-index: 1;
}

.property-info-field,
.property-inline-grid,
.property-inline-unit,
.property-check-row,
.property-radio-row
{
	max-width: 100%;
	min-width: 0;
}

/* ===== 권리금 카드: 단일 레이아웃 규칙 ===== */
.property-premium-card
{
	display: none;
	min-height: 0;
}

.property-premium-card.is-visible,
.property-info-card[data-info-mode="commercial"] + .property-premium-card
{
	display: block;
}

.property-premium-grid
{
	display: grid;
	grid-template-columns: var(--property-premium-main-label-width) minmax(0, 1fr);
	gap: var(--property-premium-row-gap) var(--property-premium-column-gap);
	align-items: start;
}

.property-premium-main-label
{
	grid-column: 1;
	grid-row: 1 / span 2;
}

.property-premium-input-row
{
	grid-column: 2;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: var(--property-premium-field-gap);
	align-items: start;
}

.property-premium-field
{
	display: block;
	min-width: 0;
}

.property-premium-field .property-form-label
{
	display: block;
	margin: 0 0 var(--property-premium-label-input-gap);
	font-size: 16px;
	font-weight: 800;
	color: #111827;
	line-height: 1.3;
	letter-spacing: -0.18px;
}

.property-premium-amount-field .property-money-inline,
.property-premium-desc-field .property-register-input
{
	width: 100%;
	min-width: 0;
}

.property-premium-amount-field .property-register-input,
.property-premium-desc-field .property-register-input
{
	height: var(--property-premium-input-height);
	min-height: var(--property-premium-input-height);
}

.property-label-optional
{
	color: #94a3b8;
	font-weight: 500;
}

.property-premium-options
{
	grid-column: 2;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: var(--property-premium-option-gap);
	margin-left: 0;
	margin-top: 0;
	padding-bottom: 0;
	white-space: nowrap;
}

.property-premium-options .property-check-option
{
	flex: 0 0 auto;
}

@media (max-width: 720px)
{
	.property-premium-grid
	{
		grid-template-columns: 1fr;
	}

	.property-premium-main-label,
	.property-premium-input-row,
	.property-premium-options
	{
		grid-column: 1;
		grid-row: auto;
	}

	.property-premium-input-row
	{
		grid-template-columns: 1fr;
		row-gap: 12px;
	}

	.property-premium-field
	{
		display: block;
	}

	.property-premium-field .property-form-label
	{
		display: block;
		margin-bottom: 12px;
	}

	.property-premium-options
	{
		margin-left: 0;
		flex-wrap: wrap;
		gap: 24px;
	}
}

.property-info-field,
.property-inline-grid,
.property-inline-unit,
.property-check-row,
.property-radio-row
{
	max-width: 100%;
	min-width: 0;
}

/* ===== PATCH: 매물 종류별 동/호수 입력 ===== */
.property-dongho-row
{
	display: none;
}

.property-dongho-row.is-visible
{
	display: grid;
}

.property-dongho-field
{
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	min-width: 0;
}

.property-dongho-input-unit
{
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	width: 180px;
	min-width: 0;
}

.property-dongho-note
{
	color: var(--property-register-right-text-color);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.12px;
	white-space: nowrap;
}

@media (max-width: 720px)
{
	.property-facility-row
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.property-facility-options
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 22px;
	}

	.property-dongho-field
	{
		align-items: flex-start;
		flex-direction: column;
	}

	.property-dongho-input-unit
	{
		width: 100%;
	}

	.property-dongho-note
	{
		white-space: normal;
	}
}

/* ===== PATCH: 층 정보 윗줄 수평 정렬 ===== */
.property-floor-row
{
	align-items: flex-start;
}

.property-floor-row .property-info-field,
.property-floor-row .property-inline-grid
{
	align-items: flex-start;
}

.property-floor-row .property-inline-unit
{
	align-items: center;
}

.property-facility-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 20px;
}

.property-facility-row:last-child
{
	margin-bottom: 0;
}

.property-facility-options
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px 28px;
	align-items: center;
	min-width: 0;
	max-width: 100%;
}

@media (max-width: 720px)
{
	.property-facility-row
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.property-facility-options
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px 22px;
	}
}

/* ===== PATCH: 시설정보 주거형 전용 표시 ===== */
.property-facility-card.is-hidden
{
	display: none;
}

.maintenance-form-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 28px;
}

.maintenance-form-row.maintenance-input-row
{
	align-items: center;
}

.maintenance-form-row:has(#maintenanceUnder100kChk)
{
	margin-top: -16px;
	margin-bottom: var(--property-sub-check-gap-bottom);
}

.maintenance-form-row:last-child
{
	margin-bottom: 0;
}

.maintenance-form-field
{
	min-width: 0;
}

.maintenance-tab-group
{
	width: 100%;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0;
	padding: 6px;
	border-radius: 999px;
	background: #f3f4f6;
}

.maintenance-tab
{
	height: 44px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: #9ca3af;
	font-size: 16px;
	font-weight: 800;
	letter-spacing: -0.18px;
	cursor: pointer;
}

.maintenance-tab.active
{
	background: #ffffff;
	color: #111827;
	box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04);
}

.maintenance-section
{
	display: none;
}

.maintenance-section.active
{
	display: block;
}

.maintenance-none-row
{
	align-items: start;
}

.maintenance-none-row > .property-form-label,
.maintenance-none-summary-main
{
	display: flex;
	align-items: center;
	min-height: 24px;
	line-height: 1.3;
}

.maintenance-none-summary-sub
{
	color: #6b7280;
	font-size: 15px;
	font-weight: 700;
}

.maintenance-choice-grid,
.maintenance-include-grid
{
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px 44px;
	align-items: flex-start;
}

.maintenance-commercial-building-reason
{
	justify-self: end;
}

.maintenance-fee-field
{
	display: grid;
	grid-template-columns: 110px 84px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

.maintenance-etc-fee-field
{
	grid-template-columns: 110px 110px 74px minmax(0, 1fr);
}

.maintenance-fee-field .property-unit-input
{
	min-width: 0;
}

.maintenance-notice-box
{
	padding: 18px 20px;
	background: #f3f4f6;
	color: #111827;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: -0.12px;
	line-height: 1.5;
}

/* PATCH 2.226: 입주가능일 즉시입주/협의가능 체크박스를 같은 줄에 배치 */
.property-move-in-checks
{
	display: flex;
	align-items: center;
	gap: 36px;
	flex-wrap: wrap;
}

/* PATCH 2.227: 입주가능일 체크박스 간격을 권리금 체크박스와 동일하게 맞춤 */
.property-move-in-checks.property-form-control
{
	gap: 36px;
}

.property-upload-box
{
	width: 100%;
	min-height: 132px;
	padding: 22px;
	border: 2px dashed #e2e7ee;
	border-radius: 0;
	background: #ffffff;
	color: #a8b0bc;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 12px;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.16px;
	cursor: pointer;
	box-sizing: border-box;
}

/* PATCH 2.320: 사진 드래그 중에도 업로드 박스 배경과 테두리 색은 기본값 유지 */
.property-upload-box.is-dragover
{
	border-color: #e2e7ee;
	background: #ffffff;
	color: #a8b0bc;
}

.property-upload-box i
{
	font-size: 22px;
	color: #d1d7df;
}

/* PATCH 2.309: 사진 장수 표시는 업로드 박스 밖 우측 상단에 배치 */
.property-photo-count
{
	display: block;
	margin-bottom: 8px;
	text-align: right;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.12px;
}

.property-photo-remove-btn
{
	position: absolute;
	top: 6px;
	right: 6px;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(17, 24, 39, 0.16);
	background: rgba(255, 255, 255, 0.92);
	color: #111827;
	font-size: 14px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
}

.property-photo-remove-btn:hover
{
	background: #ffffff;
	border-color: #4A7EDC;
	color: #4A7EDC;
}

/* PATCH 2.307: 파일 선택 버튼은 드래그 박스 아래에 분리 배치 */
.property-photo-select-btn
{
	height: 42px;
	margin-top: 10px;
	padding: 0 18px;
	border: 1px solid #cbd5e1;
	background: #ffffff;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: -0.12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
}

.property-photo-select-btn:hover
{
	border-color: #4A7EDC;
	color: #4A7EDC;
}

.property-owner-phone-input
{
	background: #f3f4f6;
	color: #9ca3af;
}

.property-owner-phone-notice
{
	margin-top: 8px;
	padding: 18px 18px;
	border-radius: 8px;
	background: #f3f4f6;
	color: #374151;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: -0.12px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.property-owner-phone-notice i
{
	margin-top: 2px;
	color: #111827;
	font-size: 14px;
}

/* ===== PATCH: 매물 정보 / 관리비 / 상세 정보 정렬 보정 ===== */

/* 매물 정보: 라벨과 오른쪽 입력 영역 수평 중앙 정렬 */
.property-info-row
{
	align-items: center;
}

/* 층 정보는 기존처럼 윗줄 기준 유지 */
.property-floor-row
{
	align-items: flex-start;
}

/* 관리비: 기본은 가운데, 부과 기준만 탑라인 */
.maintenance-form-row
{
	align-items: center;
}

.maintenance-form-row.maintenance-base-row
{
	align-items: flex-start;
}

/* ===== PATCH: 관리비 세부 행 정렬 보정 ===== */
.maintenance-form-row.maintenance-top-row
{
	align-items: flex-start;
}

.maintenance-fee-row > .property-form-label
{
	position: relative;
	top: 1px;
}

/* PATCH 2.214: 관리비 없음 행은 왼쪽 라벨과 첫 번째 값을 같은 라인에 고정 */
.maintenance-form-row.maintenance-none-row
{
	align-items: flex-start;
}

.maintenance-form-row.maintenance-none-row > .property-form-label,
.maintenance-form-row.maintenance-none-row .maintenance-none-summary-main
{
	display: flex;
	align-items: center;
	height: 24px;
	min-height: 24px;
	padding-top: 0;
	line-height: 24px;
}

.maintenance-form-row.maintenance-none-row .maintenance-none-summary
{
	gap: 8px;
}

/* PATCH 2.220: 주차 라벨을 가능/불가능 라디오 첫 줄 높이에 고정 */
.property-info-row.property-parking-row
{
	align-items: flex-start;
}

.property-info-row.property-parking-row > .property-form-label,
.property-info-row.property-parking-row > .property-info-field > .property-radio-row
{
	display: flex;
	align-items: center;
	height: 24px;
	min-height: 24px;
	padding-top: 0;
	line-height: 24px;
}

.property-info-row.property-parking-row > .property-info-field
{
	align-self: flex-start;
}

.property-info-row.property-parking-row .property-radio-option
{
	height: 24px;
	align-items: center;
	line-height: 24px;
}

.property-info-card .property-loan-row > .property-radio-row,
.property-info-card .property-pet-row > .property-radio-row,
.property-info-card .property-parking-row > .property-info-field > .property-radio-row,
.property-info-card .property-heating-row > .property-info-field > .property-radio-row
{
	display: grid;
	grid-template-columns: repeat(3, var(--property-register-radio-column-width));
	column-gap: 0;
	row-gap: 0;
	align-items: center;
	justify-content: start;
	width: max-content;
}

.property-info-card .property-loan-row > .property-radio-row .property-radio-option,
.property-info-card .property-pet-row > .property-radio-row .property-radio-option,
.property-info-card .property-parking-row > .property-info-field > .property-radio-row .property-radio-option,
.property-info-card .property-heating-row > .property-info-field > .property-radio-row .property-radio-option
{
	height: 24px;
	min-height: 24px;
	align-items: center;
	line-height: 24px;
}

.property-info-row.property-heating-row > .property-info-field
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 32px;
	align-items: center;
}

.property-info-row.property-heating-row .property-heating-fuel-wrap
{
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	column-gap: 10px;
	align-items: center;
	margin-top: 0;
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
}

.property-info-row.property-heating-row > .property-form-label
{
	display: flex;
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
	padding-top: 0;
	line-height: var(--property-register-input-height);
	align-items: center;
}

.property-info-row.property-heating-row > .property-info-field > .property-radio-row
{
	display: grid;
	grid-template-columns: repeat(3, var(--property-register-radio-column-width));
	column-gap: 0;
	row-gap: 0;
	height: var(--property-register-input-height);
	min-height: var(--property-register-input-height);
	padding-top: 0;
	line-height: normal;
	align-items: center;
	justify-content: start;
	width: max-content;
}

/* ===== PATCH: 시설 정보 체크박스 높이/간격 통일 ===== */
.property-facility-card .property-facility-options
{
	align-items: stretch;
}

.property-facility-card .property-check-option
{
	min-height: 28px;
	align-items: center;
	line-height: 1.2;
}

/* ===== PATCH: 시설 정보 라벨/체크박스 탑라인 정렬 ===== */
.property-facility-row
{
	align-items: flex-start;
}

.property-facility-row .property-form-label
{
	align-self: flex-start;
	padding-top: 1px;
	line-height: 1.2;
}

.property-facility-card .property-check-option
{
	line-height: 1.2;
}

/* ===== PATCH: 시설 정보 체크박스 행 높이 균일화 ===== */
.property-facility-card .property-facility-options
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	row-gap: 10px;
	column-gap: 28px;
	align-items: start;
}

.property-facility-card .property-check-option
{
	height: 32px;
	min-height: 32px;
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
}

/* ===== PATCH 2.200: 시설 정보 체크박스/라벨 간격 최종 통일 ===== */
.property-facility-card
{
	--facility-option-height: 32px;
	--facility-row-gap: 12px;
	--facility-column-gap: 28px;
}

.property-facility-card .property-facility-row
{
	align-items: start;
	margin-bottom: 20px;
}

.property-facility-card .property-facility-row .property-form-label
{
	display: flex;
	align-items: center;
	height: var(--facility-option-height);
	min-height: var(--facility-option-height);
	padding-top: 0;
	line-height: 1.2;
}

.property-facility-card .property-facility-options
{
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: var(--facility-column-gap);
	row-gap: var(--facility-row-gap);
	align-items: start;
}

.property-facility-card .property-check-option
{
	display: inline-flex;
	align-items: center;
	height: var(--facility-option-height);
	min-height: var(--facility-option-height);
	line-height: 1.2;
}

.property-facility-card .property-check-option input
{
	align-self: center;
}

@media (max-width: 720px)
{
	.property-facility-card .property-facility-options
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.property-facility-row
{
	align-items: flex-start;
}

/* ===== PATCH: 시설 정보 왼쪽 라벨을 첫 번째 체크박스 글자 높이에 맞춤 ===== */
.property-facility-row
{
	align-items: flex-start;
}

.property-facility-row .property-form-label
{
	display: flex;
	align-items: center;
	min-height: 32px;
	height: 32px;
	padding-top: 0;
	line-height: 1.2;
}

.property-facility-card .property-check-option
{
	height: 32px;
	min-height: 32px;
	display: inline-flex;
	align-items: center;
	line-height: 1.2;
}

/* PATCH 2.211: 시설정보 전체 체크박스 칸 높이와 내부 정렬을 동일하게 고정 */
.property-facility-card .property-facility-options
{
	grid-auto-rows: var(--facility-option-height, 32px);
	align-items: stretch;
}

.property-facility-card .property-check-option
{
	box-sizing: border-box;
	height: var(--facility-option-height, 32px);
	min-height: var(--facility-option-height, 32px);
	max-height: var(--facility-option-height, 32px);
	padding: 0;
	align-self: stretch;
	display: inline-flex;
	align-items: center;
}

.property-facility-card .property-check-option span
{
	display: inline-flex;
	align-items: center;
	height: 100%;
	line-height: 1;
}

/* PATCH 2.213: 시설정보 그룹 사이 간격도 체크박스 줄 간격과 동일하게 맞춤 */
.property-facility-card .property-facility-row
{
	margin-bottom: var(--facility-row-gap, 12px);
}

.property-facility-card .property-facility-row:last-child
{
	margin-bottom: 0;
}

.property-agency-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: flex-start;
	margin-bottom: 32px;
}

.property-agency-row:last-child
{
	margin-bottom: 0;
}

.property-agency-textarea
{
	width: 100%;
	min-height: 142px;
	border: 1px solid #d7dee8;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.16px;
	line-height: 1.55;
	padding: 16px;
	resize: vertical;
	outline: none;
	box-shadow: none;
}

.property-agency-textarea::placeholder
{
	color: #a8b0bc;
}

.property-agency-text-count
{
	margin-top: 8px;
	text-align: right;
	font-size: 14px;
	font-weight: 500;
	color: #8b95a1;
	letter-spacing: -0.12px;
}

@media (max-width: 720px)
{
	.property-agency-row
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}
}

/* ===== 등록자 정보: 단일 레이아웃 규칙 ===== */
.property-registrant-card
{
	min-height: 0;
	padding-bottom: 34px;
}

.property-registrant-form-row
{
	display: grid;
	grid-template-columns: var(--property-registrant-main-label-width) var(--property-registrant-stack-width);
	gap: var(--property-registrant-main-gap);
	align-items: flex-start;
	margin-bottom: var(--property-registrant-form-bottom-gap);
}

.property-registrant-form-row:last-child
{
	margin-bottom: 0;
}

.property-registrant-form-row .property-form-label
{
	display: flex;
	align-items: center;
	height: var(--property-registrant-row-height);
	min-height: var(--property-registrant-row-height);
	padding-top: 0;
	line-height: 1.2;
}

.property-registrant-form-field
{
	min-width: 0;
}

.property-registrant-stack
{
	display: grid;
	grid-template-columns: var(--property-registrant-stack-width);
	row-gap: var(--property-sub-check-gap-top);
	column-gap: 0;
	width: var(--property-registrant-stack-width);
	max-width: var(--property-registrant-stack-width);
}

.property-registrant-stack .property-registrant-inline
{
	display: grid;
	align-items: center;
	min-height: var(--property-registrant-row-height);
}

.property-registrant-row-full
{
	grid-template-columns: var(--property-registrant-stack-width);
}

.property-registrant-row-two
{
	grid-template-columns: var(--property-registrant-field-width) var(--property-registrant-field-width);
	column-gap: var(--property-registrant-column-gap);
}

.property-registrant-check-line
{
	display: flex !important;
	align-items: flex-start !important;
	grid-template-columns: var(--property-registrant-stack-width);
	padding-left: var(--property-registrant-input-start-offset);
	min-height: var(--property-register-info-checkbox-size) !important;
	height: var(--property-register-info-checkbox-size);
	margin-top: 0;
	margin-bottom: var(--property-registrant-check-bottom-gap);
}

.property-registrant-field
{
	display: grid;
	grid-template-columns: var(--property-registrant-field-label-width) var(--property-registrant-input-short-width);
	column-gap: var(--property-registrant-field-gap);
	align-items: center;
	width: var(--property-registrant-field-width);
	height: var(--property-registrant-row-height);
	min-width: 0;
}

.property-registrant-row-full .property-registrant-field
{
	grid-template-columns: var(--property-registrant-field-label-width) var(--property-registrant-input-full-width);
	width: var(--property-registrant-stack-width);
}

.property-registrant-field-label
{
	min-width: 0;
	text-align: left;
	color: #111827;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -0.18px;
	white-space: nowrap;
}

.property-registrant-manager-row:has(.property-registrant-input:disabled) .property-registrant-field-label
{
	color: #9ca3af;
}

.property-registrant-input,
.property-registrant-input.short,
.property-registrant-input.short#registrantManagerNameInput
{
	width: 100%;
	min-width: 0;
	height: var(--property-registrant-row-height);
	padding: 0 16px;
	border: 1px solid #d8dee8;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	-webkit-text-fill-color: #111827;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: -0.16px;
	outline: none;
	box-shadow: none;
	overflow: hidden;
	text-overflow: ellipsis;
	box-sizing: border-box;
}

.property-registrant-input[readonly]
{
	background: #f9fafb;
}

.property-registrant-card .property-registrant-manager-row .property-registrant-input:disabled,
.property-registrant-card .property-registrant-input:disabled
{
	background: #f9fafb !important;
	color: #9ca3af;
	-webkit-text-fill-color: #9ca3af;
	cursor: not-allowed;
	opacity: 1;
}

.property-registrant-input::placeholder
{
	color: #a8b0bc;
}

.property-registrant-license
{
	display: inline-flex;
	align-items: center;
	justify-self: start;
	gap: var(--property-register-option-gap);
	margin-left: 0;
	color: var(--property-register-right-text-color);
	font-size: var(--property-register-option-font-size);
	font-weight: var(--property-register-option-font-weight);
	line-height: 1;
	letter-spacing: var(--property-register-option-letter-spacing);
	white-space: nowrap;
	cursor: pointer;
	user-select: none;
}

.property-registrant-license input
{
	width: var(--property-register-info-checkbox-size);
	height: var(--property-register-info-checkbox-size);
	margin: 0;
	accent-color: #2f363d;
	cursor: pointer;
	flex: 0 0 auto;
}

.property-registrant-help,
.property-registrant-note
{
	margin-top: 8px;
	color: #8b95a1;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: -0.12px;
	line-height: 1.4;
}

.property-registrant-help
{
	text-decoration: underline;
}

@media (max-width: 900px)
{
	.property-registrant-form-row,
	.property-registrant-stack,
	.property-registrant-row-full,
	.property-registrant-row-two,
	.property-registrant-check-line,
	.property-registrant-field,
	.property-registrant-row-full .property-registrant-field
	{
		grid-template-columns: 1fr;
		width: 100%;
		max-width: 100%;
	}

	.property-registrant-check-line
	{
		padding-left: 0;
	}
}

.property-agency-row
{
	align-items: center;
}

.property-agency-row > .property-form-label
{
	align-self: center;
	display: flex;
	align-items: center;
	min-height: 142px;
	padding-top: 0;
	line-height: 1.2;
}

.property-agency-row > .property-form-label
{
	align-self: flex-start;
	height: 142px;
	min-height: 142px;
	display: flex;
	align-items: center;
	padding-top: 0;
	line-height: 1.2;
}

/* ===== PATCH: 층 정보 라벨/전체/해당 글자 baseline 정렬 ===== */
.property-info-row.property-floor-row
{
	align-items: baseline;
}

.property-info-row.property-floor-row > .property-form-label
{
	display: flex;
	align-items: baseline;
	height: auto;
	min-height: 0;
	padding-top: 0;
	line-height: 1.2;
}

.property-floor-row .property-inline-label
{
	display: inline-flex;
	align-items: baseline;
	line-height: 1.2;
}

/* ===== PATCH: 관리비 숨김 유형 강제 차단 ===== */
body[data-property-type="land"] #propertyMaintenanceCard,
body[data-property-type="hotel"] #propertyMaintenanceCard,
body[data-property-type="pension"] #propertyMaintenanceCard,
body[data-property-type="building"] #propertyMaintenanceCard,
body[data-property-type="factory_warehouse"] #propertyMaintenanceCard
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

/* ===== PATCH: 내 정보 화면 매물등록 UI 톤 통일 ===== */
.auth-modal.profile-page-mode .auth-myinfo-screen
{
	background: #ffffff;
	color: #111827;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	padding: 34px 36px 38px;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title
{
	margin: 0 0 22px;
	color: #111827;
	font-family: var(--font-ui);
	font-size: 24px;
	font-weight: 900;
	letter-spacing: -0.35px;
	line-height: 1.25;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-divider,
.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-guide
{
	display: none;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-profile-action-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 12px;
	margin-top: 28px;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-submit
{
	background: #1B6FA4;
	color: #ffffff;
	border: 1px solid #1B6FA4;
}

.auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-secondary
{
	background: #ffffff;
	color: #1B6FA4;
	border: 1px solid #1B6FA4;
}

@media (max-width: 720px)
{
	.auth-modal.profile-page-mode .auth-myinfo-display-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

/* ===== PATCH: 내 정보 값 영역은 입력창이 아닌 텍스트로 표시 ===== */
.auth-modal.profile-page-mode .auth-myinfo-display-value
{
	width: auto;
	min-height: 0;
	height: auto;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #111827;
	font-family: var(--font-ui);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: -0.16px;
	line-height: 1.45;
	padding: 0;
	display: block;
	box-shadow: none;
	box-sizing: border-box;
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
}

.auth-modal.profile-page-mode .auth-myinfo-display-row
{
	min-height: 34px;
	align-items: center;
}

/* ===== PATCH: 내 정보 설정 화면을 내 정보 페이지 디자인 톤으로 통일 ===== */
.auth-modal.profile-page-mode .auth-profile-setup-screen
{
	width: var(--profile-page-card-width);
	margin: 0 auto;
	padding: var(--profile-page-card-padding);
	background: var(--profile-page-card-bg);
	border: var(--profile-page-card-border);
	border-radius: var(--profile-page-card-radius);
	box-shadow: var(--profile-page-card-shadow);
	color: var(--profile-page-value-color);
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title
{
	margin: 0 0 22px;
	color: var(--profile-page-title-color);
	font-family: var(--profile-page-title-font-family);
	font-size: var(--profile-page-title-font-size);
	font-weight: var(--profile-page-title-font-weight);
	letter-spacing: var(--profile-page-title-letter-spacing);
	line-height: 1.25;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-divider
{
	display: none;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-guide
{
	display: none;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
{
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 0;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	min-height: var(--profile-page-input-height, 54px);
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field-label
{
	margin: 0;
	color: var(--profile-page-label-color);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-label-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	line-height: 1.2;
	text-align: left;
	white-space: nowrap;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-select
{
	width: 100%;
	height: var(--profile-page-input-height, 54px);
	min-height: var(--profile-page-input-height, 54px);
	padding: 0 16px;
	border: var(--profile-page-input-border);
	border-radius: var(--profile-page-input-radius);
	background: var(--profile-page-input-bg);
	color: var(--profile-page-value-color);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-value-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	line-height: 1;
	box-shadow: none;
	box-sizing: border-box;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input::placeholder
{
	color: #9ca3af;
	font-weight: 500;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input:focus,
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-select:focus
{
	border-color: #1B6FA4;
	background: #ffffff;
	outline: none;
	box-shadow: none;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	min-height: 84px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field .auth-modal-field-label
{
	align-self: center;
	margin: 0;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-box
{
	width: 100%;
	justify-content: flex-start;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-select-btn
{
	height: 42px;
	min-height: 42px;
	padding: 0 16px;
	border-radius: var(--profile-page-button-radius);
	border: var(--profile-page-secondary-button-border);
	background: var(--profile-page-secondary-button-bg);
	color: var(--profile-page-secondary-button-color);
	font-family: var(--profile-page-text-font-family);
	font-size: 15px;
	font-weight: var(--profile-page-button-font-weight);
	letter-spacing: var(--profile-page-button-letter-spacing);
	box-shadow: none;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	min-height: 34px;
	margin: 4px 0 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--profile-page-value-color);
	font-family: var(--profile-page-text-font-family);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent::before
{
	content: "동의";
	color: var(--profile-page-label-color);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-text-font-size);
	font-weight: var(--profile-page-label-font-weight);
	letter-spacing: var(--profile-page-text-letter-spacing);
	line-height: 1.2;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent input
{
	margin: 0 8px 0 0;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent strong
{
	color: var(--profile-page-value-color);
	font-weight: 700;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-submit
{
	height: var(--profile-page-button-height);
	min-height: var(--profile-page-button-height);
	margin-top: 22px;
	border-radius: var(--profile-page-button-radius);
	background: var(--profile-page-primary-button-bg);
	color: var(--profile-page-primary-button-color);
	border: var(--profile-page-primary-button-border);
	font-family: var(--profile-page-text-font-family);
	font-size: var(--profile-page-button-font-size);
	font-weight: var(--profile-page-button-font-weight);
	letter-spacing: var(--profile-page-button-letter-spacing);
	box-shadow: var(--profile-page-button-shadow);
}

@media (max-width: 720px)
{
	.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field,
	.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field,
	.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}
}

/* ===== PATCH: 개인정보 동의 UI 정리 ===== */
.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent::before
{
    content: none; /* '동의' 라벨 제거 */
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent
{
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    padding-left: 0;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent input
{
    margin: 0;
}

/* ===== PATCH: 내 정보 값 텍스트를 내 정보 설정과 동일 스타일로 ===== */
.auth-modal.profile-page-mode .auth-myinfo-display-value
{
    font-family: var(--profile-page-text-font-family);
    font-size: var(--profile-page-text-font-size);
    font-weight: var(--profile-page-value-font-weight);
    letter-spacing: var(--profile-page-text-letter-spacing);
    color: var(--profile-page-value-color);
    line-height: 1.45;
}

/* hover */
.auth-modal.profile-page-mode #myInfoEditProfileBtn:hover,
.auth-modal.profile-page-mode #authProfileSaveBtn:hover,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):hover,
#propertySubmitBtn:hover
{
	background: #3F6FCC;
	border-color: #3F6FCC;
	color: #ffffff;
}

/* active */
.auth-modal.profile-page-mode #myInfoEditProfileBtn:active,
.auth-modal.profile-page-mode #authProfileSaveBtn:active,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:not(:disabled):not(.is-disabled):active,
#propertySubmitBtn:active
{
	background: #355FB0;
	border-color: #355FB0;
	color: #ffffff;
}

/* ===== PATCH 2.134: 내 정보 설정 저장 버튼 파랑 강제 적용 ===== */
.auth-modal.profile-page-mode #authProfileSaveBtn,
.auth-modal.profile-page-mode #authProfileSetupForm #authProfileSaveBtn.auth-modal-submit
{
	background: #4A7EDC;
	color: #ffffff;
	border: 1px solid #4A7EDC;
	box-shadow: none;
}

.auth-modal.profile-page-mode #authProfileSaveBtn:hover,
.auth-modal.profile-page-mode #authProfileSetupForm #authProfileSaveBtn.auth-modal-submit:hover
{
	background: #3F6FCC;
	border-color: #3F6FCC;
	color: #ffffff;
}

/* 신청중/비활성 상태는 기존 회색 유지 */
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn:disabled,
.auth-modal.profile-page-mode #myInfoBrokerOfficeBtn.is-disabled
{
	background: #e5e7eb;
	color: #9ca3af;
	border: 1px solid #e5e7eb;
	cursor: not-allowed;
	box-shadow: none;
}

.quick-property-modal.open
{
	display: flex;
}

.quick-property-head
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	padding: 0;
	margin: 0 0 18px;
}

.quick-property-body
{
	padding: 0;
}

.quick-property-source-row
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
	margin: 0 0 14px;
}

.quick-property-source-option input
{
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: #2563eb;
	cursor: pointer;
}

.quick-property-foot
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	padding: 22px 0 0;
	border-top: 0;
}

/* ===== PATCH 2.396: 내 정보/개인정보/중개사무소 화면은 상단 메뉴 아래 메인 영역으로 표시 ===== */
body.payment-page-open .sub-topbar,
body.profile-page-open .sub-topbar,
body.myinfo-page-open .sub-topbar
{
	display: none;
}

/* PATCH 2.981: 공지사항 페이지 */
.notice-page-panel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	padding: 72px 32px 0;
	background: #ffffff;
	color: #111827;
	box-sizing: border-box;
	overflow-y: auto;
}

body.notice-page-open .notice-page-panel,
.notice-page-panel[aria-hidden="false"]
{
	display: block;
}

body.notice-page-open .sub-topbar,
body.notice-page-open .sidebar,
body.notice-page-open .resizer,
body.notice-page-open .map-wrap
{
	display: none;
}

.notice-page-inner
{
	width: 900px;
	max-width: calc(100vw - 64px);
	margin: 0 auto;
}

.notice-page-head
{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 18px;
	margin: 0 0 36px;
	text-align: left;
}

.notice-page-title
{
	margin: 0;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #111827;
}

.notice-page-desc
{
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.6;
	font-weight: 500;
	color: #64748b;
	letter-spacing: -0.02em;
}

.notice-admin-manage-btn
{
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 18px;
	border: 1px solid #2563eb;
	background: #2563eb;
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	cursor: pointer;
}

.notice-admin-manage-btn[hidden]
{
	display: none;
}

.notice-list
{
	border-top: 1px solid #111827;
	background: #ffffff;
}

.notice-empty
{
	padding: 34px 0;
	border-bottom: 1px solid #e5e7eb;
	color: #64748b;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
}

.notice-item
{
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	gap: 24px;
	padding: 24px 0;
	border-bottom: 1px solid #e5e7eb;
}

.notice-item-meta
{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	color: #64748b;
	font-size: 13px;
	font-weight: 700;
}

.notice-badge
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 10px;
	border: 1px solid #2563eb;
	background: #2563eb;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.notice-badge-soft
{
	border-color: #dbe3ee;
	background: #ffffff;
	color: #334155;
}

.notice-item-title
{
	margin: 0;
	font-size: 18px;
	line-height: 1.45;
	font-weight: 800;
	color: #111827;
	letter-spacing: -0.02em;
}

.notice-item-desc
{
	margin: 8px 0 0;
	font-size: 14px;
	line-height: 1.65;
	font-weight: 500;
	color: #475569;
	letter-spacing: -0.01em;
	white-space: pre-line;
}

.notice-page-footer
{
	margin-top: 100px;
	padding: 0 0 48px;
	text-align: center;
}

.notice-page-copy
{
	color: #9ca3af;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
}

@media (max-width: 720px)
{
	.notice-page-panel
	{
		padding: 46px 16px 0;
	}

	.notice-page-inner
	{
		max-width: 100%;
	}

	.notice-page-title
	{
		font-size: 28px;
	}

	.notice-page-head
	{
		display: grid;
		grid-template-columns: 1fr;
		text-align: left;
	}

	.notice-admin-manage-btn
	{
		width: 100%;
	}

	.notice-item
	{
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 22px 0;
	}

	.notice-item-meta
	{
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
	}
}

.auth-modal.profile-page-mode
{
	top: var(--global-topbar-height);
	bottom: 0;
	left: 0;
	right: 0;
	height: auto;
	z-index: 120;
	background: var(--profile-page-bg, #f8fafc);
	overflow: auto;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	min-height: calc(100vh - var(--global-topbar-height));
	height: auto;
	max-height: none;
	padding: var(--sub-topbar-height) 48px 48px;
	overflow-y: visible;
}

/* PATCH 2.551: 내 정보/중개사무소 화면 하단 사업자 푸터 */
.auth-modal.profile-page-mode .profile-company-info
{
	margin-top: 34px;
	padding-top: 4px;
	border-top: 0;
	color: #9ca3af;
	font-size: 11px;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
}

.auth-modal.profile-page-mode .profile-company-name
{
	margin-bottom: 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

.auth-modal.profile-page-mode .profile-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
}

.auth-modal.profile-page-mode .profile-company-grid span
{
	white-space: nowrap;
}

.auth-modal.profile-page-mode .profile-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 10px;
	color: #9ca3af;
	font-size: 11px;
	line-height: 1.7;
}

.auth-modal.profile-page-mode .profile-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font: inherit;
	font-weight: 700;
	line-height: inherit;
	cursor: pointer;
}

.auth-modal.profile-page-mode .profile-company-link:hover
{
	color: #2563eb;
}

.auth-modal.profile-page-mode .broker-profile-company-info
{
	margin-top: 24px;
}

@media (max-width: 720px)
{
	.auth-modal.profile-page-mode .profile-company-grid
	{
		display: grid;
		gap: 2px;
	}

	.auth-modal.profile-page-mode .profile-company-grid span
	{
		white-space: normal;
	}
}

/* PATCH 2.551: 프로필 페이지 스크롤 복구 + 중개사무소 정보 푸터를 카드 밖으로 분리 */
.auth-modal.profile-page-mode.open
{
	display: block;
	overflow-x: hidden;
	overflow-y: auto;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	min-height: calc(100vh - var(--global-topbar-height));
	height: auto;
	max-height: none;
	overflow: visible;
	padding-bottom: 56px;
}

.auth-modal.profile-page-mode .broker-office-info-page-footer
{
	display: none;
	width: var(--profile-page-card-width);
	max-width: 90vw;
	margin: 22px auto 0;
	padding: 0 4px;
}

.auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) + .broker-office-info-page-footer
{
	display: block;
}

/* PATCH 2.551: 프로필 계열 화면 푸터를 카드 밖 페이지 푸터로 표시 */
.auth-modal.profile-page-mode.open
{
	display: flex;
	align-items: stretch;
	justify-content: stretch;
	overflow: hidden;
	-webkit-overflow-scrolling: touch;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	display: block;
	width: 100%;
	max-width: none;
	min-height: 0;
	height: calc(100vh - var(--global-topbar-height, 0px));
	max-height: calc(100vh - var(--global-topbar-height, 0px));
	overflow-x: hidden;
	overflow-y: auto;
	padding-bottom: 96px;
	position: relative;
	-webkit-overflow-scrolling: touch;
}

.auth-modal.profile-page-mode .profile-page-footer
{
	display: none;
	width: var(--profile-page-card-width);
	max-width: 90vw;
	margin: 22px auto 0;
	padding: 0 4px;
}

.auth-modal.profile-page-mode #authProfileSetupScreen:not(.auth-screen-hidden) + .profile-page-footer,
.auth-modal.profile-page-mode #authMyInfoScreen:not(.auth-screen-hidden) + .profile-page-footer,
.auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) + .profile-page-footer,
.auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) + .profile-page-footer
{
	display: block;
}

/* PATCH 2.551: 카드 뒤에 보이는 중복 푸터 제거, 공통 푸터만 카드 아래 표시 */
.auth-modal.profile-page-mode .profile-company-info:not(.auth-profile-common-footer)
{
	display: none;
}

.auth-modal.profile-page-mode .auth-profile-common-footer
{
	display: none;
	visibility: hidden;
	position: relative;
	z-index: 0;
	clear: both;
	width: var(--profile-page-card-width);
	max-width: 90vw;
	margin: 26px auto 0;
	padding: 0 4px;
}

.auth-modal.profile-page-mode .auth-profile-common-footer.is-visible
{
	display: block;
	visibility: visible;
}

.auth-modal.profile-page-mode .auth-profile-common-footer.is-positioned
{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
}

.auth-modal.profile-page-mode .auth-profile-setup-screen,
.auth-modal.profile-page-mode .auth-myinfo-screen,
.auth-modal.profile-page-mode .auth-broker-office-screen
{
	position: relative;
	z-index: 1;
}

.auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) .broker-profile-company-info
{
	display: block;
	grid-column: 1 / -1;
	width: min(1080px, 100%);
	max-width: 100%;
	margin: 2px auto 0;
	padding: 0 4px 0;
	position: relative;
	z-index: 0;
}

/* PATCH 2.551: 내 정보 계열을 모달이 아닌 이용권 결제와 같은 페이지형 패널로 표시 */
.auth-modal.profile-page-mode
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	width: auto;
	height: auto;
	padding: var(--sub-topbar-height) 48px 48px;
	background: var(--profile-page-bg, #f8fafc);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow-x: hidden;
	overflow-y: auto;
}

.auth-modal.profile-page-mode.open
{
	display: block;
}

.auth-modal.profile-page-mode .auth-modal-dialog
{
	position: static;
	display: block;
	width: 100%;
	max-width: none;
	min-height: 0;
	height: auto;
	max-height: none;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
}

.auth-modal.profile-page-mode .auth-card-close,
.auth-modal.profile-page-mode .auth-modal-close,
.auth-modal.profile-page-mode .auth-modal-back
{
	display: none;
}

.auth-modal.profile-page-mode .auth-profile-common-footer
{
	position: static;
	transform: none;
	width: var(--profile-page-card-width);
	max-width: 90vw;
	margin: 28px auto 0;
}

/* PATCH 2.551: 내 정보 페이지 스크롤 영역 강제 고정 */
body.profile-page-open
{
	overflow: hidden;
}

.auth-modal.profile-page-mode.open
{
	position: fixed;
	top: var(--global-topbar-height);
	right: 0;
	bottom: 0;
	left: 0;
	height: calc(100vh - var(--global-topbar-height, 0px));
	max-height: calc(100vh - var(--global-topbar-height, 0px));
	display: block;
	overflow-x: hidden;
	overflow-y: scroll;
	overscroll-behavior: contain;
}

.auth-modal.profile-page-mode.open .auth-modal-dialog
{
	min-height: max-content;
	height: auto;
	max-height: none;
	padding-bottom: 72px;
	overflow: visible;
}

/* PATCH 2.551: 내 정보 페이지 실제 스크롤 높이 확보 */
.auth-modal.profile-page-mode.open::after
{
	content: "";
	display: block;
	width: 1px;
	height: 180px;
}

.auth-modal.profile-page-mode.open .auth-profile-common-footer.is-visible
{
	display: block;
	margin-bottom: 96px;
}

/* PATCH 2.551: 내 정보를 이용권 결제와 같은 단일 페이지 패널 스크롤로 통일 */
html:has(body.profile-page-open),
body.profile-page-open
{
	height: 100%;
	min-height: 100%;
	overflow-x: hidden;
	overflow-y: hidden;
}

body.profile-page-open
{
	background: var(--profile-page-bg, #f8fafc);
}

body.profile-page-open .auth-modal.profile-page-mode
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	width: auto;
	min-height: 0;
	height: calc(100vh - var(--global-topbar-height, 0px));
	max-height: calc(100vh - var(--global-topbar-height, 0px));
	margin: 0;
	padding: var(--sub-topbar-height) 48px 48px;
	background: var(--profile-page-bg, #f8fafc);
	overflow-x: hidden;
	overflow-y: auto;
	transform: none;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body.profile-page-open .auth-modal.profile-page-mode.open
{
	display: block;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	position: static;
	display: block;
	width: 100%;
	max-width: 1080px;
	min-height: 0;
	height: auto;
	max-height: none;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
	transform: none;
}

body.profile-page-open .auth-modal.profile-page-mode::after
{
	display: none;
	content: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-broker-office-screen
{
	overflow: visible;
	max-height: none;
	transform: none;
}

/* PATCH 2.551: 내 정보 페이지 아래/뒤로 다른 페이지 영역이 이어져 보이지 않게 차단 */
body.profile-page-open .map-wrap,
body.profile-page-open .payment-page-panel,
body.profile-page-open .broker-home-panel,
body.profile-page-open .property-register-page,
body.profile-page-open .admin-page-panel,
body.profile-page-open .map-side-tools,
body.profile-page-open .map-result-count,
body.profile-page-open .map-empty-state,
body.profile-page-open .map-agent-card,
body.profile-page-open .map-recommend-card
{
	display: none;
}

/* PATCH 2.551: 내 정보 푸터는 결제 페이지처럼 패널 하단에 항상 표시 */
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer[hidden]
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 22px 0 0;
	border-top: 1px solid #e5e7eb;
	color: #64748b;
	font-size: 12px;
	line-height: 1.7;
	letter-spacing: 0;
	text-align: left;
	transform: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-name
{
	margin-bottom: 8px;
	color: #334155;
	font-size: 13px;
	font-weight: 900;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 18px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-links
{
	display: flex;
	align-items: center;
	gap: 8px;
	height: auto;
	max-height: none;
	margin-top: 6px;
	overflow: visible;
	padding-bottom: 0;
}

/* PATCH 2.551: 내 정보 카드와 푸터를 flex 가로배치가 아닌 세로 흐름으로 정렬 */
body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	display: block;
	align-items: initial;
	justify-content: initial;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen
{
	display: block;
	margin-left: auto;
	margin-right: auto;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer
{
	clear: both;
	z-index: 1;
}

/* PATCH 2.551: 내 정보 화면을 이용권 결제와 같은 페이지형 레이아웃으로 재구성 */
body.profile-page-open .auth-modal.profile-page-mode
{
	padding: var(--sub-topbar-height) 48px 48px;
	background: #f7f8fa;
	color: #111827;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	display: block;
	width: 100%;
	max-width: 1080px;
	min-height: 0;
	height: auto;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen
{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title
{
	margin: 0 0 7px;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-title::after
{
	content: "가입 계정과 중개사무소 정보를 한 곳에서 관리합니다.";
	display: block;
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title::after
{
	content: "회원 정보와 프로필 정보를 관리합니다.";
	display: block;
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-divider,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-divider
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-form,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
{
	display: grid;
	gap: 0;
	margin-top: 26px;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-photo-box
{
	width: 96px;
	height: 96px;
	margin: 0 auto 24px;
	border: 1px solid #e5e7eb;
	background: #ffffff;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-display-row
{
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	align-items: center;
	min-height: 58px;
	gap: 18px;
	padding: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-display-label
{
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-display-value
{
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-action-row
{
	margin-top: 26px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-action-row > button,
body.profile-page-open .auth-modal.profile-page-mode #myInfoBrokerOfficeBtn
{
	height: 46px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
}

body.profile-page-open .auth-modal.profile-page-mode #myInfoBrokerOfficeBtn
{
	margin-top: 16px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer[hidden]
{
	max-width: 1080px;
	margin-top: 34px;
	padding-top: 22px;
	background: transparent;
	border-top: 1px solid #e5e7eb;
}

@media (max-width: 720px)
{
	body.profile-page-open .auth-modal.profile-page-mode
	{
		padding: var(--sub-topbar-height) 16px 32px;
	}

	body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-form,
	body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
	{
		padding: 18px;
	}

	body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-display-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

/* PATCH 2.551: 프로필 계열 화면 겹침 긴급 차단 */
body.profile-page-open .auth-modal.profile-page-mode .auth-screen-hidden,
body.profile-page-open .auth-modal.profile-page-mode [class*="auth-"].auth-screen-hidden
{
	display: none;
	visibility: hidden;
	position: static;
	width: 0;
	height: 0;
	min-height: 0;
	max-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	overflow: hidden;
	pointer-events: none;
}

body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden),
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden)
{
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) .auth-modal-title,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) .auth-modal-title,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) .broker-apply-title,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) .broker-apply-title
{
	margin: 0 0 7px;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) .auth-modal-form,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) .auth-modal-form,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) .broker-apply-form
{
	display: grid;
	gap: 0;
	margin-top: 26px;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden) + .profile-company-info,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeScreen:not(.auth-screen-hidden) + .profile-company-info
{
	display: none;
}

/* PATCH 2.551: 내 정보 내용 폭은 기존 카드 수준으로 축소 */
body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen
{
	max-width: 600px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen .auth-modal-form,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
{
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-display-row
{
	grid-template-columns: 140px minmax(0, 1fr);
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer[hidden]
{
	max-width: 600px;
}

/* PATCH 2.551: 내 정보는 모달 구조를 쓰지 않고 이용권 결제와 같은 독립 페이지 패널로 표시 */
.myinfo-page-panel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	min-height: 0;
	padding: var(--sub-topbar-height) 48px 48px;
	background: #f7f8fa;
	color: #111827;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.myinfo-page-panel[aria-hidden="false"],
body.myinfo-page-open .myinfo-page-panel
{
	display: block;
}

.myinfo-page-inner
{
	max-width: 1080px;
	margin: 0 auto;
}

.myinfo-page-head
{
	max-width: 600px;
	margin: 0 auto 26px;
}

.myinfo-page-title
{
	margin: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

.myinfo-page-desc
{
	margin: 7px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}

.myinfo-page-card
{
	display: grid;
	gap: 0;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

.myinfo-page-photo-box
{
	width: 96px;
	height: 96px;
	margin: 0 auto 24px;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #ffffff;
	overflow: hidden;
}

.myinfo-page-photo
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.myinfo-page-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	min-height: 58px;
	gap: 18px;
	border-bottom: 1px solid #eef2f7;
}

.myinfo-page-label
{
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

.myinfo-page-value
{
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.myinfo-page-actions
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
}

.myinfo-page-primary,
.myinfo-page-secondary
{
	height: 46px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	cursor: pointer;
}

.myinfo-page-primary
{
	border: 0;
	background: #4f83df;
	color: #ffffff;
}

.myinfo-page-secondary
{
	border: 1px solid #1f73b7;
	background: #ffffff;
	color: #1f73b7;
}

.myinfo-page-actions:has(.myinfo-page-secondary[style*="display: none"]) .myinfo-page-primary
{
	grid-column: 1 / -1;
}

.myinfo-company-info
{
	margin-top: 26px;
	padding-top: 4px;
	border-top: 0;
	color: #9ca3af;
	font-size: 11px;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
}

.myinfo-company-name
{
	margin-bottom: 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

.myinfo-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
}

.myinfo-company-grid span
{
	color: #8b95a1;
	font-weight: 400;
	white-space: nowrap;
}

.myinfo-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 10px;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

.myinfo-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font: inherit;
	font-weight: 700;
	line-height: inherit;
	cursor: pointer;
}

.myinfo-company-link:hover
{
	color: #2563eb;
}

@media (max-width: 720px)
{
	.myinfo-page-panel
	{
		padding: var(--sub-topbar-height) 16px 32px;
	}

	.myinfo-page-card
	{
		padding: 18px;
	}

	.myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}

	.myinfo-page-actions
	{
		grid-template-columns: 1fr;
	}

	.myinfo-company-grid
	{
		display: grid;
		gap: 2px;
	}

	.myinfo-company-grid span
	{
		white-space: normal;
	}
}

/* PATCH 2.551: 내 정보 페이지 스크롤/푸터를 이용권 결제 패널 방식으로 최종 고정 */
html:has(body.profile-page-open),
body.profile-page-open
{
	height: 100%;
	min-height: 100%;
	overflow: hidden;
	background: #f7f8fa;
}

body.profile-page-open .auth-modal.profile-page-mode,
body.profile-page-open .auth-modal.profile-page-mode.open
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	width: auto;
	height: auto;
	min-height: 0;
	max-height: none;
	margin: 0;
	padding: var(--sub-topbar-height) 48px 64px;
	background: #f7f8fa;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	position: static;
	display: block;
	width: 100%;
	max-width: 600px;
	min-height: auto;
	height: auto;
	max-height: none;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	overflow: visible;
	transform: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-myinfo-screen,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen,
body.profile-page-open .auth-modal.profile-page-mode #authBrokerOfficeInfoScreen:not(.auth-screen-hidden)
{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	overflow: visible;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer[hidden],
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.is-visible
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: 600px;
	height: auto;
	max-height: none;
	margin: 34px auto 0;
	padding: 22px 0 0;
	border-top: 1px solid #e5e7eb;
	background: transparent;
	overflow: visible;
	transform: none;
	pointer-events: auto;
}

body.profile-page-open .auth-modal.profile-page-mode::after
{
	content: "";
	display: block;
	width: 1px;
	height: 72px;
}

@media (max-width: 720px)
{
	body.profile-page-open .auth-modal.profile-page-mode,
	body.profile-page-open .auth-modal.profile-page-mode.open
	{
		padding: var(--sub-topbar-height) 16px 48px;
	}
}

/* PATCH 2.551: 내 정보 설정 화면을 내 정보 카드 디자인과 맞춤 */
body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	max-width: 1080px;
	margin: 0 auto;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen
{
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-card-close
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title
{
	margin: 0 0 7px;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-title::after
{
	content: "회원 정보와 프로필 정보를 관리합니다.";
	display: block;
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-divider
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-form
{
	display: grid;
	gap: 0;
	max-width: 600px;
	margin: 26px auto 0;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-guide
{
	margin: 0 0 18px;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	background: transparent;
	border: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	min-height: 58px;
	gap: 18px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-field-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-modal-input,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-select-wrap select
{
	width: 100%;
	min-height: 44px;
	height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-box
{
	width: 96px;
	height: 96px;
	margin: 0;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-photo-select-btn
{
	height: 36px;
	margin-top: 8px;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid #1f73b7;
	color: #1f73b7;
	font-size: 13px;
	font-weight: 800;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-consent
{
	margin-top: 18px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen .auth-profile-action-row > button
{
	height: 46px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen #authProfileSaveBtn
{
	background: #4f83df;
	color: #ffffff;
	border: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen #authProfileCloseBtn
{
	background: #ffffff;
	color: #1f73b7;
	border: 1px solid #1f73b7;
}

/* PATCH 2.551: 내 정보 설정을 내 정보 페이지 카드/푸터 구조와 동일하게 최종 고정 */
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden)
{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-title
{
	max-width: 600px;
	margin: 0 auto;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-title::after
{
	content: "가입 계정과 중개사무소 정보를 한 곳에서 관리합니다.";
	display: block;
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-form
{
	display: grid;
	gap: 0;
	width: 100%;
	max-width: 600px;
	margin: 26px auto 0;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-guide
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-photo-field
{
	display: block;
	min-height: auto;
	margin: 0 auto 24px;
	padding: 0;
	border: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-photo-field .auth-modal-field-label
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-photo-box
{
	position: relative;
	width: 96px;
	height: 96px;
	margin: 0 auto;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #ffffff;
	overflow: hidden;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-photo-preview
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-photo-select-btn
{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 28px;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: rgba(17, 24, 39, 0.72);
	color: #ffffff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	min-height: 58px;
	gap: 18px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-field-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-input,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-select-wrap select
{
	width: 100%;
	min-height: 44px;
	height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-select-wrap
{
	width: 100%;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-consent
{
	margin-top: 18px;
	color: #6b7280;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-action-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-top: 26px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-action-row > button
{
	height: 46px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-form > .profile-company-info
{
	display: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer[hidden],
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.is-visible
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border-top: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-name
{
	margin-bottom: 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-grid span
{
	color: #8b95a1;
	font-weight: 400;
	white-space: nowrap;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 10px;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font: inherit;
	font-weight: 700;
	line-height: inherit;
}

/* PATCH 2.551: 내 정보 설정 푸터를 내 정보 푸터와 완전히 동일한 박스/타이포로 통일 */
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info[hidden],
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info.is-visible
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: 1080px;
	height: auto;
	max-height: none;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	border-top: 0;
	background: transparent;
	box-shadow: none;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
	box-sizing: border-box;
	transform: none;
	overflow: visible;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info .myinfo-company-name
{
	margin: 0 0 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info .myinfo-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
	margin: 0;
	padding: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info .myinfo-company-grid span
{
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	white-space: nowrap;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info .myinfo-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin: 10px 0 0;
	padding: 0;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info .myinfo-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #6b7280;
	font: inherit;
	font-weight: 700;
	line-height: inherit;
	cursor: pointer;
}

@media (max-width: 720px)
{
	body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-form
	{
		padding: 18px;
	}

	body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-field
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}

	body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-action-row
	{
		grid-template-columns: 1fr;
	}

	body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer .profile-company-grid span
	{
		white-space: normal;
	}
}

/* PATCH 2.551: 내 정보 수정 화면을 내 정보 페이지의 폭/카드/푸터 규격과 동일하게 고정 */
body.profile-page-open .auth-modal.profile-page-mode .auth-modal-dialog
{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden)
{
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-title
{
	max-width: 600px;
	margin: 0 auto;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-title::after
{
	content: "가입 계정과 중개사무소 정보를 한 곳에서 관리합니다.";
	display: block;
	margin-top: 7px;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-form
{
	display: grid;
	gap: 0;
	width: 100%;
	max-width: 600px;
	margin: 26px auto 0;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	min-height: 58px;
	gap: 18px;
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-modal-input,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-select-wrap select
{
	display: flex;
	align-items: center;
	min-height: 44px;
	height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	box-shadow: none;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info[hidden],
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info.is-visible
{
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	text-align: left;
}

/* PATCH 2.551: 내 정보 수정 하단 버튼을 내 정보 페이지 버튼과 같은 크기/색상으로 고정 */
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-action-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) .auth-profile-action-row > button
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 46px;
	min-height: 46px;
	margin: 0;
	padding: 0 16px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) #authProfileSaveBtn
{
	border: 0;
	background: #4f83df;
	color: #ffffff;
}

body.profile-page-open .auth-modal.profile-page-mode .auth-profile-setup-screen:not(.auth-screen-hidden) #authProfileCloseBtn
{
	border: 1px solid #1f73b7;
	background: #ffffff;
	color: #1f73b7;
}

/* PATCH 2.551: 프로필 공통 푸터는 현재 화면 바로 아래 정상 흐름으로만 표시 */
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info,
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info[hidden],
body.profile-page-open .auth-modal.profile-page-mode .auth-profile-common-footer.myinfo-company-info.is-visible
{
	display: block;
	visibility: visible;
	position: static;
	inset: auto;
	float: none;
	clear: both;
	width: 100%;
	max-width: 1080px;
	height: auto;
	max-height: none;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	z-index: auto;
	overflow: visible;
	pointer-events: auto;
}

/* PATCH 2.551: 내 정보 수정/중개사무소 수정은 모달이 아니라 독립 페이지 패널로 표시 */
body.profile-edit-page-open,
body.broker-office-edit-page-open
{
	overflow: hidden;
	background: #f7f8fa;
}

body.profile-edit-page-open #authModal,
body.broker-office-edit-page-open #authModal
{
	display: none;
}

body.profile-edit-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.profile-edit-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	display: block;
	visibility: visible;
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: var(--sub-topbar-height) 48px 64px;
	background: #f7f8fa;
	overflow-x: hidden;
	overflow-y: auto;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen.auth-screen-hidden,
body.broker-office-edit-page-open #authBrokerOfficeScreen.auth-screen-hidden
{
	display: block;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-card-close,
body.broker-office-edit-page-open #authBrokerOfficeScreen .auth-card-close,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-card-close
{
	display: none;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-title
{
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 8px;
	padding: 0;
	border: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title
{
	font-size: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title::before
{
	content: "내 정보 수정";
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-description,
body.broker-office-edit-page-open #authBrokerOfficeScreen .auth-modal-description
{
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 4px;
	padding: 0;
	border: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-description
{
	font-size: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-description::before
{
	content: "가입 계정과 중개사무소 정보를 한 곳에서 관리합니다.";
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-guide,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-divider,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-divider,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form > .profile-company-info
{
	display: none;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-form
{
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 26px auto 0;
	padding: 26px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-shell
{
	width: 96px;
	height: 96px;
	margin: 0 auto 28px;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-preview
{
	width: 96px;
	height: 96px;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-field-row,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #edf1f5;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-field-row label,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field-label,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-field label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-input,
body.profile-edit-page-open #authProfileSetupScreen .auth-field-row input,
body.profile-edit-page-open #authProfileSetupScreen .auth-field-row select,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-input,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field input,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field select,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap select,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-field input
{
	width: 100%;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	background: #f8fafc;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select
{
	appearance: none;
	background-image: none;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-consent-row
,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-consent
{
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-action-row,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-actions
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-action-row > button,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-actions > button,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-submit,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-close-page-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-width: 0;
	height: 46px;
	min-height: 46px;
	margin: 0;
	padding: 0 16px;
	border-radius: 10px;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen #authProfileSaveBtn,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-submit
{
	border: 0;
	background: #4f83df;
	color: #ffffff;
}

body.profile-edit-page-open #authProfileSetupScreen #authProfileCloseBtn
,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-close-page-btn
{
	border: 1px solid #1f73b7;
	background: #ffffff;
	color: #1f73b7;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-page
{
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	background: transparent;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-page::before
{
	display: none;
	content: none;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-page::after
{
	display: none;
	content: none;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading
{
	width: 100%;
	max-width: 600px;
	margin: 0 auto 26px;
	padding: 0;
	text-align: left;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading h2
{
	margin: 0 0 8px;
	padding: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading p
{
	margin: 0;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.55;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-left,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-title,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-lead
{
	display: none;
}

body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-panel
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info[hidden],
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info.is-visible,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info[hidden]
{
	display: block;
	visibility: visible;
	position: static;
	inset: auto;
	float: none;
	clear: both;
	width: 100%;
	max-width: 1080px;
	height: auto;
	max-height: none;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	transform: none;
	z-index: auto;
	overflow: visible;
	pointer-events: auto;
	color: #6b7280;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-name,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info .profile-company-name
{
	display: block;
	margin: 0 0 10px;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-grid,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info .profile-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 6px 16px;
	margin: 0 0 10px;
	color: #7b8493;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.75;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-links,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info .profile-company-links
{
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	color: #6b7280;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
}

/* PATCH 2.551: 내 정보 수정 화면을 내 정보 페이지의 간격/푸터/사진 행과 동일하게 재정렬 */
body.profile-edit-page-open #authProfileSetupScreen
{
	padding: 70px 48px 8px;
	color: #111827;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body.profile-edit-page-open #authProfileSetupScreen::before
{
	content: "";
	display: block;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title
{
	display: block;
	width: 100%;
	max-width: 600px;
	margin: 0 auto 26px;
	padding: 0;
	color: #111827;
	font-size: 0;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title::before
{
	content: "내 정보 수정";
	display: block;
	margin: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title::after
{
	content: "가입 계정과 중개사무소 정보를 한 곳에서 관리합니다.";
	display: block;
	margin: 7px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form
{
	display: grid;
	gap: 0;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 118px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-field .auth-modal-field-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-box
{
	position: relative;
	display: block;
	width: 96px;
	height: 96px;
	margin: 0;
	border: 1px solid #e5e7eb;
	border-radius: 999px;
	background: #ffffff;
	overflow: hidden;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-preview
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-select-btn
{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 31px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: rgba(17, 24, 39, 0.64);
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	line-height: 31px;
	text-align: center;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-input,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap select
{
	width: 100%;
	min-width: 0;
	height: 44px;
	min-height: 44px;
	margin: 0;
	box-sizing: border-box;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-input,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap select
{
	display: flex;
	align-items: center;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 44px;
	box-shadow: none;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-consent
{
	margin: 22px 0 0;
	padding: 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-action-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info[hidden],
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info.is-visible
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: 1080px;
	margin: 34px auto 0;
	padding: 4px 0 0;
	border: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
	box-shadow: none;
	transform: none;
	overflow: visible;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-name
{
	margin-bottom: 8px;
	color: #6b7280;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.5;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 2px 16px;
	margin: 0;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-grid span
{
	color: #8b95a1;
	font-weight: 400;
	white-space: nowrap;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info .myinfo-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 10px;
	margin-top: 10px;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.7;
}

@media (max-width: 720px)
{
	body.profile-edit-page-open #authProfileSetupScreen
	{
		padding: 32px 16px 32px;
	}

	body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form
	{
		padding: 18px;
	}

	body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-field,
	body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}

	body.profile-edit-page-open #authProfileSetupScreen .auth-profile-action-row
	{
		grid-template-columns: 1fr;
	}
}

/* PATCH 2.551: 내정보 계열 4개 화면은 모두 모달이 아닌 독립 페이지이며 하단바를 숨긴다 */
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.profile-edit-page-open #authModal,
body.broker-office-info-page-open #authModal,
body.broker-office-edit-page-open #authModal
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.profile-edit-page-open .map-wrap,
body.broker-office-info-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.profile-edit-page-open #map,
body.broker-office-info-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: 70px 48px 8px;
	background: #f7f8fa;
	color: #111827;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-card-close,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-card-close,
body.broker-office-edit-page-open #authBrokerOfficeScreen .auth-card-close
{
	display: none;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .broker-office-info-page-footer
{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title
{
	margin-top: 0;
	margin-bottom: 26px;
	padding: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
	text-align: left;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title::after
{
	content: "중개사무소 정보를 한 곳에서 관리합니다.";
	display: block;
	margin: 7px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-divider,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-profile-guide
{
	display: none;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form
{
	display: grid;
	gap: 0;
	margin-top: 0;
	padding: 26px;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-label
{
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-value
{
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.4;
	text-align: left;
}

body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-profile-action-row
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	width: 100%;
	margin: 26px 0 0;
	padding: 0;
}

@media (max-width: 720px)
{
	body.profile-edit-page-open #authProfileSetupScreen,
	body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
	body.broker-office-edit-page-open #authBrokerOfficeScreen
	{
		padding: 32px 16px 32px;
	}

	body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form
	{
		padding: 18px;
	}

	body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

/* PATCH 2.551: 내정보 4개 화면을 하나의 세트 규격으로 통일 */
:root
{
	--profile-suite-top-gap: 50px;
	--profile-suite-side-gap: 48px;
	--profile-suite-bottom-gap: 8px;
	--profile-suite-outer-width: 1080px;
	--profile-suite-card-width: 600px;
	--profile-suite-title-size: 25px;
	--profile-suite-title-weight: 800;
	--profile-suite-desc-size: 14px;
	--profile-suite-card-padding: 26px;
	--profile-suite-row-label-width: 154px;
	--profile-suite-row-gap: 18px;
	--profile-suite-row-height: 58px;
	--profile-suite-input-height: 44px;
	--profile-suite-footer-gap: 70px;
}

body.myinfo-page-open .sub-topbar,
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.myinfo-page-open .map-filter-bar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .map-wrap,
body.profile-edit-page-open .map-wrap,
body.broker-office-info-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.myinfo-page-open #map,
body.profile-edit-page-open #map,
body.broker-office-info-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .myinfo-page-panel,
body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	width: 100%;
	height: auto;
	min-height: 0;
	margin: 0;
	padding: var(--profile-suite-top-gap) var(--profile-suite-side-gap) var(--profile-suite-bottom-gap);
	background: #f7f8fa;
	color: #111827;
	box-sizing: border-box;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

body.myinfo-page-open .myinfo-page-inner
{
	width: 100%;
	max-width: var(--profile-suite-outer-width);
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-page-head,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading
{
	width: 100%;
	max-width: var(--profile-suite-card-width);
	margin: 0 auto 26px;
	padding: 0;
	box-sizing: border-box;
	text-align: left;
}

body.myinfo-page-open .myinfo-page-title,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title::before,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading h2
{
	margin: 0;
	padding: 0;
	color: #111827;
	font-size: var(--profile-suite-title-size);
	font-weight: var(--profile-suite-title-weight);
	line-height: 1.25;
	letter-spacing: 0;
	text-align: left;
}

body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title
{
	font-size: 0;
	line-height: 0;
}

body.myinfo-page-open .myinfo-page-desc,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-title::after,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-title::after,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-office-edit-heading p
{
	display: block;
	margin: 7px 0 0;
	padding: 0;
	color: #6b7280;
	font-size: var(--profile-suite-desc-size);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: left;
}

body.myinfo-page-open .myinfo-page-card,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-form,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-modal-form,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-form
{
	display: grid;
	gap: 0;
	width: 100%;
	max-width: var(--profile-suite-card-width);
	margin: 0 auto;
	padding: var(--profile-suite-card-padding);
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-page-row,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-field,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-row,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-field
{
	display: grid;
	grid-template-columns: var(--profile-suite-row-label-width) minmax(0, 1fr);
	align-items: center;
	gap: var(--profile-suite-row-gap);
	min-height: var(--profile-suite-row-height);
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-page-label,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field-label,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-label,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
	white-space: nowrap;
}

body.myinfo-page-open .myinfo-page-value,
body.profile-edit-page-open #authProfileSetupScreen .auth-modal-input,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-select-wrap select,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-value,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-input
{
	width: 100%;
	min-width: 0;
	min-height: var(--profile-suite-input-height);
	height: var(--profile-suite-input-height);
	margin: 0;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 700;
	line-height: var(--profile-suite-input-height);
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-company-info,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .broker-office-info-page-footer,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info
{
	display: block;
	visibility: visible;
	position: static;
	width: 100%;
	max-width: var(--profile-suite-outer-width);
	margin: var(--profile-suite-footer-gap) auto 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 400;
	line-height: 1.75;
	letter-spacing: 0;
	text-align: left;
	box-shadow: none;
	transform: none;
	overflow: visible;
	box-sizing: border-box;
}

body.myinfo-page-open .myinfo-company-info::before,
body.profile-edit-page-open #authProfileSetupScreen .auth-profile-common-footer.myinfo-company-info::before,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen .broker-office-info-page-footer::before,
body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-profile-company-info::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: -35px;
	width: 100vw;
	height: 0.8px;
	transform: translateX(-50%);
	background: #e5e7eb;
	pointer-events: none;
	box-shadow: none;
}

@media (max-width: 720px)
{
	:root
	{
		--profile-suite-top-gap: 50px;
		--profile-suite-side-gap: 16px;
		--profile-suite-bottom-gap: 8px;
		--profile-suite-card-padding: 18px;
	}

	body.myinfo-page-open .myinfo-page-row,
	body.profile-edit-page-open #authProfileSetupScreen .auth-modal-field,
	body.profile-edit-page-open #authProfileSetupScreen .auth-profile-photo-field,
	body.broker-office-info-page-open #authBrokerOfficeInfoScreen .auth-myinfo-display-row,
	body.broker-office-edit-page-open #authBrokerOfficeScreen .broker-apply-field
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

/* PATCH 2.551 EOF FINAL: 새 내정보 페이지 패널 우선순위 고정 */
body.auth-page-open #authModal
{
	position: fixed;
	top: var(--topbar-main-height);
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9000;
	display: block;
	padding: 50px 24px 56px;
	overflow-y: auto;
	background: #ffffff;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.auth-page-open #authModal.open
{
	display: block;
}

body.auth-page-open #authModal .auth-modal-dialog
{
	width: min(520px, calc(100vw - 48px));
	min-height: 0;
	height: auto;
	margin: 0 auto;
	padding: 34px 40px 40px;
	color: #111827;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

body.auth-page-open #authModal .auth-modal-title
{
	margin: 0 0 12px;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.28;
	letter-spacing: -0.3px;
	color: #111827;
}

body.auth-page-open #authModal .auth-login-screen,
body.auth-page-open #authModal .auth-signup-terms-screen,
body.auth-page-open #authModal .auth-signup-form-screen,
body.auth-page-open #authModal .auth-forgot-password-screen,
body.auth-page-open #authModal .auth-reset-password-screen
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body.auth-page-open #authModal .auth-modal-divider
{
	width: 28px;
	height: 1px;
	margin: 14px 0 24px;
	background: #d1d5db;
}

body.auth-page-open #authModal .auth-modal-field-label
{
	margin-bottom: 8px;
	font-size: 14px;
	font-weight: 700;
	color: #4b5563;
	letter-spacing: -0.05px;
}

body.auth-page-open #authModal .auth-modal-input
{
	height: 46px;
	padding: 0 14px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 600;
	box-shadow: none;
}

body.auth-page-open #authModal .auth-modal-input::placeholder
{
	color: #9ca3af;
	font-size: 14px;
	font-weight: 500;
}

body.auth-page-open #authModal .auth-modal-input:focus
{
	border-color: #2563eb;
	background: #ffffff;
}

body.auth-page-open #authModal .auth-modal-submit
{
	height: 46px;
	margin-top: 4px;
	border-radius: 0;
	background: #2563eb;
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.08px;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-all-btn,
body.auth-page-open #authSignupTermsScreen .auth-terms-next
{
	width: 100%;
	height: 46px;
	min-height: 46px;
	margin: 4px 0 22px;
	border: 0;
	border-radius: 0;
	background: #2563eb;
	color: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: -0.08px;
	box-shadow: none;
	opacity: 1;
	cursor: pointer;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-all-btn .auth-check-icon
{
	font-size: 17px;
	font-weight: 800;
	line-height: 1;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-all-btn
{
	border: 1px solid #d1d5db;
	background: #ffffff;
	color: #111827;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-list
{
	gap: 14px;
	margin: 0 0 24px;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-item
{
	min-height: 32px;
	gap: 12px;
	color: #374151;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-checkbox
{
	width: 20px;
	height: 20px;
	border: 1px solid #d1d5db;
	border-radius: 0;
	background: #ffffff;
	color: transparent;
	font-size: 14px;
	font-weight: 800;
	line-height: 1;
	box-shadow: none;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-item input:checked + .auth-terms-checkbox
{
	border-color: #2563eb;
	background: #2563eb;
	color: #ffffff;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-open-zone
{
	gap: 12px;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-highlight
{
	color: #111827;
	font-size: 14px;
	font-weight: 800;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-arrow
{
	color: #9ca3af;
	font-size: 22px;
	font-weight: 700;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-next
{
	margin: 0;
	background: #e5e7eb;
	color: #9ca3af;
	cursor: not-allowed;
}

body.auth-page-open #authSignupTermsScreen .auth-terms-next.enabled
{
	background: #2563eb;
	color: #ffffff;
	cursor: pointer;
}

body.auth-page-open #authModal .auth-modal-links,
body.auth-page-open #authModal .auth-modal-footer,
body.auth-page-open #authModal .auth-signup-footer
{
	color: #6b7280;
	font-size: 14px;
	font-weight: 650;
}

body.auth-page-open #authModal .auth-modal-links
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 14px 0 0;
	margin: 0;
	letter-spacing: 0;
}

body.auth-page-open #authModal .auth-remember-id
{
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	color: #374151;
	font-size: 14px;
	font-weight: 650;
	line-height: 1.4;
	letter-spacing: 0;
	cursor: pointer;
	white-space: nowrap;
}

body.auth-page-open #authModal .auth-remember-id input
{
	width: 15px;
	height: 15px;
	margin: 0;
	border: 1px solid #cbd5e1;
	border-radius: 0;
	accent-color: #2563eb;
	cursor: pointer;
}

body.auth-page-open #authModal .auth-modal-find-links
{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 18px;
	margin-left: auto;
	white-space: nowrap;
}

body.auth-page-open #authModal .auth-modal-signup,
body.auth-page-open #authModal .auth-login-switch,
body.auth-page-open #authModal .auth-modal-links button
{
	color: #2563eb;
	font-size: 14px;
	font-weight: 800;
}

body.auth-page-open #authModal:not(.profile-page-mode) .profile-company-info:not(.auth-profile-common-footer)
{
	display: none;
	visibility: hidden;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	pointer-events: none;
}

body.auth-page-open #authModal .auth-profile-common-footer,
body.auth-page-open #authModal .auth-profile-common-footer[hidden]
{
	display: block;
	visibility: visible;
	width: min(1080px, calc(100vw - 48px));
	margin: 70px auto 0;
	padding: 0;
	border-top: 0;
	background: transparent;
	color: #6b7280;
	box-shadow: none;
	position: relative;
}

body.auth-page-open #authModal .auth-profile-common-footer::before,
body.auth-page-open #authModal .auth-profile-common-footer[hidden]::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: -35px;
	width: 100vw;
	height: 0.8px;
	transform: translateX(-50%);
	background: #e5e7eb;
	pointer-events: none;
	box-shadow: none;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-name,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-name
{
	margin: 0 0 9px;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-grid,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-grid
{
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
	margin: 0;
	color: #6b7280;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-grid span,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-grid span
{
	display: inline;
	margin: 0;
}

body.auth-page-open #authModal .auth-profile-common-footer .auth-login-company-grid
{
	display: block;
}

body.auth-page-open #authModal .auth-profile-common-footer .auth-login-company-grid p
{
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin: 0 0 4px;
	padding: 0;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-links,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	margin: 11px 0 0;
	color: #9ca3af;
	font-size: 11px;
	font-weight: 650;
	line-height: 1.45;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-link,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2563eb;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-copyright,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-copyright
{
	position: relative;
	margin: 28px 0 0;
	padding: 12px 0 0;
	color: #9ca3af;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: center;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-copyright span,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-copyright span
{
	color: #8b95a5;
	font-weight: 600;
}

body.auth-page-open #authModal .auth-profile-common-footer .profile-company-copyright::before,
body.auth-page-open #authModal .auth-profile-common-footer .myinfo-company-copyright::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 100vw;
	height: 0.8px;
	transform: translateX(-50%);
	background: #e5e7eb;
	pointer-events: none;
	box-shadow: none;
}

body.auth-page-open #authModal .auth-modal-close,
body.auth-page-open #authModal .auth-modal-back
{
	top: 18px;
	color: #6b7280;
	background: transparent;
}

body.auth-page-open #authModal:not(.profile-page-mode) .auth-modal-close
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.auth-page-open .sub-topbar,
body.auth-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.auth-page-open .map-wrap,
body.auth-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.auth-recovery-page-open #authModal
{
	display: block;
	visibility: visible;
	pointer-events: auto;
	z-index: 190000;
}

body.auth-recovery-page-open #authModal.open
{
	display: block;
}

body.auth-recovery-page-open #authModal .auth-modal-dialog
{
	position: relative;
	z-index: 1;
}

@media (max-width: 720px)
{
	body.auth-page-open #authModal
	{
		padding: 50px 16px 40px;
	}

	body.auth-page-open #authModal .auth-modal-dialog
	{
		width: 100%;
		padding: 28px 22px 32px;
	}
}

body.profile-edit-page-open #authModal,
body.broker-office-info-page-open #authModal,
body.broker-office-edit-page-open #authModal,
body.myinfo-page-open #authProfileSetupScreen,
body.profile-edit-page-open #authProfileSetupScreen,
body.broker-office-info-page-open #authBrokerOfficeInfoScreen,
body.broker-office-edit-page-open #authBrokerOfficeScreen
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .sub-topbar,
body.profile-edit-page-open .sub-topbar,
body.broker-office-info-page-open .sub-topbar,
body.broker-office-edit-page-open .sub-topbar,
body.myinfo-page-open .map-filter-bar,
body.profile-edit-page-open .map-filter-bar,
body.broker-office-info-page-open .map-filter-bar,
body.broker-office-edit-page-open .map-filter-bar
{
	display: none;
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open .map-wrap,
body.profile-edit-page-open .map-wrap,
body.broker-office-info-page-open .map-wrap,
body.broker-office-edit-page-open .map-wrap,
body.myinfo-page-open #map,
body.profile-edit-page-open #map,
body.broker-office-info-page-open #map,
body.broker-office-edit-page-open #map
{
	visibility: hidden;
	pointer-events: none;
}

body.myinfo-page-open #myInfoPagePanel,
body.profile-edit-page-open #profileEditPagePanel,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: block;
	visibility: visible;
	width: 100vw;
	margin: 0;
	padding: 70px 48px 8px;
	background: #f7f8fa;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-inner,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-inner,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-inner,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-inner
{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	width: 100%;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-head,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-head,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-head,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-head
{
	margin-top: 0;
	margin-bottom: 26px;
	padding: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-title,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-title,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-title,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-title
{
	margin: 0;
	padding: 0;
	color: #111827;
	font-size: 25px;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: 0;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-desc,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-desc,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-desc,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-desc
{
	margin: 7px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.45;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-card,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-card,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-card,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-card
{
	display: grid;
	gap: 0;
	padding: 26px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 1px solid #eef2f7;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-label,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-label,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-label,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-label
{
	margin: 0;
	color: #111827;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.4;
	text-align: left;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value,
body.profile-edit-page-open #profileEditPagePanel .profile-suite-input,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .profile-suite-input
{
	width: 100%;
	height: 44px;
	min-height: 44px;
	margin: 0;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	color: #111827;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 0;
	font-variant-numeric: tabular-nums;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-value,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value
{
	display: flex;
	align-items: center;
}

body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-value a
{
	min-width: 0;
	color: #2563eb;
	font: inherit;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-decoration: none;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-row
{
	min-height: 102px;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-control
{
	display: flex;
	align-items: center;
	gap: 14px;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo-box
{
	width: 76px;
	height: 76px;
	margin: 0;
	border-radius: 999px;
	overflow: hidden;
	border: 1px solid #dbe3ec;
}

body.profile-edit-page-open #profileEditPagePanel .myinfo-page-photo
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-photo-btn
{
	height: 38px;
	padding: 0 18px;
	background: #fff;
	border: 1px solid #dbe3ec;
	border-radius: 8px;
	color: #374151;
	font-size: 13px;
	font-weight: 700;
	box-shadow: none;
}

body.profile-edit-page-open #profileEditPagePanel .profile-suite-consent
{
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 0;
	color: #6b7280;
	font-size: 14px;
	font-weight: 500;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-actions,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-actions,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-actions,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px;
	margin-top: 26px;
	width: 100%;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-primary,
body.myinfo-page-open #myInfoPagePanel .myinfo-page-secondary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-primary,
body.profile-edit-page-open #profileEditPagePanel .myinfo-page-secondary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-primary,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-secondary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-primary,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-secondary
{
	width: 100%;
	height: 52px;
	min-height: 52px;
	margin: 0;
	border-radius: 8px;
	font-size: 16px;
	font-weight: 800;
	box-shadow: none;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-page-danger
{
	background: #ffffff;
	border: 1px solid #dbe3ec;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info
{
	display: block;
	visibility: visible;
	position: relative;
	width: 100%;
	max-width: 1080px;
	margin: 70px auto 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #8b95a1;
	font-size: 11px;
	font-weight: 450;
	line-height: 1.75;
	text-align: left;
	box-shadow: none;
	box-sizing: border-box;
}

body.myinfo-page-open #myInfoPagePanel .myinfo-company-info::before,
body.profile-edit-page-open #profileEditPagePanel .myinfo-company-info::before,
body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-company-info::before,
body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-company-info::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: -35px;
	width: 100vw;
	height: 0.8px;
	transform: translateX(-50%);
	background: #e5e7eb;
	pointer-events: none;
	box-shadow: none;
}

.payment-page-panel .payment-plan-card,
.payment-page-panel .payment-tab-btn,
.payment-page-panel .payment-select-btn,
.payment-page-panel .payment-plan-btn
{
	box-shadow: none;
}

.payment-page-panel .payment-plan-card:has(.payment-plan-btn.is-current)
{
	border: 1px solid #2563eb;
	box-shadow: none;
}

@media (max-width: 720px)
{
	body.myinfo-page-open #myInfoPagePanel,
	body.profile-edit-page-open #profileEditPagePanel,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel
	{
		padding: 32px 16px 32px;
	}

	body.myinfo-page-open #myInfoPagePanel .myinfo-page-row,
	body.profile-edit-page-open #profileEditPagePanel .myinfo-page-row,
	body.broker-office-info-page-open #brokerOfficeInfoPagePanel .myinfo-page-row,
	body.broker-office-edit-page-open #brokerOfficeEditPagePanel .myinfo-page-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
		padding: 14px 0;
	}
}

/* PATCH 2.670: MY 리얼제주 통합 탭 페이지 */
.my-suite-panel
{
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	display: none;
	background: #ffffff;
	color: #111827;
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-gutter: stable;
	padding: 72px 32px 0;
}

body.my-suite-page-open .my-suite-panel,
.my-suite-panel[aria-hidden="false"]
{
	display: block;
}

body.my-suite-page-open .sub-topbar,
body.my-suite-page-open .sidebar,
body.my-suite-page-open .resizer,
body.my-suite-page-open .map-wrap
{
	display: none;
}

.my-suite-inner
{
	width: 1180px;
	max-width: calc(100vw - 64px);
	min-height: calc(100vh - var(--global-topbar-height, 0px) - 122px);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
}

.my-suite-title
{
	margin: 0 0 52px;
	text-align: center;
	font-size: 34px;
	line-height: 1.2;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #111827;
}

.my-suite-tabs
{
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	width: 100%;
	min-width: 0;
	border: 1px solid #e5e7eb;
	border-right: 0;
	background: #ffffff;
	box-sizing: border-box;
}

.my-suite-tab
{
	width: 100%;
	min-width: 0;
	height: 56px;
	border: 0;
	border-right: 1px solid #e5e7eb;
	background: #ffffff;
	color: #111827;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: -0.02em;
	cursor: pointer;
}

.my-suite-tab.active
{
	background: #2563eb;
	color: #ffffff;
	font-weight: 600;
}

.my-suite-content
{
	width: min(560px, 100%);
	min-height: 260px;
	margin: 72px auto 0;
	border: 1px solid #eef2f7;
	padding: 42px 48px;
	background: #ffffff;
	text-align: center;
}

.my-suite-content-title
{
	margin: 0 0 14px;
	font-size: 22px;
	line-height: 1.3;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: #111827;
}

.my-suite-content-desc
{
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: -0.02em;
	color: #64748b;
}

.my-suite-content.my-suite-content-profile
{
	width: min(560px, 100%);
	margin-top: 72px;
	padding: 0;
	border: 0;
	text-align: left;
}

.my-suite-content.my-suite-payment-content
{
	width: 100%;
	margin-top: 72px;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

.my-suite-payment-content .payment-page-inner
{
	width: 100%;
	max-width: 100%;
	margin: 0;
}

.my-suite-payment-content .payment-page-head
{
	margin-bottom: 24px;
}

.my-suite-payment-content .payment-company-info
{
	display: none;
}

.my-suite-payment-content .payment-plan-period
{
	margin: 10px 0 0;
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-align: center;
}

.payment-plan-period
{
	margin: 10px 0 0;
	color: #64748b;
	font-size: 12px;
	line-height: 1.45;
	font-weight: 600;
	letter-spacing: -0.02em;
	text-align: center;
}

.payment-plan-card .payment-plan-btn,
.payment-plan-card .payment-plan-btn.is-secondary,
.payment-plan-card .payment-plan-btn.is-current,
.payment-plan-card .payment-plan-btn:disabled
{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 42px;
	min-height: 42px;
	padding: 0 18px;
	box-sizing: border-box;
	line-height: 1;
}

.my-suite-payment-content .payment-plan-card:not(:has(.payment-plan-period))::after,
.payment-page-panel .payment-plan-card:not(:has(.payment-plan-period))::after
{
	content: "";
	display: block;
	height: 27px;
}

.my-suite-payment-content .payment-plan-card:has(.payment-plan-period),
.payment-page-panel .payment-plan-card:has(.payment-plan-period)
{
	padding-bottom: 10px;
}

.my-suite-company-footer
{
	position: relative;
	width: 100%;
	max-width: 100%;
	margin: auto 0 0;
	padding: 68px 0 48px;
	background: transparent;
	color: #6b7280;
	text-align: left;
	box-sizing: border-box;
}

.my-suite-company-footer::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: 35px;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
	background: rgba(229, 231, 235, 0.8);
	pointer-events: none;
	box-shadow: none;
}

.my-suite-company-name
{
	margin: 0 0 12px;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
}

.my-suite-company-grid
{
	display: block;
	margin: 0;
	color: #6b7280;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.58;
	letter-spacing: 0;
}

.my-suite-company-grid p
{
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	margin: 0 0 4px;
	padding: 0;
}

.my-suite-company-grid span
{
	display: inline;
	margin: 0;
}

.my-suite-company-links
{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 8px;
	margin: 12px 0 0;
	color: #9ca3af;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
}

.my-suite-company-link
{
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2563eb;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
}

.my-suite-company-copyright
{
	position: relative;
	margin: 33px 0 0;
	padding: 12px 0 0;
	color: #9ca3af;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.45;
	letter-spacing: 0;
	text-align: center;
}

.my-suite-company-copyright span
{
	color: #8b95a5;
	font-weight: 600;
}

.my-suite-company-copyright::before
{
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	width: 100vw;
	height: 1px;
	transform: translateX(-50%);
	background: rgba(229, 231, 235, 0.8);
	pointer-events: none;
	box-shadow: none;
}

.admin-page-company-footer
{
	width: 1180px;
	max-width: calc(100vw - 64px);
	margin: auto auto 0;
}

.admin-page-simple-footer
{
	width: 1180px;
	max-width: calc(100vw - 64px);
	margin: auto auto 0;
	padding: 0 0 48px;
	box-sizing: border-box;
	text-align: center;
}

.admin-page-simple-copy
{
	margin-top: 72px;
	color: #9ca3af;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}

.admin-page-panel,
.broker-home-panel,
.my-suite-panel,
.notice-page-panel,
.payment-page-panel,
.myinfo-page-panel,
.profile-suite-panel
{
	overflow-y: scroll;
	overflow-x: hidden;
	scrollbar-gutter: stable;
	scrollbar-color: transparent transparent;
}

.admin-page-panel::-webkit-scrollbar,
.broker-home-panel::-webkit-scrollbar,
.my-suite-panel::-webkit-scrollbar,
.notice-page-panel::-webkit-scrollbar,
.payment-page-panel::-webkit-scrollbar,
.myinfo-page-panel::-webkit-scrollbar,
.profile-suite-panel::-webkit-scrollbar
{
	width: 12px;
	background: transparent;
}

.admin-page-panel::-webkit-scrollbar-track,
.broker-home-panel::-webkit-scrollbar-track,
.my-suite-panel::-webkit-scrollbar-track,
.notice-page-panel::-webkit-scrollbar-track,
.payment-page-panel::-webkit-scrollbar-track,
.myinfo-page-panel::-webkit-scrollbar-track,
.profile-suite-panel::-webkit-scrollbar-track,
.admin-page-panel::-webkit-scrollbar-thumb,
.broker-home-panel::-webkit-scrollbar-thumb,
.my-suite-panel::-webkit-scrollbar-thumb,
.notice-page-panel::-webkit-scrollbar-thumb,
.payment-page-panel::-webkit-scrollbar-thumb,
.myinfo-page-panel::-webkit-scrollbar-thumb,
.profile-suite-panel::-webkit-scrollbar-thumb
{
	background: transparent;
	border-color: transparent;
}


.my-suite-profile-card
{
	display: grid;
	gap: 0;
	padding: 30px;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	background: #ffffff;
}

.my-suite-profile-head
{
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	margin-bottom: 22px;
	padding-bottom: 22px;
	border-bottom: 1px solid #eef2f7;
}

.my-suite-profile-photo
{
	width: 76px;
	height: 76px;
	border: 1px solid #dbe3ec;
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
}

.my-suite-profile-photo img
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.my-suite-profile-name
{
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: 750;
	letter-spacing: -0.02em;
	color: #111827;
}

.my-suite-profile-email
{
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 500;
	color: #6b7280;
}

.my-suite-profile-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 54px;
	border-bottom: 1px solid #eef2f7;
}

.my-suite-profile-row:last-of-type
{
	border-bottom: 0;
}

.my-suite-profile-label
{
	font-size: 14px;
	line-height: 1.4;
	font-weight: 700;
	color: #111827;
}

.my-suite-profile-value
{
	min-width: 0;
	font-size: 14px;
	line-height: 1.45;
	font-weight: 500;
	color: #374151;
	overflow-wrap: anywhere;
}

.my-suite-profile-status
{
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 10px;
	border: 1px solid #dbeafe;
	border-radius: 999px;
	background: #eff6ff;
	color: #2563eb;
	font-size: 13px;
	font-weight: 650;
}

.my-suite-profile-actions
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 26px;
}

.my-suite-profile-btn
{
	height: 48px;
	border: 1px solid #dbe3ec;
	border-radius: 6px;
	background: #ffffff;
	color: #374151;
	font-size: 15px;
	font-weight: 650;
	cursor: pointer;
}

.my-suite-profile-btn.primary
{
	border-color: #2563eb;
	background: #2563eb;
	color: #ffffff;
}

.my-suite-profile-loading
{
	margin: 0;
	padding: 42px 0;
	text-align: center;
	color: #64748b;
	font-size: 14px;
	font-weight: 500;
}

.my-suite-profile-desc
{
	margin: -28px 0 0;
	text-align: center;
	color: #64748b;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.6;
}

.my-suite-content-profile .myinfo-page-card
{
	display: grid;
	gap: 0;
	width: 100%;
	max-width: 560px;
	min-height: 260px;
	padding: 19px 26px 26px;
	margin-left: auto;
	margin-right: auto;
	background: #ffffff;
	border: 1px solid #e5e7eb;
	border-radius: 0;
	box-shadow: none;
}

.my-suite-content-profile .myinfo-page-card:has(.my-suite-myinfo-photo-box)
{
	padding-top: 42px;
}

.my-suite-content-profile .myinfo-page-card:has(.my-suite-profile-desc) .my-suite-profile-loading
{
	padding-top: 42px;
	padding-bottom: 0;
}

.my-suite-content-profile .myinfo-page-card:has(.my-suite-profile-desc) .my-suite-profile-desc
{
	margin: 12px 0 0;
}

.my-suite-content-profile .myinfo-page-photo-box
{
	width: 76px;
	height: 76px;
	margin: 0 auto 22px;
	border: 1px solid #dbe3ec;
	border-radius: 999px;
	overflow: hidden;
	background: #f1f5f9;
}

.my-suite-content-profile .myinfo-page-photo
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.my-suite-page-open .my-suite-profile-edit-photo-control
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin: 0 auto 22px;
}

body.my-suite-page-open .my-suite-profile-edit-photo-control .my-suite-myinfo-photo-box
{
	flex: 0 0 auto;
	margin: 0;
}

body.my-suite-page-open .my-suite-profile-edit-photo-control .profile-suite-photo-btn
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	min-width: 124px;
	padding: 0 18px;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	background: #ffffff;
	color: #374151;
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none;
	transform: none;
	transition: none;
}

.my-suite-content-profile .myinfo-page-row
{
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	align-items: center;
	gap: 18px;
	min-height: 58px;
	border-bottom: 0;
}

.my-suite-content-profile .myinfo-page-label
{
	color: #4b5563;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
}

.my-suite-content-profile .myinfo-page-value
{
	display: flex;
	align-items: center;
	min-height: 44px;
	padding: 0 14px;
	background: #f8fafc;
	border: 1px solid #dbe3ec;
	color: #111827;
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	overflow-wrap: anywhere;
}

.my-suite-content-profile .profile-suite-input
{
	width: 100%;
	max-width: none;
	min-height: 44px;
	padding: 0 14px;
	border: 1px solid #dbe3ec;
	border-radius: 0;
	background: #ffffff;
	color: #111827;
	font-size: 14px;
	font-weight: 400;
	line-height: normal;
	box-sizing: border-box;
}

.my-suite-content-profile .profile-suite-input:focus
{
	outline: 0;
	border-color: #9fb6d8;
	border-radius: 0;
	box-shadow: none;
}

.my-suite-content-profile select.profile-suite-input
{
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	padding-right: 42px;
	background-image: none;
}

.my-suite-content-profile .profile-suite-select-wrap
{
	position: relative;
	width: 100%;
}

.my-suite-content-profile .profile-suite-select-wrap .profile-suite-input
{
	display: block;
	height: 44px;
	min-height: 44px;
	padding: 0 42px 0 14px;
	line-height: 44px;
}

.my-suite-content-profile .profile-suite-select-wrap .auth-profile-select-arrow
{
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #64748b;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
	pointer-events: none;
}

.my-suite-content-profile .myinfo-page-row
{
	width: 508px;
	max-width: 508px;
	height: 58px;
	min-height: 58px;
	margin-left: 0;
	margin-right: 0;
	grid-template-columns: 118px minmax(0, 372px);
}

.my-suite-content-profile .my-suite-myinfo-card .myinfo-page-label
{
	line-height: 1.4;
	letter-spacing: 0;
}

.my-suite-content-profile .my-suite-myinfo-card .myinfo-page-value,
.my-suite-content-profile .my-suite-myinfo-card .profile-suite-input
{
	height: 44px;
	min-height: 44px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	box-sizing: border-box;
}

.my-suite-content-profile .my-suite-myinfo-card .myinfo-page-value
{
	line-height: 42px;
}

.my-suite-content-profile .my-suite-myinfo-card .profile-suite-input
{
	line-height: 42px;
}

.my-suite-content-profile .my-suite-myinfo-card .profile-suite-select-wrap .profile-suite-input
{
	line-height: 42px;
}

.my-suite-content-profile .myinfo-page-actions
{
	width: 372px;
	max-width: 372px;
	margin-left: 136px;
	justify-content: flex-end;
}

.my-suite-content-profile .myinfo-page-actions:has(.myinfo-page-secondary)
{
	justify-content: stretch;
}

.my-suite-content-profile .myinfo-page-actions:has(.myinfo-page-secondary) .myinfo-page-primary,
.my-suite-content-profile .myinfo-page-actions:has(.myinfo-page-secondary) .myinfo-page-secondary
{
	flex: 1 1 0;
	width: auto;
}

.my-suite-content-profile .myinfo-page-actions
{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 14px;
	margin-top: 18px;
	padding-right: 0;
}

.my-suite-content-profile .myinfo-page-actions:has([data-my-suite-action="broker-office-apply"])
{
	width: 100%;
	max-width: none;
	margin-left: 0;
	margin-top: 32px;
	justify-content: center;
}

.my-suite-content-profile .myinfo-page-primary,
.my-suite-content-profile .myinfo-page-secondary
{
	width: 180px;
	height: 52px;
	border-radius: 0;
	font-size: 16px;
	font-weight: 750;
}

.my-suite-content-profile .myinfo-page-primary
{
	border: 1px solid #dbe3ec;
	background: #ffffff;
	color: #374151;
}

.my-suite-content-profile .myinfo-page-secondary
{
	border: 1px solid #dbe3ec;
	background: #ffffff;
	color: #374151;
}

@media (max-width: 900px)
{
	.my-suite-panel
	{
		padding: 40px 16px 0;
	}

	.my-suite-title
	{
		margin-bottom: 28px;
		font-size: 28px;
	}

	.my-suite-tabs
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.my-suite-tab
	{
		height: 50px;
		font-size: 14px;
	}

	.my-suite-content
	{
		margin-top: 36px;
		padding: 30px 22px;
	}

	.my-suite-content.my-suite-content-profile
	{
		margin-top: 17px;
		padding: 0;
	}

	.my-suite-profile-card
	{
		padding: 22px;
	}

	.my-suite-profile-head,
	.my-suite-profile-row,
	.my-suite-profile-actions
	{
		grid-template-columns: 1fr;
	}

	.my-suite-profile-head
	{
		justify-items: center;
		text-align: center;
	}

	.my-suite-content-profile .myinfo-page-row,
	.my-suite-content-profile .myinfo-page-actions
	{
		width: 100%;
		max-width: 100%;
		grid-template-columns: 1fr;
	}

	.my-suite-content-profile .myinfo-page-actions
	{
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		justify-content: stretch;
	}

	.my-suite-content-profile .myinfo-page-primary,
	.my-suite-content-profile .myinfo-page-secondary
	{
		width: 100%;
	}
}

/* PATCH 2.675: MY 리얼제주에서도 글로벌 상단바 메뉴 유지 */
body.my-suite-page-open .global-topbar
{
	display: block;
	visibility: visible;
	opacity: 1;
	z-index: 150;
	border-bottom: 1.4px solid var(--line);
	box-shadow: none;
}

body.my-suite-page-open .global-topbar-inner
{
	display: block;
	visibility: visible;
	opacity: 1;
}

body.my-suite-page-open .global-topbar-left,
body.my-suite-page-open .global-topbar-menu,
body.my-suite-page-open .global-topbar-right
{
	display: flex;
	visibility: visible;
	opacity: 1;
}

body.my-suite-page-open .my-suite-panel
{
	z-index: 120;
}

/* PATCH 2.678: MY 화면 상단 메뉴 항목 표시 복구 */
body.my-suite-page-open .global-topbar .topbar-menu-item,
body.my-suite-page-open .global-topbar .topbar-menu-free-wrap
{
	display: inline-flex;
	visibility: visible;
	opacity: 1;
	color: var(--nav-color, #111827);
}

body.my-suite-page-open .global-topbar .topbar-menu-item.active,
body.my-suite-page-open .global-topbar .topbar-menu-item.active:hover
{
	color: var(--nav-active-color, #2563eb);
}

/* PATCH 2.771: 중개사무소 가입 신청 화면 표시 복구 */
body.broker-office-edit-page-open #authBrokerOfficeScreen:not(.auth-screen-hidden)
{
	display: block;
	visibility: visible;
	pointer-events: auto;
	position: fixed;
	inset: var(--global-topbar-height) 0 0 0;
	z-index: 120;
	width: 100%;
	min-height: 0;
	margin: 0;
	overflow-y: auto;
	background: #f7f8fa;
}

#detailAuthTrigger,
#detailAuthTrigger:hover,
#detailAuthTrigger:focus,
#detailAuthTrigger:focus-visible,
#detailAuthTrigger:active,
#detailAuthTrigger.account-open,
.global-auth-trigger,
.global-auth-trigger:hover,
.global-auth-trigger:focus,
.global-auth-trigger:focus-visible,
.global-auth-trigger:active,
.global-auth-trigger.account-open
{
	border: 0;
	outline: 0;
	box-shadow: none;
}

/* ===== REALJEJU 2.903 SINGLE SOURCE TOKENS ===== */
:root
{
	--font-ui: "KoPubWorldDotum", "KoPub World Dotum", "KoPubWorld돋움체", "KoPub 돋움체", -apple-system, BlinkMacSystemFont, "Segoe UI", "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;
	--font-display: var(--font-ui);
	--brand: #2563eb;
	--bg: #f8fafc;
	--line: #edf1f5;
	--text: #111827;
	--shadow: 0 10px 28px rgba(15,23,42,0.06);
	--radius-main: 0px;
	--radius-small: 0px;
	--radius-pill: 0px;
	--topbar-main-height: 63px;
	--topbar-sub-height: 55px;
	--global-topbar-height: var(--topbar-main-height);
	--sub-topbar-height: var(--topbar-sub-height);
	--topbar-row-height: var(--topbar-main-height);
	--topbar-logo-stop-x: 130px;
	--topbar-type-width: 950px;
	--topbar-auth-gap: 0px;
	--sidebar-list-width: 420px;
	--detail-panel-width: var(--rj-detail-panel-width);
	--rj-detail-panel-width: 410px;
	--rj-detail-panel-gap: 16px;
	--rj-detail-panel-edge: 16px;
	--rj-detail-panel-right-safe: 56px;
	--sidebar-current-width: var(--sidebar-list-width);
	--rj-detail-card-margin-x: 20px;
	--rj-detail-card-gap-y: 20px;
	--rj-detail-card-padding-top: 18px;
	--rj-detail-card-padding-right: 18px;
	--rj-detail-card-padding-bottom: 10px;
	--rj-detail-card-padding-left: 18px;
	--rj-detail-title-gap-bottom: 16px;
	--rj-detail-title-padding-y: 0px;
	--rj-detail-title-padding-x: 0px;
	--rj-detail-title-font-size: 17px;
	--rj-detail-title-letter-spacing: 0px;
	--rj-detail-content-font-size: 13px;
	--rj-detail-content-letter-spacing: 0px;
	--rj-detail-row-padding-y: 9px;
	--rj-detail-row-padding-x: 0px;
	--rj-detail-row-last-padding-bottom: 0px;
	--rj-detail-row-min-height: 42px;
	--property-premium-main-label-width: 140px;
	--property-premium-column-gap: 24px;
	--property-premium-row-gap: 14px;
	--property-premium-field-gap: 18px;
	--property-premium-label-input-gap: 10px;
	--property-premium-input-height: 50px;
	--property-premium-option-gap: 44px;
	--property-registrant-main-label-width: 140px;
	--property-registrant-main-gap: 24px;
	--property-registrant-stack-width: 714px;
	--property-registrant-row-height: 50px;
	--property-registrant-row-gap: 8px;
	--property-registrant-column-gap: 36px;
	--property-registrant-field-width: 339px;
	--property-registrant-field-label-width: 52px;
	--property-registrant-field-gap: 28px;
	--property-registrant-input-start-offset: 80px;
	--property-registrant-input-full-width: 634px;
	--property-registrant-input-short-width: 259px;
	--property-registrant-checkbox-size: 24px;
	--property-registrant-check-bottom-gap: 12px;
	--property-registrant-form-bottom-gap: 0px;
}

#sidebarDetailPanel .detail-desc-check-heading,
.detail-desc-check-heading
{
	font-weight: 800;
}

#sidebarDetailPanel .detail-desc,
.detail-desc
{
	overflow-wrap: anywhere;
	word-break: break-word;
}

.detail-desc-source-link
{
	display: inline-flex;
	align-items: baseline;
	gap: 0;
	color: #111827;
	text-decoration: none;
	white-space: nowrap;
}

.detail-desc-source-link strong
{
	font-weight: 800;
}

.detail-desc-source-link span
{
	color: #64748b;
	font-weight: 400;
}

.detail-desc-source-link:hover
{
	text-decoration: underline;
	text-underline-offset: 2px;
}

.detail-desc-url-link
{
	color: #334155;
	text-decoration: none;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.detail-desc-url-link:hover
{
	text-decoration: underline;
	text-underline-offset: 2px;
}



/* PATCH 2.963: 마이페이지 1:1 문의내역 */
.my-suite-content.my-suite-inquiries-content
{
	width: calc((100% / 6) * 4);
	max-width: none;
	margin-top: 72px;
	margin-right: calc(100% / 6);
	margin-left: calc(100% / 6);
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
}

.my-suite-inquiry-head
{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.my-suite-inquiry-primary,
.my-suite-inquiry-secondary
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 18px;
	border-radius: 0;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	cursor: pointer;
}

.my-suite-inquiry-primary
{
	border: 1px solid #2563eb;
	background: #2563eb;
	color: #ffffff;
}

.my-suite-inquiry-secondary
{
	border: 1px solid #dbe3ee;
	background: #ffffff;
	color: #334155;
}

.my-suite-inquiry-empty,
.my-suite-inquiry-empty-text,
.my-suite-inquiry-form,
.my-suite-inquiry-list
{
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #e5e7eb;
	background: #ffffff;
}

.my-suite-inquiry-empty,
.my-suite-inquiry-empty-text
{
	padding: 34px;
	text-align: center;
	color: #64748b;
	font-size: 14px;
	font-weight: 500;
}

.my-suite-inquiry-form
{
	display: grid;
	gap: 10px;
	padding: 30px;
}

.my-suite-inquiry-label
{
	font-size: 13px;
	font-weight: 800;
	color: #111827;
}

.my-suite-inquiry-input,
.my-suite-inquiry-textarea
{
	width: 100%;
	box-sizing: border-box;
}

.my-suite-inquiry-textarea
{
	min-height: 170px;
	height: auto;
	padding: 12px 14px;
	line-height: 1.55;
	resize: vertical;
}

.my-suite-inquiry-status
{
	min-height: 20px;
	margin: 2px 0 0;
	color: #475569;
	font-size: 13px;
	font-weight: 500;
}

.my-suite-inquiry-actions
{
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 6px;
}

.my-suite-inquiry-bottom-actions
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	margin: 0;
	padding: 24px 0;
}

.my-suite-content.my-suite-inquiries-content + .my-suite-company-footer
{
	margin: 0;
	padding-top: 57px;
}

.my-suite-content.my-suite-inquiries-content + .my-suite-company-footer::before
{
	top: 24px;
}

.my-suite-inquiry-list
{
	display: grid;
}

.my-suite-inquiry-item + .my-suite-inquiry-item
{
	border-top: 1px solid #edf2f7;
}

.my-suite-inquiry-row
{
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 86px;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 16px 18px;
	border: 0;
	background: #ffffff;
	text-align: left;
	cursor: pointer;
}

.my-suite-inquiry-date
{
	color: #64748b;
	font-size: 13px;
	font-weight: 500;
}

.my-suite-inquiry-title
{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
}

.my-suite-inquiry-state
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	border: 0;
	background: #eff6ff;
	box-shadow: inset 0 0 0 .5px #dbeafe;
	color: #2563eb;
	font-size: 12px;
	font-weight: 800;
}

.my-suite-inquiry-state.answered
{
	background: #f0fdf4;
	box-shadow: inset 0 0 0 .5px #dcfce7;
	color: #15803d;
}

.my-suite-inquiry-state.deleted
{
	background: #f8fafc;
	box-shadow: inset 0 0 0 .5px #e2e8f0;
	color: #64748b;
}

.my-suite-inquiry-detail
{
	display: none;
	padding: 0 18px 18px;
}

.my-suite-inquiry-item.open .my-suite-inquiry-detail
{
	display: grid;
	gap: 12px;
}

.my-suite-inquiry-detail-block
{
	padding: 16px;
	background: #f8fafc;
	border: 1px solid #edf2f7;
}

.my-suite-inquiry-detail-block strong
{
	display: block;
	margin-bottom: 8px;
	color: #111827;
	font-size: 13px;
	font-weight: 800;
}

.my-suite-inquiry-detail-block p
{
	margin: 0;
	white-space: pre-line;
	color: #334155;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.65;
}

.my-suite-inquiry-detail-block span
{
	display: block;
	margin-top: 8px;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
}

.my-suite-inquiry-reply-form
{
	display: grid;
	gap: 10px;
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #edf2f7;
}

.my-suite-inquiry-reply-textarea
{
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 120px;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid #dbe3ee;
	border-radius: 0;
	background: #ffffff;
	box-shadow: none;
	font-size: 14px;
	line-height: 1.55;
	outline: none;
	resize: vertical;
	transform: none;
}

.my-suite-inquiry-reply-status
{
	margin: 0;
	color: #475569;
	font-size: 12px;
	font-weight: 500;
}

.my-suite-inquiry-reply-status:empty
{
	display: none;
}

.my-suite-inquiry-reply-actions
{
	display: flex;
	justify-content: flex-end;
	margin-top: 6px;
}

@media (max-width: 720px)
{
	.my-suite-inquiry-head,
	.my-suite-inquiry-actions
	{
		align-items: stretch;
		flex-direction: column;
	}

	.my-suite-inquiry-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}
}


/* PATCH 2.963: 1:1 문의 입력칸 포커스 파란 테두리 제거 */
.my-suite-inquiry-input:focus,
.my-suite-inquiry-textarea:focus
{
	border-color: #dbe3ee;
	box-shadow: none;
	outline: none;
}


/* PATCH 2.963: 1:1 문의 입력칸 클릭/포커스 효과 완전 제거 */
.my-suite-inquiry-input,
.my-suite-inquiry-textarea,
.my-suite-inquiry-input:focus,
.my-suite-inquiry-input:focus-visible,
.my-suite-inquiry-input:active,
.my-suite-inquiry-textarea:focus,
.my-suite-inquiry-textarea:focus-visible,
.my-suite-inquiry-textarea:active
{
	border-color: #dbe3ee !important;
	box-shadow: none !important;
	outline: none !important;
	background: #ffffff;
}


/* PATCH 2.963: 1:1 문의 내역 삭제 버튼 */
.my-suite-inquiry-row
{
	grid-template-columns: 92px minmax(0, 1fr) 86px 54px;
}

.my-suite-inquiry-delete
{
	height: 28px;
	padding: 0 10px;
	border: 0;
	background: #ffffff;
	box-shadow: inset 0 0 0 .5px #fecaca;
	color: #dc2626;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.my-suite-inquiry-delete:hover
{
	background: #fff5f5;
}

@media (max-width: 720px)
{
	.my-suite-inquiry-row
	{
		grid-template-columns: 1fr;
	}

	.my-suite-inquiry-delete
	{
		justify-self: start;
	}
}


/* PATCH 2.963: 1:1 문의 상태 옆 삭제 버튼 정렬 */
.my-suite-inquiry-row
{
	grid-template-columns: 92px minmax(0, 1fr) auto !important;
}

.my-suite-inquiry-state-actions
{
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	white-space: nowrap;
}

.my-suite-inquiry-state-actions .my-suite-inquiry-delete
{
	flex: 0 0 auto;
}

@media (max-width: 720px)
{
	.my-suite-inquiry-state-actions
	{
		justify-content: flex-start;
	}
}


/* PATCH 2.963: 1:1 문의 삭제 버튼 중첩 버튼 구조 제거 */
.my-suite-inquiry-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center;
	gap: 8px;
	padding: 0 18px 0 0;
}

.my-suite-inquiry-main
{
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr) 86px;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 16px 0 16px 18px;
	border: 0;
	background: transparent;
	text-align: left;
	cursor: pointer;
}

@media (max-width: 720px)
{
	.my-suite-inquiry-row,
	.my-suite-inquiry-main
	{
		grid-template-columns: 1fr !important;
	}

	.my-suite-inquiry-row
	{
		padding: 16px 18px;
	}

	.my-suite-inquiry-main
	{
		padding: 0;
	}
}


/* PATCH 2.963: 1:1 문의 삭제 버튼 우측 여백 정렬 */
.my-suite-inquiry-row
{
	padding-right: 16px !important;
}


/* PATCH 2.963: 1:1 문의 제목 입력 한 줄 배치 및 상태 변화 제거 */
.my-suite-inquiry-title-row
{
	display: grid;
	grid-template-columns: 72px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
}

.my-suite-inquiry-title-row .my-suite-inquiry-label
{
	margin: 0;
}

.my-suite-inquiry-input,
.my-suite-inquiry-input:hover,
.my-suite-inquiry-input:focus,
.my-suite-inquiry-input:focus-visible,
.my-suite-inquiry-input:active
{
	-webkit-appearance: none !important;
	appearance: none !important;
	height: 44px !important;
	min-height: 44px !important;
	padding: 0 14px !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}

.my-suite-inquiry-textarea,
.my-suite-inquiry-textarea:hover,
.my-suite-inquiry-textarea:focus,
.my-suite-inquiry-textarea:focus-visible,
.my-suite-inquiry-textarea:active
{
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 1px solid #dbe3ee !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	outline: none !important;
	transform: none !important;
}

@media (max-width: 720px)
{
	.my-suite-inquiry-title-row
	{
		grid-template-columns: 1fr;
		gap: 8px;
	}
}


/* PATCH 2.963: 1:1 문의 글자수/버튼 영역 정렬 */
.my-suite-inquiry-counter
{
	margin-top: 4px !important;
	margin-bottom: 0 !important;
	color: #64748b;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
	text-align: right;
}

.my-suite-inquiry-status
{
	min-height: 0 !important;
	margin: 0 !important;
	line-height: 1.4;
}

.my-suite-inquiry-form .my-suite-inquiry-actions
{
	margin-top: 0 !important;
	padding-top: 30px !important;
}


/* PATCH 2.963: 1:1 문의 상태/삭제 버튼 높이 통일 */
.my-suite-panel .my-suite-inquiry-state,
.my-suite-panel .my-suite-inquiry-delete
{
	height: 28px !important;
	min-height: 28px !important;
	line-height: 26px !important;
	box-sizing: border-box;
}

/* PATCH 3.107: 관리자 1:1 문의 목록 최종 행 규격 */
body.admin-page-open .admin-inquiries-content
{
	width: 100%;
	max-width: 1324px;
	margin: 0 auto;
}

body.admin-page-open .admin-inquiries-head
{
	margin: 0 0 36px;
}

body.admin-page-open .admin-inquiries-filterbar
{
	display: none;
}

body.admin-page-open .admin-inquiry-table.my-suite-inquiry-list
{
	width: 100%;
	border: 1px solid #e5e7eb;
	background: #ffffff;
}

body.admin-page-open .my-suite-inquiry-row.admin-inquiry-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) 146px 70px;
	align-items: center;
	gap: 16px;
	width: 100%;
	min-height: 102px;
	padding: 0 28px 0 32px;
	border: 0;
	background: #ffffff;
	box-sizing: border-box;
}

body.admin-page-open .admin-inquiry-main-button
{
	display: grid;
	grid-template-columns: 160px minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	width: 100%;
	min-width: 0;
	min-height: 102px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

body.admin-page-open .admin-inquiry-date
{
	color: #64748b;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0;
}

body.admin-page-open .admin-inquiry-title
{
	color: #111827;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
}

body.admin-page-open .admin-inquiry-row .my-suite-inquiry-state
{
	width: 146px;
	height: 48px;
	min-height: 48px;
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 48px;
}

body.admin-page-open .admin-inquiry-row .my-suite-inquiry-delete
{
	width: 70px;
	height: 48px;
	min-height: 48px;
	box-sizing: border-box;
	border: 1px solid #fecaca;
	background: #ffffff;
	color: #ef4444;
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 46px;
}

body.admin-page-open .my-suite-inquiry-detail.admin-inquiry-detail
{
	padding: 0 28px 28px 32px;
	background: #ffffff;
}

@media (max-width: 720px)
{
	body.admin-page-open .my-suite-inquiry-row.admin-inquiry-row
	{
		grid-template-columns: 1fr;
		align-items: stretch;
		gap: 8px;
		min-height: 0;
		padding: 14px 18px;
	}

	body.admin-page-open .admin-inquiry-main-button
	{
		grid-template-columns: 1fr;
		min-height: 0;
		gap: 8px;
	}

	body.admin-page-open .admin-inquiry-row .my-suite-inquiry-state,
	body.admin-page-open .admin-inquiry-row .my-suite-inquiry-delete
	{
		width: auto;
		min-width: 70px;
		height: 38px;
		min-height: 38px;
		line-height: 36px;
	}
}

/* PATCH 3.108: 관리자 1:1 문의 폭은 탭 2~5열, 행 크기는 마이페이지 문의내역 기준 */
body.admin-page-open .admin-inquiries-content
{
	width: calc((100% / 6) * 4);
	max-width: none;
	margin-left: calc(100% / 6);
	margin-right: calc(100% / 6);
}

/* PATCH 3.172: 중개사 홈은 예전처럼 본문 스크롤을 쓰고, 전역 body 배경 덮어쓰기만 차단 */
html:has(body.broker-home-page-open),
body.broker-home-page-open
{
	background: #ffffff;
}

/* PATCH 3.173: 중개사 홈 아래에 이어지는 숨은 페이지/지도 컨테이너 높이를 끊는다 */
body.broker-home-page-open .payment-page-panel,
body.broker-home-page-open .myinfo-page-panel,
body.broker-home-page-open .property-register-page,
body.broker-home-page-open .notice-page-panel,
body.broker-home-page-open .admin-page-panel,
body.broker-home-page-open .my-suite-panel,
body.broker-home-page-open #authModal
{
	display: none;
}

body.broker-home-page-open:not(.detail-page-panel-open) .app
{
	display: none;
	height: 0;
	min-height: 0;
}

body.broker-home-page-open.detail-page-panel-open .app,
body.my-suite-page-open.detail-page-panel-open .app,
body.admin-page-open.detail-page-panel-open .app
{
	height: 0;
	min-height: 0;
}

body.admin-page-open .admin-inquiries-head
{
	margin: 0 0 18px;
}

body.admin-page-open .admin-inquiries-head .my-suite-content-title
{
	margin: 0 0 14px;
}

body.admin-page-open .my-suite-inquiry-row.admin-inquiry-row
{
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 8px;
	width: 100%;
	min-height: 0;
	padding: 0 16px 0 0;
	border: 0;
	background: #ffffff;
	box-sizing: border-box;
}

body.admin-page-open .admin-inquiry-main-button
{
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr) 86px;
	align-items: center;
	gap: 14px;
	width: 100%;
	min-width: 0;
	min-height: 0;
	padding: 16px 0 16px 18px;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: left;
	cursor: pointer;
}

body.admin-page-open .admin-inquiry-date
{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #64748b;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0;
}

body.admin-page-open .admin-inquiry-author-cell
{
	color: #64748b;
	font-weight: 400;
}

body.admin-page-open .admin-inquiry-title
{
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #111827;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0;
}

body.admin-page-open .admin-inquiry-row .my-suite-inquiry-state
{
	width: 86px;
	height: 28px;
	min-height: 28px;
	box-sizing: border-box;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 26px;
}

body.admin-page-open .admin-inquiry-row .my-suite-inquiry-delete
{
	width: auto;
	height: 28px;
	min-height: 28px;
	padding: 0 10px;
	box-sizing: border-box;
	border: 0;
	background: #ffffff;
	box-shadow: inset 0 0 0 .5px #fecaca;
	color: #dc2626;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 26px;
}

body.admin-page-open .my-suite-inquiry-detail.admin-inquiry-detail
{
	padding: 0 18px 18px;
	background: #ffffff;
}

@media (max-width: 720px)
{
	body.admin-page-open .admin-inquiries-content
	{
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}

	body.admin-page-open .my-suite-inquiry-row.admin-inquiry-row,
	body.admin-page-open .admin-inquiry-main-button
	{
		grid-template-columns: 1fr;
	}

	body.admin-page-open .my-suite-inquiry-row.admin-inquiry-row
	{
		padding: 16px 18px;
	}

	body.admin-page-open .admin-inquiry-main-button
	{
		padding: 0;
	}

	body.admin-page-open .admin-inquiry-row .my-suite-inquiry-state,
	body.admin-page-open .admin-inquiry-row .my-suite-inquiry-delete
	{
		width: auto;
		min-width: 70px;
	}
}

/* PATCH 3.109: 문의내역 하단 선 위/아래 여백 동일 */
.my-suite-content.my-suite-inquiries-content .my-suite-inquiry-bottom-actions
{
	padding: 24px 0 0;
}

.my-suite-content.my-suite-inquiries-content + .my-suite-company-footer
{
	padding-top: 66px;
}

.my-suite-content.my-suite-inquiries-content + .my-suite-company-footer::before
{
	top: 33px;
}

body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"]
{
	margin-bottom: 0;
}

body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"] + .admin-page-company-footer
{
	padding-top: 66px;
}

body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"] + .admin-page-company-footer::before
{
	top: 33px;
}

/* PATCH 3.110: 관리자 페이지 푸터 선 위/아래 여백을 마이페이지와 동일하게 고정 */
body.admin-page-open .admin-page-tab-panel.active
{
	margin-bottom: 0;
}

body.admin-page-open .admin-page-company-footer
{
	margin: 0 auto;
	padding-top: 66px;
}

body.admin-page-open .admin-page-company-footer::before
{
	top: 33px;
}

/* PATCH 3.111: 공지사항 목록 마지막 박스와 푸터 선 사이도 공통 간격만 남김 */
body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="notices"] .admin-notice-manager
{
	margin-bottom: 0;
}

/* PATCH 3.112: 마이페이지/관리자 페이지 콘텐츠 끝에서 푸터 선까지 72px 공통 */
body.my-suite-page-open .my-suite-company-footer,
body.my-suite-page-open .my-suite-content.my-suite-inquiries-content + .my-suite-company-footer
{
	margin: 0;
	padding-top: 105px;
}

body.my-suite-page-open .my-suite-company-footer::before,
body.my-suite-page-open .my-suite-content.my-suite-inquiries-content + .my-suite-company-footer::before
{
	top: 72px;
}

/* PATCH 3.127: 1:1 문의하기 버튼 아래는 푸터 선까지 공통 72px만 남긴다 */
body.my-suite-page-open .my-suite-content.my-suite-inquiries-content .my-suite-inquiry-bottom-actions
{
	margin-bottom: 0;
	padding: 24px 0 0;
}

body.admin-page-open .admin-page-tab-panel.active
{
	margin-bottom: 0;
}

body.admin-page-open .admin-page-company-footer,
body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"] + .admin-page-company-footer
{
	margin: 0 auto;
	padding-top: 105px;
}

body.admin-page-open .admin-page-company-footer::before,
body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"] + .admin-page-company-footer::before
{
	top: 72px;
}

/* PATCH 3.113: 마이페이지 관심매물은 숨은 최소높이 때문에 하단 여백이 커지지 않게 조정 */
body.my-suite-page-open .my-suite-content.my-suite-favorites-content
{
	min-height: 0;
}

/* PATCH 3.148: 마이페이지/중개사 홈 목록 클릭 시 기존 화면은 그대로 두고 오른쪽 상세 패널만 고정 표시 */
body.my-suite-page-open.detail-page-panel-open .sidebar,
body.broker-home-page-open.detail-page-panel-open .sidebar,
body.admin-page-open.detail-page-panel-open .sidebar
{
	display: block;
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 10020;
	width: var(--rj-detail-panel-width);
	max-width: 100vw;
	height: 100%;
	background: transparent;
	border-right: 0;
	box-shadow: none;
	opacity: 1;
	pointer-events: none;
	transform: none;
}

body.my-suite-page-open.detail-page-panel-open::before,
body.broker-home-page-open.detail-page-panel-open::before,
body.admin-page-open.detail-page-panel-open::before
{
	content: "";
	position: fixed;
	top: 0;
	right: var(--rj-detail-panel-width);
	bottom: 0;
	left: 0;
	z-index: 10010;
	background: rgba(17, 24, 39, 0.36);
	pointer-events: none;
}

body.my-suite-page-open.detail-page-panel-open .sidebar-list-panel,
body.broker-home-page-open.detail-page-panel-open .sidebar-list-panel,
body.admin-page-open.detail-page-panel-open .sidebar-list-panel
{
	display: none;
}

body.my-suite-page-open.detail-page-panel-open #sidebarDetailPanel,
body.broker-home-page-open.detail-page-panel-open #sidebarDetailPanel,
body.admin-page-open.detail-page-panel-open #sidebarDetailPanel
{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	z-index: 901;
	width: 100%;
	max-width: 100%;
	height: auto;
	max-height: none;
	border-top: 0;
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* PATCH 3.148: 상세 패널이 열려도 기존 화면 위치와 폭은 유지 */
body.my-suite-page-open.detail-page-panel-open .my-suite-panel,
body.broker-home-page-open.detail-page-panel-open .broker-home-panel
{
	right: 0;
	width: auto;
	pointer-events: auto;
}

body.admin-page-open.detail-page-panel-open .admin-page-panel
{
	right: 0;
	width: auto;
	pointer-events: auto;
}

body.detail-page-panel-open .broker-listing-more-menu,
body.detail-page-panel-open .broker-listing-more-menu.open,
body.detail-page-panel-open .broker-home-filter-menu,
body.detail-page-panel-open .broker-home-filter-menu.open,
body.detail-page-panel-open .global-account-dropdown,
body.detail-page-panel-open .global-account-dropdown.open,
body.detail-page-panel-open .extra-filter-menu,
body.detail-page-panel-open .extra-filter-dropdown.open .extra-filter-menu,
body.detail-page-panel-open .type-filter-menu,
body.detail-page-panel-open .type-filter-dropdown.open .type-filter-menu,
body.detail-page-panel-open .deal-filter-menu,
body.detail-page-panel-open .deal-filter-dropdown.open .deal-filter-menu,
body.detail-page-panel-open .deal-method-filter-menu,
body.detail-page-panel-open .deal-method-filter-dropdown.open .deal-method-filter-menu,
body.detail-page-panel-open .property-register-dropdown-menu,
body.detail-page-panel-open .property-register-dropdown.open .property-register-dropdown-menu,
body.detail-dropdown-suppress .broker-listing-more-menu,
body.detail-dropdown-suppress .broker-listing-more-menu.open,
body.detail-dropdown-suppress .broker-home-filter-menu,
body.detail-dropdown-suppress .broker-home-filter-menu.open,
body.detail-dropdown-suppress .global-account-dropdown,
body.detail-dropdown-suppress .global-account-dropdown.open,
body.detail-dropdown-suppress .extra-filter-menu,
body.detail-dropdown-suppress .extra-filter-dropdown.open .extra-filter-menu,
body.detail-dropdown-suppress .type-filter-menu,
body.detail-dropdown-suppress .type-filter-dropdown.open .type-filter-menu,
body.detail-dropdown-suppress .deal-filter-menu,
body.detail-dropdown-suppress .deal-filter-dropdown.open .deal-filter-menu,
body.detail-dropdown-suppress .deal-method-filter-menu,
body.detail-dropdown-suppress .deal-method-filter-dropdown.open .deal-method-filter-menu,
body.detail-dropdown-suppress .property-register-dropdown-menu,
body.detail-dropdown-suppress .property-register-dropdown.open .property-register-dropdown-menu
{
	display: none;
	pointer-events: none;
}

body.detail-page-panel-open .broker-listing-menu-btn,
body.detail-page-panel-open .broker-home-filter-btn,
body.detail-page-panel-open .extra-filter-trigger,
body.detail-page-panel-open .type-filter-trigger,
body.detail-page-panel-open .deal-filter-trigger,
body.detail-page-panel-open .property-register-dropdown-trigger,
body.detail-dropdown-suppress .broker-listing-menu-btn,
body.detail-dropdown-suppress .broker-home-filter-btn,
body.detail-dropdown-suppress .extra-filter-trigger,
body.detail-dropdown-suppress .type-filter-trigger,
body.detail-dropdown-suppress .deal-filter-trigger,
body.detail-dropdown-suppress .property-register-dropdown-trigger
{
	pointer-events: none;
}

body.detail-page-panel-open .global-topbar-right,
body.detail-page-panel-open .global-account-dropdown,
body.detail-page-panel-open .global-auth-trigger,
body.detail-dropdown-suppress .global-topbar-right,
body.detail-dropdown-suppress .global-account-dropdown,
body.detail-dropdown-suppress .global-auth-trigger
{
	pointer-events: none;
}

body.my-suite-page-open.detail-page-panel-open .my-suite-inner
{
	width: 1180px;
	max-width: calc(100vw - 64px);
}

/* PATCH 3.148: 최초 로딩 시 닫힌 왼쪽 패널이 잠깐 보이는 현상 방지 */
body.sidebar-list-collapsed:not(.detail-page-panel-open) .sidebar
{
	display: none;
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transform: translateX(calc(-1 * var(--sidebar-list-width) - 16px));
	transition: none;
}

body:not(.sidebar-list-collapsed) .sidebar,
body.detail-page-panel-open .sidebar
{
	visibility: visible;
}

/* PATCH 3.132: 오른쪽 패널 가격 웨이트/자간을 왼쪽 매물 카드 기준으로 맞춤 */
#sidebarDetailPanel .detail-summary-price-row
{
	margin: 0 0 12px;
}

#sidebarDetailPanel .detail-summary-price
{
	font-family: var(--font-ui);
	font-variant-numeric: tabular-nums;
	font-size: 27px;
	font-weight: 800;
	letter-spacing: 0;
	line-height: 1.2;
}

#sidebarDetailPanel .detail-title
{
	margin: 0 0 10px;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0;
}

#sidebarDetailPanel .detail-summary-address
{
	margin: 0;
	color: #6b7280;
	font-size: 13.5px;
	font-weight: 430;
	line-height: 1.45;
}

/* PATCH 3.130: 관리자 1:1 문의 상태 버튼 표시 */
body.admin-page-open .admin-inquiries-filterbar
{
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0 0 16px;
}

body.admin-page-open .admin-inquiries-filterbar [data-admin-inquiry-view="deleted"]
{
	margin-left: auto;
}

/* PATCH 3.163: 관리자 1:1 문의는 매물/회원 관리처럼 제목 없이 전체 폭 버튼 영역으로 시작 */
body.admin-page-open .admin-page-tab-panel.active[data-admin-tab-panel="inquiries"]
{
	width: 1180px;
	max-width: calc(100vw - 64px);
}

body.admin-page-open .admin-inquiries-content
{
	width: 100%;
	max-width: none;
	margin: 0;
}

body.admin-page-open .admin-inquiries-head
{
	display: none;
	margin: 0;
}

body.admin-page-open .admin-inquiries-filterbar
{
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0 0 18px;
}

/* PATCH 2.986: 입력/버튼 선택 시 외곽선과 그림자 효과 제거 */
input:focus,
textarea:focus,
select:focus,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.profile-suite-input:focus,
.profile-suite-input:focus-visible,
.auth-modal-input:focus,
.property-register-input:focus,
.property-register-select:focus,
.admin-notice-field input:focus,
.admin-notice-field select:focus,
.admin-notice-field textarea:focus
{
	outline: none !important;
	box-shadow: none !important;
	transform: none !important;
}

button:focus,
button:focus-visible
{
	outline: none !important;
	box-shadow: none !important;
}
