/* 마주센터 시설대관 — 프론트엔드 */

.mrsv {
	--m-brand:  #00B4EC;
	--m-deep:   #00506B;
	--m-live:   #00739F;
	--m-ink:    #16283F;
	--m-mute:   #647890;
	--m-line:   #DCE3EC;
	--m-field:  #EDF1F6;
	--m-tint:   #E4F6FD;
	--m-pick:   #FFCE45;
	font-family: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo",
		"Malgun Gothic", system-ui, sans-serif;
	color: var(--m-ink);
}

/* ------------------------------------------------------- 공간 카드 */

.mrsv-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 14px;
}

.mrsv-card {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 18px 18px 16px;
	background: #fff;
	border: 1px solid var(--m-line);
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow 150ms ease, transform 150ms ease;
}

.mrsv-card:hover {
	box-shadow: 0 4px 16px rgba(22, 40, 63, 0.1);
	transform: translateY(-2px);
}

.mrsv-card__bar {
	width: 36px;
	height: 5px;
	border-radius: 3px;
	margin-bottom: 6px;
}

.mrsv-card__name { font-size: 18px; font-weight: 700; letter-spacing: -0.02em; }
.mrsv-card__meta { font-size: 13px; color: var(--m-mute); }
.mrsv-card__go   { margin-top: 8px; font-size: 13px; font-weight: 600; color: var(--m-live); }

/* --------------------------------------------------------- 예약 패널 */

.mrsv-book {
	width: 100%;
	background: #fff;
	border: 1px solid var(--m-line);
	border-radius: 16px;
	overflow: hidden;
}

.mrsv-book__head {
	padding: 16px 20px;
	background: var(--m-deep);
	color: #fff;
}

.mrsv-book__title {
	margin: 0;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
}

.mrsv-book__tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }

.mrsv-tab {
	padding: 6px 13px;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	color: rgba(255, 255, 255, 0.82);
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
}

.mrsv-tab.is-on { background: var(--m-brand); color: #0B2233; }

.mrsv-book__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

@media (max-width: 700px) {
	.mrsv-book__body { grid-template-columns: 1fr; }
}

.mrsv-pane { padding: 18px; }
.mrsv-pane--time { background: #F7F9FB; border-left: 1px solid var(--m-line); }

@media (max-width: 700px) {
	.mrsv-pane--time { border-left: 0; border-top: 1px solid var(--m-line); }
}

/* 달력 */

.mrsv-monthnav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	margin-bottom: 12px;
	font-size: 15px;
}

.mrsv-mn {
	padding: 4px 11px;
	font-size: 16px;
	font-family: inherit;
	background: var(--m-field);
	border: 0;
	border-radius: 8px;
	color: var(--m-ink);
	cursor: pointer;
	text-decoration: none;
}

.mrsv-cal { width: 100%; border-collapse: collapse; }

.mrsv-cal th {
	padding: 6px 0;
	font-size: 12px;
	font-weight: 600;
	color: var(--m-mute);
}

.mrsv-cal th.sun, .mrsv-cal td.sun .mrsv-day { color: #C0392B; }
.mrsv-cal th.sat, .mrsv-cal td.sat .mrsv-day { color: #2C6BB3; }

.mrsv-cal td { padding: 2px; text-align: center; }

.mrsv-day {
	width: 38px;
	height: 38px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	background: transparent;
	border: 0;
	border-radius: 50%;
	cursor: pointer;
	color: var(--m-ink);
}

.mrsv-cal td.off .mrsv-day {
	background: var(--m-field);
	color: #AEB6C0;
	cursor: not-allowed;
}

.mrsv-cal td.ok .mrsv-day { background: var(--m-pick); color: #4A3800; }

.mrsv-cal td.sel .mrsv-day {
	background: var(--m-brand);
	color: #0B2233;
	box-shadow: 0 0 0 3px rgba(0, 180, 236, 0.28);
}

.mrsv-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--m-mute);
}

.mrsv-legend li { display: flex; align-items: center; gap: 5px; }

.sw {
	width: 12px;
	height: 12px;
	border-radius: 3px;
	display: inline-block;
	background: var(--m-field);
}

.sw--off    { background: var(--m-field); }
.sw--ok     { background: var(--m-pick); }
.sw--sel    { background: var(--m-brand); }
.sw--booked { background: #C9CFD6; }
.sw--hold   { background: #FFE9AE; }

/* 시간 */

.mrsv-daylabel {
	margin: 0 0 12px;
	font-size: 15px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

.mrsv-slots { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }

.mrsv-slots__none {
	grid-column: 1 / -1;
	margin: 20px 0;
	font-size: 14px;
	color: var(--m-mute);
	text-align: center;
}

.mrsv-slot {
	display: block;
	padding: 13px 6px;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-align: center;
	background: #fff;
	border: 1px solid var(--m-line);
	border-radius: 10px;
	color: var(--m-ink);
}

button.mrsv-slot { cursor: pointer; }

.mrsv-slot.is-free:hover { border-color: var(--m-brand); }

.mrsv-slot.is-sel {
	background: var(--m-brand);
	border-color: var(--m-brand);
	color: #0B2233;
}

.mrsv-slot.is-taken { background: var(--m-field); color: #98A2AE; }
.mrsv-slot.is-taken s { text-decoration: line-through; }

.mrsv-slot.is-break {
	background: repeating-linear-gradient(45deg, #F0F2F5, #F0F2F5 6px, #E7EAEE 6px, #E7EAEE 12px);
	color: #7A8492;
	font-weight: 500;
}

/* 하단 */

.mrsv-book__foot {
	padding: 16px 20px 20px;
	border-top: 1px solid var(--m-line);
	background: #fff;
}

.mrsv-limit { margin: 0 0 10px; font-size: 13px; color: var(--m-mute); }
.mrsv-limit span { font-weight: 700; color: var(--m-ink); margin-right: 8px; }
.mrsv-limit em { font-style: normal; color: var(--m-live); }

.mrsv-picked {
	margin: 0 0 14px;
	padding: 12px 14px;
	background: var(--m-field);
	border-radius: 10px;
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	color: var(--m-mute);
}

.mrsv-picked.is-on { background: var(--m-tint); color: var(--m-deep); }

.mrsv-flash {
	margin: 0 0 10px;
	padding: 10px 14px;
	font-size: 13px;
	background: #FFF6DE;
	border-radius: 10px;
	color: #7A5A00;
	display: none;
}

.mrsv-flash.is-on { display: block; }

.mrsv-note { margin: 0 0 12px; font-size: 13px; color: var(--m-mute); }

.mrsv-btn {
	display: block;
	width: 100%;
	padding: 15px;
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	color: #fff;
	background: var(--m-deep);
	border: 0;
	border-radius: 11px;
	cursor: pointer;
}

.mrsv-btn:disabled { background: #C3CBD5; cursor: not-allowed; }

.mrsv-alert {
	margin: 0;
	padding: 14px 20px;
	font-size: 14px;
	line-height: 1.6;
	border-bottom: 1px solid var(--m-line);
}

.mrsv-alert.is-ok    { background: var(--m-tint); color: var(--m-deep); }
.mrsv-alert.is-error { background: #FBEDED; color: #9B2C2C; }
.mrsv-alert__sub     { font-size: 13px; opacity: 0.75; }

/* ------------------------------------------------------- 운영자 화면 */

.mrsv-staff { width: 100%; }

.mrsv-staff__head { display: flex; align-items: center; gap: 10px; }
.mrsv-staff__head h3 { margin: 0; font-size: 20px; }

.mrsv-staff__badge {
	padding: 3px 9px;
	font-size: 11px;
	font-weight: 700;
	background: var(--m-tint);
	color: var(--m-live);
	border-radius: 999px;
}

.mrsv-row {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--m-line);
}

.mrsv-row__name {
	display: flex;
	align-items: center;
	gap: 7px;
	flex: 0 0 130px;
	font-size: 14px;
	font-weight: 600;
}

.mrsv-row__slots { display: flex; flex-wrap: wrap; gap: 4px; }
.mrsv-row__none { font-size: 13px; color: var(--m-mute); }

.mrsv-chip {
	padding: 4px 9px;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	border-radius: 6px;
	border: 1px solid transparent;
}

.mrsv-chip.is-free   { background: var(--m-tint); border-color: var(--m-brand); color: var(--m-deep); }
.mrsv-chip.is-booked { background: #E4E8ED; color: #5A6472; }
.mrsv-chip.is-hold   { background: #FFF0C7; color: #7A5A00; }
.mrsv-chip.is-break  { background: #F2F3F5; color: #98A2AE; }

/* ================================================ 3단계 — 신청서 */

.mrsv-apply,
.mrsv-done,
.mrsv-my {
	width: 100%;
}
.mrsv-done { max-width: 720px; margin: 0 auto; } /* 완료 안내는 가운데 읽기 폭 */

.mrsv-apply__title {
	margin: 0 0 18px;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.mrsv-summary {
	padding: 16px 18px;
	background: var(--m-tint, #E4F6FD);
	border-radius: 12px;
	margin-bottom: 16px;
}

.mrsv-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 5px 0;
}

.mrsv-summary__row span {
	font-size: 13px;
	color: var(--m-mute, #647890);
}

.mrsv-summary__row strong {
	font-size: 15px;
	font-variant-numeric: tabular-nums;
	text-align: right;
}

/* 홀드 카운트다운 */

.mrsv-hold {
	margin: 0 0 20px;
	padding: 11px 14px;
	font-size: 14px;
	background: #FFF8E6;
	border: 1px solid #E8D9A8;
	border-radius: 10px;
	color: #6B5514;
}

.mrsv-hold strong { font-variant-numeric: tabular-nums; }

.mrsv-hold.is-low {
	background: #FDECEC;
	border-color: #E9B4B4;
	color: #9B2C2C;
}

.mrsv-hold.is-expired {
	background: #F2F3F5;
	border-color: #D6DAE0;
	color: #4A5058;
}

/* 폼 */

.mrsv-form h4 {
	margin: 26px 0 12px;
	padding-bottom: 8px;
	font-size: 15px;
	border-bottom: 1px solid var(--m-line, #DCE3EC);
}

.mrsv-field { margin-bottom: 16px; }

.mrsv-field label {
	display: block;
	margin-bottom: 6px;
	font-size: 13px;
	font-weight: 600;
}

.mrsv-field label em {
	color: #C0392B;
	font-style: normal;
}

.mrsv-field input[type="text"],
.mrsv-field input[type="number"],
.mrsv-field textarea {
	width: 100%;
	padding: 11px 12px;
	font-size: 15px;
	font-family: inherit;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 8px;
	background: #fff;
}

.mrsv-field input:focus,
.mrsv-field textarea:focus {
	outline: 2px solid var(--m-brand, #00B4EC);
	outline-offset: 1px;
	border-color: transparent;
}

.mrsv-field input[type="file"] {
	width: 100%;
	padding: 10px;
	font-size: 14px;
	border: 1px dashed var(--m-line, #DCE3EC);
	border-radius: 8px;
	background: #FAFBFC;
}

.mrsv-static {
	padding: 11px 12px;
	font-size: 15px;
	background: #F4F6F9;
	border-radius: 8px;
	color: #3C434A;
}

.mrsv-hint {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	color: var(--m-mute, #647890);
}

.mrsv-check {
	margin: 14px 0;
	padding: 12px 14px;
	background: #F7F9FB;
	border-radius: 10px;
}

.mrsv-check label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	cursor: pointer;
}

.mrsv-check em { color: #C0392B; font-style: normal; }

.mrsv-btn--lg {
	width: 100%;
	margin-top: 20px;
	padding: 16px;
	font-size: 17px;
}

/* 완료 화면 */

.mrsv-done { text-align: center; padding: 20px 0; }

.mrsv-done__mark {
	width: 62px;
	height: 62px;
	margin: 0 auto 16px;
	line-height: 62px;
	font-size: 32px;
	color: #fff;
	background: #17835A;
	border-radius: 50%;
}

.mrsv-done h3 { margin: 0 0 20px; font-size: 21px; }
.mrsv-done .mrsv-summary { text-align: left; }

/* 내 신청 내역 */

.mrsv-card {
	padding: 15px 17px;
	margin-bottom: 10px;
	background: #fff;
	border: 1px solid var(--m-line, #DCE3EC);
	border-left: 4px solid var(--m-mute, #647890);
	border-radius: 10px;
}

.mrsv-card.is-approved  { border-left-color: #17835A; }
.mrsv-card.is-pending   { border-left-color: #B57400; }
.mrsv-card.is-rejected,
.mrsv-card.is-cancelled { border-left-color: #B23B3B; }

.mrsv-card__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.mrsv-badge {
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	border-radius: 999px;
	background: var(--m-tint, #E4F6FD);
	color: var(--m-deep, #00739F);
}

.is-approved  .mrsv-badge { background: #E6F4EE; color: #12684A; }
.is-pending   .mrsv-badge { background: #FDF4E3; color: #8A5B00; }
.is-rejected  .mrsv-badge,
.is-cancelled .mrsv-badge { background: #FBEDED; color: #9B2C2C; }

.mrsv-card__no {
	font-size: 12px;
	color: var(--m-mute, #647890);
	font-variant-numeric: tabular-nums;
}

.mrsv-card__main {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin-bottom: 5px;
}

.mrsv-card__main strong {
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.mrsv-card__sub {
	font-size: 13px;
	line-height: 1.5;
	color: var(--m-mute, #647890);
}

.mrsv-card__reason {
	margin-top: 9px;
	padding: 9px 11px;
	font-size: 13px;
	background: #FBEDED;
	border-radius: 7px;
	color: #9B2C2C;
}

.mrsv-card__files {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 10px;
}

.mrsv-card__files a {
	padding: 5px 10px;
	font-size: 12px;
	background: #F4F6F9;
	border-radius: 6px;
	text-decoration: none;
	color: var(--m-deep, #00739F);
}

.mrsv-card__files em { font-style: normal; opacity: 0.65; }

.mrsv-empty {
	padding: 40px 20px;
	text-align: center;
	background: #F4F6F9;
	border-radius: 12px;
	color: var(--m-mute, #647890);
}

@media (max-width: 520px) {
	.mrsv-summary__row { flex-direction: column; gap: 2px; }
	.mrsv-summary__row strong { text-align: left; }
}

/* ============================================ 4단계 — 운영자·처리 */

.mrsv-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 16px 0 20px;
	border-bottom: 2px solid var(--m-line, #DCE3EC);
}

.mrsv-tab {
	padding: 10px 16px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	color: var(--m-mute, #647890);
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
}

.mrsv-tab.is-on {
	color: var(--m-deep, #00739F);
	border-bottom-color: var(--m-brand, #00B4EC);
}

.mrsv-alert {
	padding: 12px 15px;
	margin-bottom: 16px;
	font-size: 14px;
	border-radius: 10px;
}

.mrsv-alert.is-ok    { background: #E6F4EE; color: #12684A; }
.mrsv-alert.is-error { background: #FBEDED; color: #9B2C2C; }

/* 처리 카드 */

.mrsv-work {
	padding: 16px 18px;
	margin-bottom: 12px;
	background: #fff;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 12px;
}

.mrsv-work__top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 10px;
}

.mrsv-work__ago {
	font-size: 12px;
	color: var(--m-mute, #647890);
}

.mrsv-work__when {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 7px;
}

.mrsv-work__when strong {
	font-size: 16px;
	font-variant-numeric: tabular-nums;
}

.mrsv-work__space {
	padding: 3px 10px;
	font-size: 12px;
	font-weight: 600;
	border: 2px solid var(--m-brand, #00B4EC);
	border-radius: 999px;
}

.mrsv-work__who {
	font-size: 14px;
	margin-bottom: 6px;
}

.mrsv-work__purpose,
.mrsv-work__sub {
	font-size: 13px;
	line-height: 1.6;
	color: var(--m-mute, #647890);
}

.mrsv-work__reason {
	margin-top: 9px;
	padding: 9px 11px;
	font-size: 13px;
	background: #FDF4E3;
	border-radius: 7px;
	color: #8A5B00;
}

.mrsv-work__act {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
	padding-top: 13px;
	border-top: 1px solid var(--m-line, #DCE3EC);
}

/* 거부·취소요청 펼침 */

.mrsv-reject,
.mrsv-reqcancel { display: inline-block; }

.mrsv-reject summary,
.mrsv-reqcancel summary {
	display: inline-block;
	padding: 9px 18px;
	font-size: 14px;
	font-weight: 600;
	color: #9B2C2C;
	background: #FBEDED;
	border-radius: 8px;
	cursor: pointer;
	list-style: none;
}

.mrsv-reject summary::-webkit-details-marker,
.mrsv-reqcancel summary::-webkit-details-marker { display: none; }

.mrsv-reject__body {
	margin-top: 10px;
	padding: 13px 15px;
	background: #F7F9FB;
	border-radius: 10px;
	min-width: 280px;
}

.mrsv-reject__body label {
	display: block;
	margin-bottom: 9px;
	font-size: 13px;
	font-weight: 600;
}

.mrsv-reject__body em { color: #C0392B; font-style: normal; }

.mrsv-reject__body input[type="text"] {
	width: 100%;
	margin-top: 5px;
	padding: 10px 11px;
	font-size: 14px;
	font-family: inherit;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 7px;
}

/* 일정 목록 */

.mrsv-day__row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding: 12px 14px;
	margin-bottom: 7px;
	background: #fff;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 10px;
}

.mrsv-day__row.is-pending { background: #FFFCF5; }

.mrsv-day__time {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	min-width: 100px;
}

.mrsv-day__space {
	padding: 2px 9px;
	font-size: 12px;
	border: 2px solid var(--m-brand, #00B4EC);
	border-radius: 999px;
}

.mrsv-day__org { flex: 1; font-size: 14px; }
.mrsv-day__org em {
	display: block;
	font-style: normal;
	font-size: 12px;
	color: var(--m-mute, #647890);
}

/* 직접 등록 폼 */

.mrsv-field--2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.mrsv-field--2 input,
.mrsv-direct select,
.mrsv-direct input[type="date"],
.mrsv-direct input[type="time"] {
	width: 100%;
	padding: 11px 12px;
	font-size: 15px;
	font-family: inherit;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 8px;
	background: #fff;
}

.mrsv-inline {
	display: inline-flex !important;
	align-items: center;
	gap: 5px;
	margin-right: 16px;
	font-weight: 400 !important;
}

/* 필터·표 */

.mrsv-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 14px;
}

.mrsv-filter input,
.mrsv-filter select {
	padding: 8px 10px;
	font-size: 14px;
	font-family: inherit;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 7px;
	background: #fff;
}

.mrsv-tablewrap { overflow-x: auto; }

.mrsv-table2 {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.mrsv-table2 th {
	padding: 10px 8px;
	font-size: 12px;
	color: var(--m-mute, #647890);
	text-align: left;
	white-space: nowrap;
	border-bottom: 2px solid var(--m-line, #DCE3EC);
}

.mrsv-table2 td {
	padding: 11px 8px;
	border-bottom: 1px solid var(--m-line, #DCE3EC);
	white-space: nowrap;
}

.mrsv-table2 td.num { font-variant-numeric: tabular-nums; }

/* 마이페이지 처리 */

.mrsv-card__act {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 13px;
	padding-top: 12px;
	border-top: 1px solid var(--m-line, #DCE3EC);
}

.mrsv-card__deadline {
	font-size: 12px;
	color: var(--m-mute, #647890);
}

.mrsv-card__wait {
	margin-top: 9px;
	padding: 9px 11px;
	font-size: 13px;
	background: #FDF4E3;
	border-radius: 7px;
	color: #8A5B00;
}

.mrsv-btn--sm {
	padding: 7px 14px !important;
	font-size: 13px !important;
}

.mrsv-btn--ghost {
	background: #F0F3F7 !important;
	color: var(--m-ink, #16283F) !important;
}

.mrsv-btn--danger {
	background: #B23B3B !important;
	color: #fff !important;
}

@media (max-width: 560px) {
	.mrsv-field--2 { grid-template-columns: 1fr; }
	.mrsv-work__act { flex-direction: column; align-items: stretch; }
	.mrsv-work__act .mrsv-btn,
	.mrsv-reject, .mrsv-reject summary { width: 100%; text-align: center; }
}

/* 알림 수신 설정 */

.mrsv-prefs {
	margin-bottom: 14px;
	border: 1px solid var(--m-line, #DCE3EC);
	border-radius: 10px;
	background: #fff;
}

.mrsv-prefs summary {
	padding: 12px 15px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.mrsv-prefs summary::-webkit-details-marker { display: none; }
.mrsv-prefs summary::after { content: ' ▾'; color: var(--m-mute, #647890); }

.mrsv-prefs__body {
	padding: 0 15px 15px;
	border-top: 1px solid var(--m-line, #DCE3EC);
	padding-top: 13px;
}

.mrsv-prefs__body label {
	display: block;
	margin-bottom: 9px;
	font-size: 14px;
}

/* ============================================ 6단계 — 벌점·통계 */

.mrsv-demerit {
	padding: 14px 16px;
	margin-bottom: 14px;
	background: #FFFBF2;
	border: 1px solid #E8D9A8;
	border-radius: 10px;
}

.mrsv-demerit.is-blocked {
	background: #FBEDED;
	border-color: #E9B4B4;
}

.mrsv-demerit__head strong {
	display: block;
	font-size: 15px;
	margin-bottom: 3px;
}

.mrsv-demerit.is-blocked .mrsv-demerit__head strong { color: #9B2C2C; }

.mrsv-demerit__head span {
	font-size: 13px;
	color: var(--m-mute, #647890);
}

.mrsv-demerit__list {
	margin: 11px 0 0;
	padding: 11px 0 0;
	list-style: none;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.mrsv-demerit__list li {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 4px 0;
	font-size: 13px;
}

.mrsv-demerit__list .d { font-variant-numeric: tabular-nums; color: var(--m-mute, #647890); }
.mrsv-demerit__list .t { font-weight: 600; }
.mrsv-demerit__list .p { color: #9B2C2C; font-weight: 600; }
.mrsv-demerit__list .w { color: #12684A; font-weight: 600; }
.mrsv-demerit__list .e { font-size: 12px; color: var(--m-mute, #647890); }

/* 가동률 막대 */

.mrsv-rate {
	display: inline-block;
	width: 54px;
	height: 6px;
	margin-right: 6px;
	vertical-align: middle;
	background: #E8ECF1;
	border-radius: 3px;
	overflow: hidden;
}

.mrsv-rate i {
	display: block;
	height: 100%;
	background: var(--m-brand, #00B4EC);
}

.mrsv-bars { margin: 10px 0 22px; max-width: 560px; }

.mrsv-bar {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 4px 0;
}

.mrsv-bar__label {
	width: 44px;
	flex: 0 0 44px;
	font-size: 13px;
	font-weight: 600;
}

.mrsv-bar__track {
	flex: 1;
	height: 14px;
	background: #EEF2F6;
	border-radius: 4px;
	overflow: hidden;
}

.mrsv-bar__track i {
	display: block;
	height: 100%;
	background: var(--m-deep, #00739F);
}

.mrsv-bar__val {
	width: 78px;
	flex: 0 0 78px;
	font-size: 12px;
	text-align: right;
	font-variant-numeric: tabular-nums;
	color: var(--m-mute, #647890);
}

.mrsv-kpi {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 8px;
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.mrsv-kpi li {
	padding: 11px 14px;
	font-size: 13px;
	background: #F5F7FA;
	border-radius: 9px;
	color: var(--m-mute, #647890);
}

.mrsv-kpi strong {
	color: var(--m-ink, #16283F);
	font-size: 15px;
	font-variant-numeric: tabular-nums;
}

.mrsv-table2 tfoot th {
	padding: 11px 8px;
	border-top: 2px solid var(--m-line, #DCE3EC);
	font-size: 13px;
	text-align: left;
}

/* =========================== 공개 월간 대관 캘린더 v0.7 */
.mrsv-public-calendar{width:100%}
.mrsv-cal-head{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 14px}
.mrsv-cal-head h3{margin:0;font-size:24px;line-height:1.3}
.mrsv-cal-filter{display:flex;justify-content:flex-end;margin:0 0 12px}
.mrsv-cal-filter select{min-width:150px;margin-left:7px;padding:7px 30px 7px 10px}
.mrsv-public-cal{width:100%;table-layout:fixed;border-collapse:collapse;border:1px solid var(--m-line,#DCE3EC);background:#fff}
.mrsv-public-cal th{padding:10px 6px;background:#F6F8FA;border:1px solid var(--m-line,#DCE3EC);font-size:13px;text-align:center}
.mrsv-public-cal td{height:128px;padding:7px;vertical-align:top;border:1px solid var(--m-line,#DCE3EC)}
.mrsv-public-cal td.is-empty{background:#FAFBFC}
.mrsv-public-cal td.is-today{box-shadow:inset 0 0 0 2px var(--m-brand,#00B4EC)}
.mrsv-public-cal__date{margin:0 0 6px;font-size:13px;font-weight:700;text-align:right}
.mrsv-cal-event{display:block;margin:4px 0;padding:5px 6px;border-left:4px solid var(--m-brand,#00B4EC);border-radius:4px;background:#F6F8FA;color:var(--m-ink,#16283F);text-decoration:none;font-size:11px;line-height:1.35;overflow:hidden}
.mrsv-cal-event:hover{background:#EEF3F8;color:var(--m-ink,#16283F)}
.mrsv-cal-event strong,.mrsv-cal-event span,.mrsv-cal-event em{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-style:normal}
.mrsv-cal-event strong{font-variant-numeric:tabular-nums}
.mrsv-cal-event em{margin-top:2px;font-weight:600}
.mrsv-cal-mobile{display:none}
.mrsv-agenda{margin:0 0 18px;padding:0 0 12px;border-bottom:1px solid var(--m-line,#DCE3EC)}
.mrsv-agenda h4{margin:0 0 8px;font-size:15px}
.mrsv-agenda__item{display:grid;grid-template-columns:100px minmax(70px,1fr) minmax(100px,2fr) auto;gap:8px;align-items:center;padding:8px 0;font-size:13px}
.mrsv-agenda__item em{font-style:normal;font-weight:600}
.mrsv-agenda__item a{white-space:nowrap}
@media(max-width:760px){.mrsv-cal-desktop{display:none}.mrsv-cal-mobile{display:block}.mrsv-cal-head h3{font-size:20px}.mrsv-cal-filter{justify-content:flex-start}.mrsv-agenda__item{grid-template-columns:1fr 1fr}.mrsv-agenda__item em{grid-column:1/3}.mrsv-agenda__item a{grid-column:1/3}}


/* ================================================ 0.8.0 */

.mrsv, .mrsv * { box-sizing: border-box; }
a.mrsv-btn, .mrsv-work__act .mrsv-btn, .mrsv-filter .mrsv-btn, .mrsv-btable__act .mrsv-btn, .mrsv-inline-form .mrsv-btn, .mrsv-grid2__foot .mrsv-btn {
	display: inline-block; width: auto; text-decoration: none; text-align: center; line-height: 1.3;
}
.mrsv-btn { background: var(--m-brand); }
.mrsv-btn:hover { filter: brightness(.95); color: #fff; }
.mrsv-alert.is-warn { background: #FFF6E0; color: #7A5200; }
.mrsv-warnline { margin-bottom: 8px; font-weight: 600; }
.mrsv-warnline.is-error { border-left: 4px solid #C0392B; }

/* 신청서 2단 */
.mrsv-apply__grid { display: grid; grid-template-columns: minmax(260px, 340px) 1fr; gap: 28px; align-items: start; }
.mrsv-apply__aside { position: sticky; top: 90px; }
.mrsv-apply__main { min-width: 0; }
.mrsv-apply__main .mrsv-form h4:first-of-type { margin-top: 0; }
.mrsv-field select, .mrsv-field input[type="tel"], .mrsv-field input[type="date"], .mrsv-field input[type="time"] {
	width: 100%; padding: 11px 12px; font-size: 15px; font-family: inherit;
	border: 1px solid var(--m-line); border-radius: 8px; background: #fff;
}
.mrsv-field select#mrsv-head { max-width: 220px; }
.mrsv-equip { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.mrsv-equip__item {
	display: inline-flex !important; align-items: center; gap: 6px; margin: 0 !important;
	padding: 8px 12px; font-weight: 500 !important; border: 1px solid var(--m-line); border-radius: 999px; background: #fff; cursor: pointer;
}
.mrsv-equip__item:has(input:checked) { border-color: var(--m-brand); background: var(--m-tint); }
.mrsv-radios { display: grid; gap: 6px; }
.mrsv-radio {
	display: flex !important; align-items: flex-start; gap: 8px; margin: 0 !important; padding: 10px 12px;
	font-weight: 500 !important; border: 1px solid var(--m-line); border-radius: 8px; background: #fff; cursor: pointer;
}
.mrsv-radio:has(input:checked) { border-color: var(--m-brand); background: var(--m-tint); }
.mrsv-agree { padding: 6px 14px; background: #F7F9FB; border-radius: 10px; }
.mrsv-agree__line { display: flex; gap: 8px; align-items: flex-start; padding: 10px 0 4px; font-size: 14px; cursor: pointer; }
.mrsv-agree__line b { color: #C0392B; }
.mrsv-agree__more { margin: 0 0 8px 24px; font-size: 13px; color: var(--m-mute); }
.mrsv-agree__more summary { cursor: pointer; color: var(--m-live); }
.mrsv-agree__more ul { margin: 8px 0 4px 18px; padding: 0; }
.mrsv-agree__more dl { display: grid; grid-template-columns: 76px 1fr; gap: 4px 10px; margin: 8px 0 4px; }
.mrsv-agree__more dt { font-weight: 600; color: var(--m-ink); }
.mrsv-agree__more dd { margin: 0; }
@media (max-width: 860px) {
	.mrsv-apply__grid { grid-template-columns: 1fr; gap: 8px; }
	.mrsv-apply__aside { position: static; }
}

/* 매니저 — 2단 폼 */
.mrsv-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.mrsv-grid2 .mrsv-col { min-width: 0; }
.mrsv-grid2__foot { grid-column: 1 / -1; display: flex; gap: 10px; align-items: center; }
.mrsv-grid2__foot .mrsv-btn--lg { max-width: 260px; margin-top: 8px; }
.mrsv-grid2 h4 { margin-top: 6px; }
.mrsv-check input[type="text"] { width: 100%; margin-top: 8px; padding: 9px 11px; border: 1px solid var(--m-line); border-radius: 7px; font-family: inherit; }
.mrsv-direct select, .mrsv-edit select { width: 100%; }
@media (max-width: 860px) { .mrsv-grid2 { grid-template-columns: 1fr; } }

/* 매니저 — 월별 현황 */
.mrsv-month__bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 10px; }
.mrsv-month__bar .mrsv-monthnav { margin: 0; }
.mrsv-month__bar .mrsv-filter { margin: 0; }
.mrsv-mgrid { width: 100%; min-width: 760px; table-layout: fixed; border-collapse: collapse; background: #fff; }
.mrsv-mgrid th { padding: 8px; font-size: 12px; background: #F6F8FA; border: 1px solid var(--m-line); text-align: center; }
.mrsv-mgrid th.w0, .mrsv-mgrid td.w0 .mrsv-mgrid__num { color: #C0392B; }
.mrsv-mgrid th.w6, .mrsv-mgrid td.w6 .mrsv-mgrid__num { color: #2C6BB3; }
.mrsv-mgrid td { height: 112px; padding: 5px; vertical-align: top; border: 1px solid var(--m-line); }
.mrsv-mgrid td.is-empty { background: #FAFBFC; }
.mrsv-mgrid td.is-today { box-shadow: inset 0 0 0 2px var(--m-brand); }
.mrsv-mgrid td.is-sel { background: #F0FAFE; }
.mrsv-mgrid__day { display: flex; justify-content: space-between; align-items: center; margin-bottom: 3px; text-decoration: none; color: inherit; }
.mrsv-mgrid__num { font-size: 13px; font-weight: 700; }
.mrsv-mgrid__cnt { font-size: 11px; color: var(--m-mute); }
.mrsv-mgrid__ev { display: block; margin: 3px 0; padding: 3px 5px; font-size: 11px; line-height: 1.35; border-left: 3px solid var(--m-brand); border-radius: 3px; background: #F2F5F8; color: var(--m-ink); text-decoration: none; overflow: hidden; }
.mrsv-mgrid__ev b, .mrsv-mgrid__ev span { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mrsv-mgrid__ev b { font-variant-numeric: tabular-nums; }
.mrsv-mgrid__ev.is-approved { background: #E9F6F0; }
.mrsv-mgrid__ev.is-pending { background: #FDF4E3; }
.mrsv-mgrid__ev.is-cancel_requested { background: #FBEDED; }
.mrsv-mgrid__ev.is-completed { background: #EEF1F4; color: #55606C; }
.mrsv-mgrid__ev.is-noshow { background: #F3E8E8; color: #8A3A3A; text-decoration: line-through; }
.mrsv-mgrid__more { font-size: 11px; color: var(--m-live); text-decoration: none; }
.mrsv-legend--status { display: flex; flex-wrap: wrap; gap: 12px; margin: 8px 0 18px; padding: 0; list-style: none; font-size: 12px; color: var(--m-mute); }
.mrsv-legend--status i { display: inline-block; width: 12px; height: 12px; margin-right: 5px; vertical-align: -2px; border-radius: 3px; }
.st--approved { background: #CDEBDD; } .st--pending { background: #F8E3B6; } .st--cancel_requested { background: #F3C9C9; }
.st--completed { background: #DDE2E7; } .st--noshow { background: #E7CFCF; }
.mrsv-daylist__title { margin: 8px 0 10px; font-size: 16px; }
.mrsv-daylist__title small { margin: 0 6px; font-weight: 400; color: var(--m-mute); }
.mrsv-daylist__title a { font-size: 13px; font-weight: 400; }

/* 매니저 — 목록 표 */
.mrsv-btable td { white-space: normal; vertical-align: top; }
.mrsv-btable td.num { white-space: nowrap; }
.mrsv-btable small { color: var(--m-mute); }
.mrsv-btable tr.is-pending td { background: #FFFCF5; }
.mrsv-btable tr.is-cancelled td, .mrsv-btable tr.is-rejected td, .mrsv-btable tr.is-noshow td { color: #8B96A3; }
.mrsv-btable__act { white-space: nowrap; }
.mrsv-btable__act .mrsv-btn { margin: 0 3px 3px 0; }
.mrsv-inline-form { display: inline; }
.mrsv-dot { display: inline-block; width: 8px; height: 8px; margin-right: 6px; border-radius: 50%; }
.mrsv-src { display: inline-block; padding: 1px 6px; font-size: 11px; border-radius: 4px; background: #EEF1F4; color: var(--m-mute); }
.mrsv-badge.is-approved, .is-approved > td .mrsv-badge { background: #E6F4EE; color: #12684A; }
.mrsv-badge.is-pending { background: #FDF4E3; color: #8A5B00; }
.mrsv-badge.is-cancel_requested, .mrsv-badge.is-rejected, .mrsv-badge.is-cancelled, .mrsv-badge.is-noshow { background: #FBEDED; color: #9B2C2C; }
.mrsv-badge.is-completed { background: #EEF1F4; color: #55606C; }
.mrsv-work__title { margin: 6px 0 2px; font-size: 14px; }
@media (max-width: 760px) {
	.mrsv-btable thead { display: none; }
	.mrsv-btable, .mrsv-btable tbody, .mrsv-btable tr, .mrsv-btable td { display: block; width: 100%; }
	.mrsv-btable tr { margin-bottom: 10px; padding: 8px 10px; border: 1px solid var(--m-line); border-radius: 10px; }
	.mrsv-btable td { padding: 3px 0; border: 0; }
	.mrsv-btable td[data-th]::before { content: attr(data-th); display: inline-block; min-width: 70px; font-size: 12px; color: var(--m-mute); }
	.mrsv-month__bar { flex-direction: column; align-items: stretch; }
}

/* 매니저 — 수정 */
.mrsv-back { font-size: 14px; text-decoration: none; }
.mrsv-edit__title { margin: 4px 0 6px; font-size: 18px; }
.mrsv-edit .mrsv-work__top { justify-content: flex-start; gap: 8px; }
.mrsv-dl { display: grid; grid-template-columns: 110px 1fr; gap: 8px 14px; margin: 12px 0 20px; }
.mrsv-dl dt { font-weight: 600; font-size: 13px; color: var(--m-mute); }
.mrsv-dl dd { margin: 0; }
.mrsv-history { margin: 0; padding: 0; list-style: none; font-size: 13px; }
.mrsv-history li { display: grid; grid-template-columns: 130px 90px 1fr; gap: 8px; padding: 7px 0; border-bottom: 1px solid var(--m-line); }
.mrsv-history .d { font-variant-numeric: tabular-nums; color: var(--m-mute); }
@media (max-width: 560px) { .mrsv-history li { grid-template-columns: 1fr; gap: 2px; } }

/* 공개 달력 — 네 항목 */
.mrsv-cal-event { text-align: left; }
.mrsv-cal-event__l1 { display: flex !important; flex-wrap: wrap; justify-content: space-between; gap: 2px 4px; align-items: center; }
.mrsv-cal-event strong { letter-spacing: -0.02em; }
.mrsv-cal-event__room { overflow: hidden; text-overflow: ellipsis; }
.mrsv-cal-event__room { font-weight: 700; color: var(--m-deep); }
.mrsv-cal-event small { display: block; color: var(--m-mute); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mrsv-cal-badge { flex: 0 0 auto; padding: 0 5px; font-size: 10px; font-weight: 700; border-radius: 3px; background: #E6F4EE; color: #12684A; }
.mrsv-cal-badge.is-wait { background: #FDF4E3; color: #8A5B00; }
.mrsv-agenda__item { border-left: 4px solid var(--m-brand); padding-left: 10px !important; grid-template-columns: 110px minmax(90px,1fr) minmax(120px,2fr) minmax(120px,1.4fr) auto !important; }
.mrsv-agenda__item small { color: var(--m-mute); }
@media (max-width: 760px) {
	.mrsv-agenda__item { grid-template-columns: 1fr 1fr !important; }
	.mrsv-agenda__item em, .mrsv-agenda__item small, .mrsv-agenda__item a { grid-column: 1 / 3; }
}
.mrsv-tabs .mrsv-tab { background: none; border-radius: 0; }
.mrsv-tabs .mrsv-tab.is-on { background: none; color: var(--m-deep); }
.mrsv-badge, .mrsv-src, .mrsv-cal-badge { white-space: nowrap; }
.mrsv-table2 th, .mrsv-table2 td { text-align: left; letter-spacing: normal; }
.mrsv-btable td[data-th="룸"], .mrsv-btable td[data-th="상태"] { white-space: nowrap; }
.mrsv-mgrid td, .mrsv-mgrid__ev { text-align: left; }
.mrsv-grid2__foot { margin: 18px 0 28px; }
.mrsv-grid2__foot .mrsv-btn, .mrsv-grid2__foot .mrsv-btn--lg { margin: 0; padding: 13px 30px !important; font-size: 16px !important; max-width: none; }
.mrsv-btable__act { width: 1%; }
.mrsv-btable__act .mrsv-btn { padding: 5px 10px !important; font-size: 12px !important; }
.mrsv-btable td[data-th="행사명"] { min-width: 120px; }
.mrsv-btable td[data-th="신청자"] { min-width: 110px; }
.mrsv-btable td.mrsv-btable__act { white-space: nowrap; width: 1%; }
.mrsv-cal-event small { font-size: 11px; color: #4F5E70; }
