@charset "UTF-8";

html *{
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
html{
	font-size: 62.5%;
	font-family: Pretendard-Regular, sans-serif;
}
html,body{
	height: 100%;
	background: #f8f8f8;
}
* {
	box-sizing: border-box;
    word-break: keep-all;
    line-height: 1.5;
    letter-spacing: -0.04em;
    overflow-wrap: anywhere;
    hyphens: auto;
}
/* 전역 부트/리로드 로딩 — 흰 반투명 오버레이(:after) + 세그먼트 스피너(:before).
   pseudo-element 는 자식 노드가 불가능해 스피너는 SVG + steps(12) 회전으로 구현. */
/* z-index 9000/9001 — BottomSheet.vue 가 .sheet 를 1200!important 로 boost 하므로
   글로벌 로딩 오버레이는 그보다 위로 올려야 시트 호출 중 로딩이 가려지지 않는다. */
body:after{
	content: '';
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    display: block;
    background: rgba(255, 255, 255, 0.7);
    z-index: 9000;
}
body:before{
	content: '';
    position: fixed;
    top: 50%;
    left: 50%;
    width: 5.6rem;
    height: 5.6rem;
    margin: -2.8rem 0 0 -2.8rem;
    z-index: 9001;
    background: url(/resources/images/loading_spinner.svg) no-repeat center / 100%;
    animation: loading_step_rotate 1.2s steps(12) infinite;
}
@keyframes loading_step_rotate{
	100% { transform: rotate(360deg); }
}
body.loading_off:after,
body.loading_off:before{
	display: none
}
/* reloadSite() 등 — loading_off 가 이미 붙은 상태에서 다시 로딩 표시.
   (동일 특이도 — loading_off 규칙보다 뒤에 선언되어 우선 적용) */
body.loading_on:after,
body.loading_on:before{
	display: block
}
.row_flex{
    display: flex;
    gap: 0.5rem;
    flex-wrap: nowrap;
    align-items: center;
    flex-direction: row;
}
/*scroll*/

@keyframes spin {
  100%
  {
    transform: rotate(180deg);
  }
}
.scroll_custom_w{
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior: none;
}

[w-hidden-real="true"] {
  display: none!important;
  pointer-events: none;
}
[w-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.theme_color_blue{
	color: #5F6BF3
}
.color_111{
	color: #111!important
}
.fs{
	flex-shrink: 0
}
.mt16{
	margin-top: 1.6rem!important
}
.mb8{
	margin-bottom: 0.8rem!important
}
.mt0{
	margin-top: 0!important
}
.ml10{
	margin-left: 1.0rem
}
.mt20{
	margin-top: 2.0rem!important
}
.mt25{
	margin-top: 2.5rem!important
}
.mb10{
	margin-bottom: 1.0rem
}
.mr20{
	margin-right: 2.0rem
}
.pd20{
	padding: 2.0rem
}
.m0{
	margin: 0!important
}
.pt0{
	padding-top: 0!important
}
/*alert*/
.layer_alert .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: rgba(0,0,0,0.5);
  opacity: 0.5;
}
.layer_alert{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 11;
    visibility: visible;
    transition: opacity 0.5s, visibility 0.5s;
    display: flex;
    align-items: center;
    max-width: 1024px;/*mw*/
    margin: auto;
    justify-content: center;
}
.layer_alert .contents{
	display: flex;
	width: 80%;
	border-radius: 2.4rem;
  	overflow: hidden;
    background: #fff;
    flex-direction: column;
}
.layer_alert .contents .title{
	display: block;
	padding: 1.6rem 2.0rem 0 2.0rem;
	font-size: 2.2rem;
}
.layer_alert .contents .cnt{
	padding: 1.5rem 2.0rem 1.2rem 2.0rem;
	height: 100%;
	font-size: 1.6rem;
	font-family: "Pretendard-Regular", sans-serif;
}
.layer_alert .contents .btn_area{
	display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
	padding: 1.6rem;
    gap: 0.8rem;
}
/*toast*/
.layer_toast{
   position: fixed;
   top: 0;
   left: 0;
   right: 0;
   bottom: 0;
   visibility: visible;
   transition: opacity 0.5s, visibility 0.5s;
   display: flex;
   max-width: 1024px;/*mw*/
   margin: auto;
   z-index: 1111;
   width: 100%;
   flex-direction: row;
   align-items: flex-end;
   justify-content: center;
   
}
.layer_toast .cnt{
    width: 80%;
    font-size: 1.4rem;
    border-radius: 4.8rem;
    background: rgba(0,0,0,0.5);
    color: #fff;
    padding: 1.5rem 2.0rem;
    text-align: center;
    margin-bottom: -10.0rem;
    transition: margin 0.5s, visibility 0.5s;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: center;
}
.layer_toast .cnt.on{
	margin-bottom: 5%;
}
.layer_toast .cnt:before{
    content: '';
    background-repeat: no-repeat;
    background-image: url(/resources/images/ic_clipboard.svg);
    background-position: center center;
    width: 1.6rem;
    height: 1.6rem;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
    flex-shrink: 0;
    background-size: 1.6rem
}
.layer_toast .cnt span{
	overflow: hidden;
    text-overflow: ellipsis;	
}
/* Figma 정합 — 상단 흰 영역(제목 + PIN 인디케이터) + 하단 파란 영역(키패드).
   기존 전체 파란 배경 → 흰 배경 + 키패드 영역만 파란(.password_input_keypad).
   폰트 사이즈는 운영 규칙 #9 에 따라 유지(색/배경/모양만 변경). */
.password_input{
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    visibility: visible;
    transition: opacity 0.5s, visibility 0.5s;
    display: flex;
    max-width: 1024px;/*mw*/
    height: 100%;
    z-index: 2;
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    background: var(--ff, #ffffff);
    margin: auto;
}
.password_input_title{
	margin: 0 2vh 0 2vh;
    display: block;
    font-size: 2.4vh;
    color: var(--11, #111111);
    text-align: center;
    font-weight: 700
}
.password_input_item{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    margin-bottom: 5vh;
    width: 100%;
    justify-content: center;
    align-items: center;
    gap: 1vh;
	height: 100%
}
.password_input_err{
	font-size: 1.6vh;
	color: var(--5f6bf3, #5f6bf3)
}
.password_input_keypad{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    background: var(--5f6bf3, #5f6bf3);
    justify-content: flex-end;
}
.password_input_keypad button{
    color: #fff;
    font-size: 2.7vh;
    width: 33.33%;
    padding: 3vh 0;
    font-family: "Pretendard-Bold", sans-serif;
}
/* PIN dot — Figma 정합: 흰 원형(opacity) → 사각 라운드 (회색/파랑). */
.password_input_item_pin{
	display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1vh;
	margin-top: 4vh;
}
.password_input_item input[type="checkbox"] + label:before{
	content: '';
    width: 4vh;
    height: 4vh;
    display: inline-block;
    vertical-align: middle;
    background: var(--e3e3e3, #e3e3e3);
    opacity: 1;
    flex-shrink: 0;
    border-radius: 0.6rem;
    margin-right: 0;
}
.password_input_item input[type="checkbox"]:first-child + label:before,
.password_input_item input[type="checkbox"]:checked:first-child + label:before{
	margin-left: 0;
}
.password_input_item input[type="checkbox"]:checked + label:before{
    content: '';
    width: 4vh;
    height: 4vh;
    display: inline-block;
    vertical-align: middle;
    background: var(--5f6bf3, #5f6bf3);
    opacity: 1;
    flex-shrink: 0;
    border-radius: 0.6rem;
    margin-right: 0;
}

/*sheet*/

.sheet {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  visibility: visible;
  transition: opacity 0.5s, visibility 0.5s;
  display: flex;
  align-items: flex-end;
  max-width: 1024px;/*mw*/
  margin: auto;
}

.sheet[aria-hidden="true"] {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.sheet .overlay {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  background: rgba(0,0,0,0.5);
  opacity: 0.5;
}

.sheet .contents {
  padding: 2.5rem 0;
  background: #fff;
  position: relative;
  overflow: hidden;

  --default-transitions: transform 0.5s, border-radius 0.5s;

  transition: var(--default-transitions);
  transform: translateY(0);

  max-height: 80vh; 
  height: 30vh;

  box-sizing: border-box;
  border-radius: 3.2rem 3.2rem 0 0;
  
  width: 100%;
}
.sheet .contents.flex{
    display: flex;
    flex-direction: column;
    padding-bottom: 0;
	height: fit-content;
	max-height: 80vh;
}

.sheet .contents.fullscreen {
  border-radius: 0;
}

.sheet[aria-hidden="true"] .contents {
  transform: translateY(100%);
}

.sheet .draggable-area {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  margin: auto;
  padding: 0.5rem;
  cursor: grab;
}

.sheet .draggable-thumb {
  width: 10%;
  height: 0.25rem;
  background: #ccc;
  border-radius: 0.125rem;
  margin: auto
}

.sheet .close-sheet {
	display: block;
	flex-shrink: 0;
	text-indent: -100.0rem;
	overflow: hidden;
	cursor: pointer;
}

.sheet .body {
  height: 100%;
  overflow-y: auto;
  gap: 1rem;
}

.pd0{
	padding: 0!important
}
.w100{
	width: 100%;
}
#wrap_type_a{
    display: flex;
    flex-direction: column;
    height: 100%; 
    max-width: 1024px;/*mw*/ 
    margin: 0 auto;
    box-shadow: 0 0 2.2rem rgba(0,0,0,0.1);
    background: #fff;
    overflow: hidden 
}
#wrap_type_a #body{
	height: 100%;  
	padding: 4.0rem 1.6rem
}
.smpadding{
	padding: 1.6rem 1.6rem!important;
}
.nopadding{
	padding: 0!important;
}
#wrap_type_a #body .main_pd_item{
	
}
#wrap_type_a #body.smpadding .input_item_wrap_p{
	margin-top: 0
}
.input_item_wrap_p_label{
    font-size: 1.6rem;
    color: #111;
    margin-bottom: 0.6rem;
    display: block;
	font-family: "Pretendard-Medium", sans-serif;
}
#wrap_type_a #body_nofull{
	padding: 4.0rem 2.0rem
}
#wrap_type_a #top,
.password_input #top{
	display: flex;
	padding: 1.0rem 1.0rem;
	width: 100%;
	align-items: center;
}
#wrap_type_a #top.menu{
	padding: 1.3rem 2.0rem;
}
#wrap_type_a #top .left,
.password_input #top .left{
	margin-right: auto;
	text-align: left;
	display: flex;
	gap: 0.7rem;
}
#wrap_type_a #top .right,
.password_input #top .right{
	margin-left: auto;
	text-align: right;
	display: flex;
	gap: 0.7rem;
}
#wrap_type_a #top .center_title{
	font-size: 2.0rem;
	font-weight: 700;
	font-family: "Pretendard-Bold", sans-serif;
}
#wrap_type_a #bottom{ 
	display: flex;
	flex-direction: row;
	align-items: flex-end;
}
#wrap_type_a #bottom_nofull{ 
	display: flex;
	padding: 0 2.0rem;
	flex-direction: column;
}
.ic40{
	width: 4.0rem;
	height: 4.0rem;
	display: inline-block;
    flex-shrink: 0;
}
.ic48{
	width: 4.8rem;
	height: 4.8rem;
	display: inline-block;
    flex-shrink: 0;
}
.ic60{
	width: 6.0rem;
	height: 6.0rem;
	display: inline-block;
    flex-shrink: 0;
}
.ic24{
	width: 2.4rem;
	height: 2.4rem;
	display: inline-block;
    flex-shrink: 0;
}
.ic20{
	width: 2.0rem;
	height: 2.0rem;
	display: inline-block;
    flex-shrink: 0;
}
.user_round{
	border-radius: 100%;
	background: #EBEBEB
}
.noround{
	border-radius: 0!important
}

.ic_user{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_user_lb_40.svg);
    background-position: center center;
    background-size: 100%
}

.ic_search{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_search.svg);
    background-position: center center;
    background-size: 1.6rem
}
.ic_service_top{
	background-repeat: no-repeat;
    background-position: center center;
}
/* 국기 아이콘 — Figma 정합 사각 라운드 svg /resources/images/ic_*.svg
   원본 비율: 74x58. background-size:contain 으로 컨테이너 안에서 비율 유지. */
.ic_ko{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_ko.svg);
    background-position: center center;
    background-size: contain;
}
.ic_en{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_en.svg);
    background-position: center center;
    background-size: contain;
}
.ic_jp{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_jp.svg);
    background-position: center center;
    background-size: contain;
}
.ic_ja{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_jp.svg);
    background-position: center center;
    background-size: contain;
}
.ic_back{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_back.svg);
    background-position: center center;
    background-size: 3.2rem;
}
.ic_alarm_on:before{
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	border-radius: 0.6rem;
	background: #F14B4B;
	position: absolute;
    top: 0.6rem;
    right: 0.6rem;
}
.ic_chat{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_chat.svg);
    background-position: center center;
    background-size: 4.4rem
}
.ic_global{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic-global0.svg);
    background-position: center center;
    background-size: 2.4rem
}
.ic_close_w{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_close_w.svg);
    background-position: center center;
	background-size: 2.3rem;
}
.ic_close_sm_b{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_close.svg);
    background-position: center center;
    background-size: 2.0rem
}
.ic_close{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_close.svg);
    background-position: center center;
	background-size: 2.3rem;
}
.ic_down{
	background-repeat: no-repeat;
    background-image: url(/resources/images/down_arr.svg);
    background-position: center center;
    background-size: 1.8rem;
}
.ic_cal{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_cal.svg);
    background-position: center center;
    background-size: 2.4rem;
}
.btn_full{
	width: 100%;
	display: block;
	font-size: 2.2rem;
	padding: 2.1rem 2.0rem;
	cursor: pointer; 
	white-space: nowrap;
	font-family: "Pretendard-Medium", sans-serif;
}
.layer_alert .btn_full{
font-size: 1.8rem;
}
.btn_xsm{
	padding: 0.8rem 1.5rem 0.8rem 1.5rem;
	cursor: pointer;
	display: block;
	font-size: 1.4rem;
	white-space: nowrap; 
}
.input_chat{
	width: 100%;
	padding: 1.5rem;
}
.btnTalk_ask{
	font-size: 1.6rem;
	font-family: "Pretendard-Bold", sans-serif;
	color: #5F6BF3;
	border: 0.1rem solid #5F6BF3;
	padding: 1.2rem 3.0rem 1.1rem 3.0rem;
	border-radius: 9.0rem;
	background-color: #fff;
}
.btnTalk_ask.b{
	background-color: #DDE2F8;
	color: #666;
	border-color: #cdcdcd;
}
.input_chat_send{
    height: 4.4rem;
    width: 4.4rem;
}
.chat_area{
	background-color: #EBF2FF
}
.hover:hover{
	opacity: 0.9 
}
.cursor{
	cursor: pointer
}
.round{
	border-radius: 100%
}
.btn_round2{
	border-radius: 0.4rem;
}
.bg_f8{
	background-color: #F5F6FB!important;
}
.bg_blue{
	background-color: #5F6BF3
}
.bg_white{
	background-color: #fff!important
}
.btn_round12{
	border-radius: 1.2rem;
}
.btn_round4{
	border-radius: 0.4rem;
}
.btn_round8{
	border-radius: 0.8rem;
}
.resend_row{
    color: #5F6BF3;
    font-size: 1.3rem;
    text-align: right;
    margin-top: 0.6rem;
}
.btn_blue{
	background: #5F6BF3;
	color: #fff
}
.btn_white{
	background: #fff;
	color: #111;
	border: 0.1rem solid #cdcdcd;
}
.btn_white_blue{
    background: #fff;
	color: #5F6BF3;
    border: 0.1rem solid #5F6BF3;
}
.btn_gray{
	background: #F4F5F6;
	color: #4D5256
}
.btn_gray2{
	background: #666;
	color: #fff;
	border: none;
}
button:disabled { 
	background-color: #E0E4E8;
	color: #BDBDBD
}
button.input_chat_send:disabled{
    background-color: #fff;
}
input.input_chat:disabled{
    background-color: #f4f4f4;
}

/* ──────────────────────────────────────────────────────────────────────
   화면 인사/안내 영역 (Login / FindId / PasswordReset / Signup 공통 사용)
   Figma 정합 — 기준 폰트 .title = 2.0rem (==20px @62.5%), Bold 700.
   .subtitle 은 신규(디자인 부제, 1.3rem 회색) — 다른 화면에서도 재사용 여지.
   .title 의 padding-right:10% 는 우측 Tooltip(?) 공간용 — 다른 화면 호환 위해 유지.
   ────────────────────────────────────────────────────────────────────── */
.input_title_wrap{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    margin-bottom: 2.4rem;
}
.input_title_wrap .title{
	display: block;
	padding-right: 10%;
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--11, #111);
}
.input_title_wrap .subtitle{
	display: block;
	width: 100%;
	margin-top: 0.6rem;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--5F6BF3, #5F6BF3);
}
.input_title_wrap .subtitle2{
	display: block;
	width: 100%;
	margin-top: 0.6rem;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--9d9d9d, #9d9d9d);
}

.input_item{
	background: #F6F7FA;
	padding: 1.6rem;
	display: flex;
	align-items: flex-end;
}
.select_search_list{
	font-size: 1.6rem;
	margin-top: 2rem;
	border-top: 1px solid #ededed;
	padding-top: 2rem
}
.select_search_list_filter{
	display: none;
}
.select_search_list_filter.show{
	display: block;
}
.select_search_list_filter.show.prevOn{
	font-weight: bold;
	color: #333
}
.select_search_list ul{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    flex-wrap: wrap;
}
.select_search_list ul li{
    background: #fff;
    border-radius: 0.6rem;
    color: #92969F;
    font-size: 2.0rem;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
}
.select_search_input_wrap{
	position: sticky;
    top: 0;
    left: 0;
    background: #fff;
}
.title_tab{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    height: 6.4rem;
}
.title_tab li{
	width: 100%
}
.title_tab li label{
	font-size: 1.8rem!important;
	font-family: "Pretendard-Medium", sans-serif;
	color: #92969F;
	padding: 1.0rem 2.5rem;
	border-bottom: 0.2rem solid #e5e5e5;
	width: 100%;
	cursor: pointer;
	display: block;
	text-align: center;
	white-space: nowrap;
}
.title_tab li input[type="radio"] + label:before{
	display: none
}
.title_tab li input[type="radio"]:checked + label{
	color: #5F6BF3;
	border-bottom: 0.3rem solid #5F6BF3;
}
.input_item_file.input_item_file_talk{
	margin: 0;
}

.input_item_fimg{
	margin-bottom: 2.0rem;
	    border-radius: 1.2rem;
    overflow: hidden;
}
.input_item_fimg img{
	width: 100%
}
.input_item_btn_line{
	font-size: 2.0rem;
	font-family: "Pretendard-Bold", sans-serif;
	font-weight: 700;
	color: #5F6BF3;
	padding: 1.2rem 2rem;
	text-align: center;
	width: 100%;
}

.input_item_file [type=file]{
	display: none
}
.file_list_ctl_wrap{
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    direction: rtl;
}
.file_list_ctl{
    display: flex;
    justify-content: flex-end;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.0rem;
    flex-direction: row;
    direction: ltr;
    margin: 1.0rem 0;
    padding: 0.5rem 0;
}
.file_list_ctl li{
	display: flex;
	position: relative;
}
.file_list_ctl li label,
.file_list_ctl li .view{
	width: 8.4rem;
	height: 8.4rem;
	border: 0.1rem dashed #5F6BF3;
	border-radius: 1.6rem;
	overflow: hidden;
}
.file_list_ctl li .view{
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f8f8f8;
	border: 0.1rem solid #cdcdcd;
}
.file_list_ctl li label{
	background-repeat: no-repeat;
	background-image: url(/resources/images/file_plus.svg);
	background-position: center;
	text-indent: -10.0rem;
	cursor: pointer;
	background-size: 2.8rem
}
.input_item .select{
	background: none;
	border: none;
    font-size: 2.0rem;
    color: #ccc;
    width: 100%;
    text-align: left;
    padding-right: 3.0rem;
    background-size: 1.8rem
}
.input_item .select option{
	color: #4D5256;
}
.input_item .select.on{
	color: #4D5256;
}
.p_line{
	background: #e5e5e5;
	height: 0.1rem;
	margin: 1.0rem 0 2.0rem 0;
}
.p_line10{
	height: 0.1rem;
	margin: 1.0rem 0;
	border-bottom: 0.1rem solid #e5e5e5
}
.p_line24{
	background: #e5e5e5;
	height: 0.1rem;
	margin: 2.4rem 0 2.4rem 0;
}
.link_a{
	color: #5F6BF3;
	text-decoration: underline;
}
.input_item .label{
	/*font-size: 1.2rem;
	display: block;
	margin-bottom: 0.5rem;
	color: #92969F todo*/
    font-size: 1.2rem;
    color: #92969F;
    display: block;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.pre_in_file{
    white-space: normal;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    margin-top: 1.0rem;
    font-size: 1.4rem
}
.pre_in_list{
	display: flex;
    flex-direction: column;
}
.input_item .label .label_r_txt{
   	float: right;
    text-decoration: underline;
}
.input_item.solidtype .inputs{
	width: 100%;
	position: relative;
}

.input_item_more{
    background: #EBF2FF;
    padding: 1.6rem;
    display: flex;
    align-items: flex-start;
    width: 100%;
	justify-content: space-between;
	gap: 2rem;
	border-radius: 1.2rem;
}
.input_item_more .moreitem span{
	display: block;
	font-size: 2.0rem;
}
.input_item_more_p{
	position: relative;	
	margin-top: 0.7rem
}
.input_item .input{
	width: 100%;
	font-size: 2.0rem;
	background: #F6F7FA;
	color: #4D5256;
	border-bottom: 0.1rem solid #F6F7FA;
	font-family: "Pretendard-Medium", sans-serif;
}
.input_item .input:disabled{
	background: #F6F7FA;
	color: #909090;
}
.input_item .textarea:disabled{
	background: #F6F7FA;
	color: #909090;
}
.input_item .input:disabled + .input_clear{
	display: none
}
input:focus{
	outline: none
}
.input_item .input:focus{ 
	outline: none
}
.input_item .select:focus{ 
	outline: none
}
.input_item .select{
   -webkit-appearance:none; /* for chrome */
   -moz-appearance:none; /*for firefox*/
   appearance:none;
   background-repeat: no-repeat;
   background-image: url(/resources/images/down_arr.svg);
   background-position: calc(100% - 0.3rem) center;
   text-overflow: ellipsis;
   background-size: 1.8rem;
}
.input_item .select.on{
	color: #4D5256;
}
.input_item_listtype ul{
    padding-left: 0.5rem;
    font-size: 1.4rem
}
.close_item{
    position: absolute;
    top: -0.6rem;
    right: -0.6rem;
    background-color: #222;
    border-radius: 2.4rem;
    cursor: pointer;
}
.input_item.solidtype{
    border: 0.1rem solid #cdcdcd;
    background: #fff;
    border-radius: 1.6rem;
    margin-top: 1.6rem;
	padding: 1.6rem 2rem
}
.input_item.solidtype a{
	display: block;
	font-size: 1.6rem;
	font-family: "Pretendard-Bold", sans-serif;
	text-decoration: underline;
}
.input_item_listtype li{
	color: #999
}
.input_item .select::-ms-expand{
   display:none;/*for IE10,11*/
}

.input_item .select_btn{
	border-bottom: 0.1rem solid #F6F7FA;
	background: #F6F7FA;
	outline: none;
	color: #4D5256;
}
.input_item .textarea{
	width: 100%;
	background: #F6F7FA;
	min-height: 10.0rem;
	font-size: 2.0rem;
	outline: none; 
}
.input_item .textarea:focus,
.input_item .input:focus{
	border-bottom: 0.1rem solid #757575
}
.input_item .select_btn:focus{  
	outline: none; 
	border-bottom: 0.1rem solid #757575; 
}
input::placeholder,
textarea::placeholder{ 
	color: #ccc 
}
.input_item_wrap_p{
    overflow: hidden;
}
.input_item_btn_w2{
    color: #111;
    border: 0.1rem solid #9d9d9d;
    background: #fff;
    padding: 1.6rem;
    border-radius: 1.2rem;
    width: 100%;
    margin: 1.6rem 0 1.0rem 0;
    font-size: 1.8rem;
	font-family: "Pretendard-Bold", sans-serif;
	font-weight: 700;
    cursor: pointer;
}
.input_item_wrap:first-child{
	margin-top: 0;
}
.input_item_wrap{
	border-radius: 1.6rem;
	overflow: hidden;
	margin-bottom: 1rem;
}
.focus_target.focus_ .input{
	border-bottom: 0.1rem solid #757575;
}
.select_down{
	text-indent: -100.0rem;
	overflow: hidden;
	flex-shrink: 0; 
	margin-left: 1.0rem;
	margin-bottom: 0.4rem;
}
.input_clear{
	background-color: #E5E5E5;
	text-indent: -100.0rem;
	overflow: hidden;
	flex-shrink: 0; 
	margin-left: 1.0rem;
	display: none
}

.err{
	color: #F14B4B;
}
/* 필수 입력 표시 — 라벨 옆 빨간 별표 (예: "발생장소*"). */
.required_mark{
	color: #F14B4B;
	margin-left: 0.2rem;
}
.info{
	color: #999;
	font-size: 1.4rem
}
.info_13_666{
	font-size: 1.3rem;
	color: #666;
	font-weight: 300;
}
.info_16_222{
	font-size: 1.6rem;
	color: #222
}
.input_item_error{
	font-size: 1.4rem;
}

.select_btn{
	font-size: 2.0rem;
	color: #ccc;
	width: 100%;
	text-align: left
}
.select_btn.on{
	 color: #4D5256
}

.bottom_popup_top_title{
	display: block;
 			width: 100%;
 			font-size: 1.8rem;
 			text-align: center;
 			margin-left: 4.0rem
}
.bottom_popup_top{
    display: flex;
    justify-content: center;
    flex-direction: row;
    flex-wrap: nowrap;
    width: 100%;
    align-items: center;
    padding: 0 2.0rem 1.5rem 2.0rem
}
.select_b
{
	border: 0.1rem solid #D7D7D7;
	background: #fff;
	font-size: 1.6rem;
	padding: 0.6rem 1.1rem;
	border-radius: 1.2rem;
}
.select_b{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background-size: 1.8rem;
	background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-image: url(/resources/images/down_arr.svg);
    padding-right: 3rem;
    text-overflow: ellipsis;
	background-color: #F5F6FB;
    border: none;
    padding: 1.3rem 2rem;
    font-size: 2rem;
}
.btn_talk{
	width: 6.9rem;
	height: 3.6rem;
	background-repeat: no-repeat;
    background-size: 100%;
    background-image: url(/resources/images/btn_talk.svg);
}
.bottom_popup_body{
	width: 100%;
    padding: 0 2.5rem 2.5rem 2.5rem;
    overflow-x: hidden;
    height: 100%;
    overflow-y: auto;
}
/* PinPad 시트 (.sheet.pass_change) — body padding 제거.
   PinPad 가 password_input_title/item/keypad 의 자체 vh 기반 여백을 가져 외부 padding 충돌 방지. */
.sheet.pass_change .bottom_popup_body{
    padding: 0;
}
.bottom_info{
	text-align: center;
    margin-bottom: 2rem;
	font-size: 1.8rem
}
.bottom_popup_noitem{
	text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.0rem 0;
    font-size: 1.4rem
}
.terms_subtitle{
	font-size: 1.5rem;
	padding: 1.6rem;
	margin-bottom: 2.0rem;
	text-align: center;
	background-color: #F4F7FF;
	border-radius: 1.6rem;
}

.bottom_popup_items_btn{
	display: flex;
	flex-wrap: wrap;
	padding: 2.0rem 0;
}
.bottom_popup_items_btn button{
    background: #fff;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
    border: 0.1rem solid #cdcdcd;
    border-radius: 1.2rem;
    color: #111;
    font-size: 1.6rem;
    padding: 1.6rem 2.0rem;
    cursor: pointer;
    overflow: hidden;
				 text-overflow: ellipsis;
}
.bottom_popup_items_btn button:hover{
	border-color: #5F6BF3;
	color: #4D5256
}
.bottom_popup_radio_left{
	display: flex;
    align-items: center;
    justify-content: flex-start;
    margin-bottom: 1.6rem;
    gap: 1.0rem;
}
.bottom_popup_radio_left .item{
	display: flex;
	margin: 0 0.5rem;
}

input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none;
}

/*radio button*/
input[type="radio"] {
    display: none;
}
input[type="radio"] + label{
	font-size: 1.6rem;
}
input[type="radio"]:checked + label:before{
    content: '';
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-image: url(/resources/images/radio_on.svg);
    background-position: center center;
    margin-right: 0.7rem;
    flex-shrink: 0;
    background-size: 2.4rem
}
input[type="radio"] + label:before{
    content: '';
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-image: url(/resources/images/radio_off.svg);
    background-position: center center;
    margin-right: 0.7rem;	
    flex-shrink: 0;
    background-size: 2.4rem
} 

/*check button*/
input[type="checkbox"] {
    display: none;
}
input[type="checkbox"] + label{
	font-size: 2.0rem;
    display: flex;
    align-items: center;
}
input[type="checkbox"]:checked + label:before{
    content: '';
    width: 2.0rem;
    height: 2.0rem;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-image: url(/resources/images/check_on.svg);
    background-position: center center;
    margin-right: 0.7rem;
    flex-shrink: 0;
    background-size: 100%
}
input[type="checkbox"] + label:before{
    content: '';
    width: 2.0rem;
    height: 2.0rem;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-image: url(/resources/images/check_off.svg);
    background-position: center center;
    margin-right: 0.7rem;	
    flex-shrink: 0;
    background-size: 100%
}

.coach_layer{
	position: fixed;
	z-index: 101;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: #fff;
	max-width: 1024px;/*mw*/
	margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    overflow: hidden;
    background-color: #EBF2FF
}
.coach_layer .coach_layer_in_item{
	display: flex;
	flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    position: relative;
    transition: all 1s;
    position: relative;
    left: 0%;
    width: 100%;
    padding-top: 3.0rem
}
.coach_slider, .coach_today{
	margin-top: auto;
	color: #666;
}
.coach_today label{
	font-size: 1.6rem!important;
}
.coach_today{
	display: flex;
    justify-content: space-between;
    width: 100%;
    padding: 0.6rem 1.0rem 0.8rem 2.0rem;
    align-items: center;
}
.coach_slider .swiper-wrapper{
	height: auto
}
.coach_layer .coach_layer_in_item .coach_slider{
	overflow-y: auto;
	overflow-x: hidden;
}
.coach_slider .swiper-slide{
	text-align: center
}
.coach_slider img{
	max-width: 37.5rem;
	/*
	width: 100%
	*/
}
.coach_slider-pagination{
	text-align: center
}
.coach_slider-pagination .swiper-pagination-bullet{
	background: #fff;
	opacity: 0.3;
}
.coach_slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
	opacity: 1;
}
.layer_popup_full{
	position: fixed;
	z-index: 10;
	left: 0;
	right: 0;
	bottom: 0;
	top: 0;
	background: #fff;
	max-width: 1024px;/*mw*/
	margin: 0 auto;
	display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    overflow: hidden
}
.layer_popup_full .layer_popup_in_item{
	display: flex;
	flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    height: 100%;
    position: relative;
    position: relative;
    left: 0%;
    width: 100%
}
.layer_popup_in_item .txt_right{
	font-size: 1.4rem
}
.layer_popup_full .top strong{
	font-size: 2.0rem;
    font-weight: 700;
    margin-left: 4rem;
    width: 100%;
    text-align: center;
}
.menu_list2{
	background: #fff;
	padding: 2.0rem
}
.menu_list2{
	display: flex;
    flex-direction: column;
    gap: 2rem;
	margin: 1.6rem;
	border-radius: 1.6rem;
}
.menu_list2 button{
	width: 100%;
	font-size: 1.6rem;
	font-family: "Pretendard-Bold", sans-serif;
	text-align: left;
	color: #666
}
/* MenuView 상단 2-column bullet 메뉴 — Figma 정합 (요청 내역 / 이번 주 메뉴 등 좌우 배치). */
.menu_list2.cols2{
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 1.6rem;
	row-gap: 2.6rem;
}
.menu_list_wrap{
	height: 100%;
	overflow: hidden;
	background-color: #EBF2FF;
}
.menu_list_in_wrap{	
    height: 100%;
}
.menu_list_flex{
	overflow: hidden;
    display: flex;
    flex-direction: column;
}

.menu_my_info{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1.0rem
}
.menu_my_info_nm .def{
	font-size: 2.2rem;
	font-family: "Pretendard-Bold", sans-serif;
	font-weight: 700;
}
.menu_my_info_nm .sub{
	font-size: 1.2rem;
	font-weight: 300
}
.menu_my_info .ic_user,
.menu_my_info .btn_xsm{
	flex-shrink: 0
}
.menu_my_info .btn_xsm{
	align-self: flex-end;
	margin-bottom: 0.2rem
}
.menu_my_info_nm{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    width: 100%;
    color: #fff;
    align-self: center;
}
.main_body_scroll{
	padding-bottom: 8.0rem!important
}
.main_tab_item.off{
	bottom: -8.0rem;
}
.main_tab_item{
	transition: bottom 0.2s;
	overflow: hidden;
    flex-shrink: 0;
    position: fixed;
    width: 100%;
    bottom: 0;
    max-width: 1024px;/*mw*/
	background-color: #fff;
}
.alram_list{
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
}
.alram_list .item{
    display: flex;
    padding: 2.4rem 0;
    align-items: center;
    gap: 1.6rem;
    border-radius: 0.8rem;
	border-bottom: 1px solid #e3e3e3;
}
.alram_list .item:nth-last-child(1){
	border-bottom: none;
}
.alram_list .item .img img{
	width: 2.8rem;
	height: 2.8rem;
}
.alram_list .item .txt .cate{
	font-size: 1.2rem;
	font-family: 'Pretendard-Medium', sans-serif;
	color: #5F6BF3
}
.alram_list .item .txt .title{
	font-size: 1.6rem;
	font-family: 'Pretendard-Bold', sans-serif;
	font-weight: 700;
	color: #111;
}
.alram_list .item .txt .date{
	color: #92969F;
	font-size: 1.2rem;
	font-weight: 300;
}
.alram_list .item .img{
    width: 3.2rem;
    height: 3.2rem;
    flex-shrink: 0;
    display: flex;
    background: #fff;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    position: relative;
	border: 1px solid #5F6BF3
}
.alram_list .item .img.ic_alarm_on:before{
	right: -0.3rem;
	top: -0.3rem
}
.alram_list .item .txt{
	width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}
.alram_list .arr{
    background-repeat: no-repeat;
    background-image: url(/resources/images/ic_arr_r.svg);
    background-position: center center;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    margin-left: auto;
    flex-shrink: 0;
    background-size: 0.7rem
}
.ptr_indicator{
	background-color: #5F6BF3;
	color: #fff!important;
}
.layer_popup_full .top{
    display: flex;
    padding: 1.0rem 1.0rem;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    flex-wrap: nowrap;
}
.layer_popup_full .top .ic_close{
	text-indent: -100.0rem;
	overflow: hidden
}
.layer_popup_full .body{
	height: 100%;
	padding: 2.0rem;
	width: 100%;
}
.layer_popup_full .bottom{
	width: 100%;
}
.btn_round_white{
	font-size: 1.3rem;
	padding: 0.6rem 1.2rem;
	border: 1px solid #fff;
	color: #fff;
	border-radius: 9.0rem;
	white-space: nowrap;
}
.txt_center{
	text-align: center
}
.txt_right{
	text-align: right
}
.login_auto{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
    flex-direction: row;
}
.login_auto .item{
	display: flex;
}
.login_auto .item label{
	font-size: 1.6rem;
	color: #111;
}
.right_info{
	display: flex;
    justify-content: flex-end;
    align-items: center;
    font-size: 1.4rem;
	color: #5F6BF3;
}
.mbmt1{
	margin: 1.3rem 0
}
.chkitem label{
	font-size: 1.4rem!important
}
.chkitem input[type="checkbox"]:checked + label{
	color: #5F6BF3;
}
.login_auto .item input[type="checkbox"]:checked + label{
	color: #5F6BF3
}

/* ──────────────────────────────────────────────────────────────────────
   회원 유형 선택 카드 (UserGroupSelectView / Figma 디자인 정합)
   - 카드 = label : row 레이아웃 (좌: 라디오 dot, 우: 텍스트)
   - 선택: 파란 테두리(0.2rem) + 그림자
   - 미선택: 연회색 테두리(0.1rem)
   ────────────────────────────────────────────────────────────────────── */
.use_select_wrap .use_select_item{
	margin-bottom: 1.6rem;
}
.use_select_wrap .use_select_item:last-child{
	margin-bottom: 0;
}
/* native radio 는 시각적으로 숨기고 (a11y 는 유지) label 의 .member_radio 가 시각 표현 담당 */
.use_select_wrap .use_select_item input[type="radio"]{
	position: absolute;
	width: 0;
	height: 0;
	opacity: 0;
	pointer-events: none;
}
.use_select_wrap .use_select_item input[type="radio"] + label{
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 1.6rem;
	position: relative;
	padding: 2.0rem;
	border: 0.1rem solid var(--e3e3e3, #e3e3e3);
	border-radius: 1.6rem;
	background: var(--ff, #fff);
	cursor: pointer;
}
.use_select_wrap .use_select_item input[type="radio"]:checked + label{
	border: 0.2rem solid var(--5f6bf3, #5f6bf3);
	box-shadow: 0.4rem 0.6rem 1.6rem rgba(0, 0, 0, 0.12);
	padding: 1.9rem; /* border 0.1rem 증가분 보정 — 클릭 시 카드가 튀지 않도록 */
}
.use_select_wrap .use_select_item input[type="radio"]:focus-visible + label{
	outline: 0.2rem solid var(--5f6bf3, #5f6bf3);
	outline-offset: 0.2rem;
}
/* 라디오 dot — 미선택 (흰 배경 + 회색 테두리) */
.use_select_wrap .use_select_item .member_radio{
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	border-radius: 50%;
	border: 0.14rem solid var(--cdcdcd, #cdcdcd);
	background: var(--ff, #fff);
	box-sizing: border-box;
	position: relative;
	top: 0.2rem; /* 시각 정렬 — 큰 제목과 baseline 맞춤 */
}
/* 라디오 dot — 선택 (두꺼운 파란 채움) */
.use_select_wrap .use_select_item input[type="radio"]:checked + label .member_radio{
	border: 0.8rem solid var(--5f6bf3, #5f6bf3);
	background: var(--ff, #fff);
}
/* 카드 텍스트 영역 (라디오 우측) */
.use_select_wrap .use_select_item .member_card_text{
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	flex: 1;
	min-width: 0;
}
.use_select_wrap .use_select_item input[type="radio"] + label .title{
	display: block;
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--11, #111);
	margin: 0;
}
.use_select_wrap .use_select_item input[type="radio"] + label .subtitle{
	display: block;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--5f6bf3, #5f6bf3);
}
.use_select_wrap .use_select_item input[type="radio"] + label .info{
	display: block;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--66, #666);
	margin: 0;
}
/* 디자인은 라디오를 카드 좌측에 두므로 기존 우상단 :before 도트 제거 */
.use_select_wrap .use_select_item input[type="radio"]:checked + label:before,
.use_select_wrap .use_select_item input[type="radio"] + label:before{
	content: none;
}
/* ──────────────────────────────────────────────────────────────────────
   언어 선택 시트 (LanguageSheet / Figma 정합)
   - .nation_title  : 본문 안내 (회색, 중앙)
   - .nation_list   : 3등분 국기 카드 (가로)
   - .nation_list .item       : 미선택 — 회색 테두리 흰 카드
   - .nation_list .item.on    : 선택 — 파란 테두리 + 그림자
   - .nation_footer : 하단 안내 ('* 설정에서 변경' — 작은 회색)
   ────────────────────────────────────────────────────────────────────── */
/* 본문 안내 — '언어를 선택해 주세요' (회색, 1.4rem == 14px) */
.nation_title{
	font-size: 1.8rem;
	font-weight: 400;
	text-align: center;
	color: var(--11, #111);
	margin: 0 0 2.0rem;
	line-height: 1.4;
}
.nation_list{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 1.0rem;
}
/* 카드 (미선택) — 연회색 칩 (#f5f6fb), 테두리 없음 */
.nation_list .item{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
	padding: 1.2rem 0.8rem;
	border-radius: 1.2rem;
	background: var(--f5f6fb, #f5f6fb);
	box-sizing: border-box;
	text-align: center;
	cursor: pointer;
}
/* 국기 컨테이너 — Figma 자산(74x58) 비율 유지, 카드 폭 안에서 contain.
   max-width 로 작은 카드에서도 비율이 깨지지 않게 한다. */
.nation_list .item .nation_flag{
	display: block;
	width: 100%;
	max-width: 7.4rem;
	aspect-ratio: 74 / 58;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: contain;
}
/* 라벨 ('English' / '한글' / '日本語') — 1.3rem == 13px */
.nation_list .item div{
	margin: 0;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--11, #111);
	line-height: 1.4;
}
/* 카드 (선택) — 흰 배경 + 파란 테두리(0.2rem) + 그림자 */
.nation_list .item.on{
    background: var(--ff, #ffffff);
    border: 0.2rem solid var(--5f6bf3, #5f6bf3);
    box-shadow: 0.4rem 0.6rem 1.6rem rgba(0, 0, 0, 0.12);
    padding: 1.0rem 0.6rem; /* border 0.2rem 두께 흡수 — 카드 튐 방지 */
}
/* 하단 안내 — '변경은 [설정] 메뉴에서 가능합니다' (1.2rem == 12px, 매우 연회색) */
.nation_footer{
	margin: 2.4rem 0 0;
	font-size: 1.4rem;
	color: var(--9d9d9d, #9d9d9d);
	text-align: center;
	line-height: 1.4;
}
/* 캡처 정합 — 페이지 연한 파란회색 배경 + 카드 사이 gap. */
.service_view_detail{
	background: #fff;
	padding: 1.6rem;
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
}
.service_view_reply{
	background: #F5F8FF;
	padding: 0 1.6rem 1.6rem 1.6rem;
}
.cnt.eval_done_stars{
	margin-bottom: 0.6rem
}
.service_view_reply .service_view_detail_pic{
	margin-top: 0.5rem
}
.service_view_reply_list{
	display: flex;
    flex-direction: column;
    gap: 3.0rem;
    margin-bottom: 2.4rem
}
.service_view_reply_list .file_ctl_label{
	background-color: #fff
}
.service_view_reply_list li{
	display: flex;
    flex-wrap: wrap;
}
.service_view_reply_list li.me{
	flex-direction: row-reverse;
}
.service_view_reply_list li .cnt_btn_item{
	width: 100%;
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-top: 0.6rem
}
.service_view_reply_list li.me .cnt_btn_item{
    justify-content: flex-end;
    padding-right: 4.0rem
}
.service_view_reply_list li.other .cnt_btn_item{
	justify-content: flex-start;
	padding-left: 4.0rem
}
.service_view_reply_list li.other{
}
.service_view_reply_list .cnt_wrap{
	max-width: calc(80% - 2.0rem);
	padding: 1.2rem 1.6rem;
}
.service_view_reply_list .cnt_wrap .date{
	color: #92969F;
	font-size: 1.2rem;
}
.service_view_reply_list .cnt_wrap .nm{
	font-weight: 700;
    font-size: 1.4rem;
}
.service_view_reply_list .cnt_wrap .cnt{
	font-size: 1.6rem;
	white-space: pre-wrap;
	font-family: "Pretendard-Medium", sans-serif;
}
.service_view_reply_list li.me .cnt_wrap{
	margin-right: 0.8rem
}

.service_view_reply_list li.other .cnt_wrap{
	margin-left: 0.8rem
}
.service_view_reply_list li.me .cnt_wrap{
	background-color: #2A338E;
	color: #fff;
	border-radius: 2rem 0 2rem 2rem;
}
.service_view_reply_list li.other .cnt_wrap{
	background-color: #fff;
	color: #111;
	border-radius: 0 2rem 2rem 2rem;
}
.service_view_reply_list .cnt_wrap .etc{
    gap: 2.0rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 1.0rem
}
.service_view_reply_title{
    font-size: 1.8rem;
    text-align: center;
    display: block;
    padding: 2.6rem 0;
	font-weight: 600;
}
.service_view_reply_list li .ic {
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 100%;
	flex-shrink: 0;
}
.service_view_reply_list li.me .ic{
	display: none;
}
.service_view_reply_list li.other .ic{
	background-repeat: no-repeat;
    background-image: url(/resources/images/talk_ico.svg);
    background-position: center center;
    background-size: 3.2rem
}
.service_view_detail_btns{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1.0rem 0; 
    gap: 0.5rem;
}
/* 첨부 이미지 그리드 — 캡처 정합: 2열, 가로 긴 박스(4:3), 둥근 모서리 */
.service_view_detail_pic{
display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.6rem;
}
.service_view_detail_pic .item{
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	aspect-ratio: 1 / 1;
	border-radius: 1rem;
	overflow: hidden;
	cursor: pointer;
	border: 0.1rem solid #ebebeb;
    background-color: #fff;
}
.service_view_detail_pic .item img{
	opacity: 0;
    width: 100%;
}
.service_view_detail_in{
	background: #fff;
	border-radius: 1.2rem;
	border: 0.1rem solid #E0E6F4;
	padding: 1rem 2rem
}
.service_view_detail_in div:last-of-type li:last-of-type{
	border: none;
}
/* 상단 카드 — 좌: 둥근 아이콘 박스 / 우: 카테고리(보라 small) + 서비스명(검정 large) */
.service_view_detail_top_r{
	display: flex;
	align-items: center;
	gap: 1.6rem;
}
.service_view_detail_top_r_text{
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	min-width: 0;
}
.service_view_detail_top_r_text .parent{
	font-size: 1.4rem;
	color: #5F6BF3;
	font-weight: 700;
}
.service_view_detail_top_r_text .name{
	font-size: 2.2rem;
	font-weight: 700;
	color: #222;
	word-break: break-word;
}

/* 안내문구 — 캡처 정합: 작은 회색 • 불릿. (custom • 로 정밀 컨트롤) */
.service_view_wrap{
	height: 100%;
	background-color: #F5F8FF;
}
.service_view_info ul{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.service_view_info ul li{
	position: relative;
	padding-left: 1rem;
	font-size: 1.4rem;
	color: #666;
	line-height: 1.5;
}
.service_view_info ul li::before{
	content: '•';
	position: absolute;
	left: 0;
	color: #777;
}
.service_view_detail_star{
	margin: auto;
    position: relative;
    /*margin-top: 3.2rem;*/
    margin-top: 1rem;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.tab_round_items{
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 0.5rem;
	scrollbar-width: none;
    -ms-overflow-style: none;
	padding: 0 1.6rem;
}
.week_menu_info{
    padding: 2.0rem;
    display: flex;
    flex-direction: column;
}
.week_menu_img{
	position: relative;
}
.week_menu_img img{
	width: 100%
}
.week_menu_img .swiper-pagination-bullet{
	background: #fff;
	opacity: 1
}
.week_menu_img .swiper-pagination-bullet-active{
	background: #5F6BF3
}
.week_menu_info .nm{
	color: #fff;
	font-size: 2.0rem
}
.tab_round_items .tab_item{
    padding: 0 1.6rem;
    color: #111;
    border-radius: 0.8rem;
    height: 4.0rem;
    background: #e3e3e3;
    display: flex;
    align-items: center;
    font-size: 1.5rem;
    white-space: nowrap;
	font-family: "Pretendard-Medium", sans-serif;
}
.tab_round_items .tab_item.on{
	background: #5F6BF3;
	color: #fff
}
.lr_item_wrap{
	display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.0rem
}
.lr_item_wrap .l_item{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    width: 100%;
}

.lr_item_wrap .l_item .info_16_222{
	font-weight: 700
}

.lr_item_wrap .r_item{
	flex-shrink: 0
}

.input_switch input[type=checkbox] + label{
	background: #E5E5E5;
    width: 6.4rem;
    padding: 0.4rem;
    display: flex;
    color: #fff;
    border-radius: 2.6rem;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0.5rem;
    font-size: 1.2rem;
    transition: all 0.2s;
}
.input_switch input[type=checkbox]:checked + label{
	background: #5F6BF3;
	flex-direction: row;
}
.input_switch input[type=checkbox]:checked + label .off{
	display: none
}
.input_switch input[type=checkbox]:checked + label .on{
	display: flex;
}
.input_switch input[type=checkbox] + label .on{
	display: none
}
.input_switch input[type=checkbox] + label .off{
	display: flex;
}
.input_switch input[type=checkbox] + label:before{
	display: none
}
.input_switch input[type=checkbox] + label:after{
	content: '';
	width: 2.6rem;
	height: 2.6rem;
	background: #fff;
	border-radius: 2.6rem;
} 
.service_view_detail_star [type=range]{
    position: absolute;
    top: 0;
    height: 100%;
    width: 20rem;
    opacity: 0;
}

.service_view_detail_star_items{
	position: relative;
	height: 3.6rem;
	width: calc(3.6rem * 5);
    margin: 0 auto;
}
.service_view_detail_star_items,
.service_view_detail_star_items .off,
.service_view_detail_star_items .on{
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}
.service_view_detail_star_items .off{
	position: absolute;
}
.service_view_detail_star_items .on{
    position: absolute;
    width: 0;
    overflow: hidden;
    transition: width, 0.2s
}
.service_view_detail_star strong{
    font-size: 1.6rem;
    font-weight: 700;
    display: block;
    margin-bottom: 1.0rem;
    text-align: center;
}
.service_view_detail_star_items .off .item{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_star_off.svg);
    background-position: center center;
    width: 3.6rem;
    height: 3.6rem;
    background-size: 3.6rem
}
.service_view_detail_star_items .on .item{
	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_star_on.svg);
    background-position: center center;
    width: 3.6rem;
    height: 3.6rem;
    background-size: 3.6rem;
    flex-shrink: 0;
}
/* 아이콘 박스 — 캡처 정합: 6.4rem 둥근 사각, 옅은 파란 배경 */
.service_view_detail_top_r_in{
	width: 10rem;
	height: 10rem;
	background-color: #F5F8FF;
	background-position: center;
	background-repeat: no-repeat;
	background-size: 5.2rem 5.2rem;
	border-radius: 50%;
}

/* 일정 카드 — 상세 정보 카드 안 상단 보더 구분으로 표현 */
.service_view_detail_rbox{
}
.service_view_detail_date{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.service_view_detail_date .item{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 1.3rem;
	margin: 0;
}
.service_view_detail_date .item:first-child{
	margin-top: 0
}
.service_view_detail_date .item span{
	font-size: 1.5rem;
	color: #666;
}
.service_view_detail_date .item div{
	font-size: 1.5rem;
	color: #111;
	font-weight: 700;
}
.service_view_detail_title{
	font-size: 1.6rem;
	font-weight: 700;
	color: #222;
	margin: 0.6rem 0
}
.service_view_wrap .service_view_reply_list li.me .cnt_wrap{
	border: 0.1rem solid #B4BAFF;
	background-color: #DDE2F8;
}
.service_view_wrap .service_view_reply_list .cnt_wrap .nm,
.service_view_wrap .service_view_reply_list .cnt_wrap .date,
.service_view_wrap .service_view_reply_list .cnt_wrap .cnt{
	color: #111
}
/* 위치/사유/메시지 — 단순 행 형식 (라벨 좌·값 우). 보더/박스 제거. */
.service_view_detail .review_card{
	margin: 0!important;
}
.service_view_detail_title2{
	padding: 0;
	margin: 0;
}
.service_view_detail_title3{
	padding: 0;
}
.service_view_detail_title2 ul,
.service_view_detail_title3 ul{
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.8rem;
}
.service_view_detail_title2 ul li,
.service_view_detail_title3 ul li{
	display: flex;
	align-items: center;
	gap: 1.8rem;
	padding: 1rem 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
	font-size: 1.6rem;
	line-height: 1.5;
	font-weight: 400;
	flex-wrap: nowrap;
	flex-direction: row;
	border-bottom: 0.1rem solid #ededed
}
.service_view_detail_title2 ul li:first-child,
.service_view_detail_title3 ul li:first-child{
	border-top: 0;
}
.disc{
	display: inline-block;
	flex-direction: unset;
	justify-content: unset;
	align-items: unset;
	flex-wrap: unset;
}
.disc:after{
	display: none;
}
.service_view_detail_title2 ul li .disc,
.service_view_detail_title3 ul li .disc{
	flex: 0 0 8rem;
	width: auto;
	padding: 0;
	background: transparent;
	border: 0;
	color: #4D5256;
	font-size: 1.6rem;
	font-weight: 500;
}
.service_view_detail_title2 ul li .disc:after,
.service_view_detail_title3 ul li .disc:after{
	display: none;
}
.service_view_detail_title2 ul li .txt,
.service_view_detail_title3 ul li .txt{
	flex: 1;
	width: auto;
	padding: 0;
	color: #4D5256;
	font-weight: 700;
	white-space: pre-line;
	word-break: break-word;
}
.service_view_detail_title2 ul li .ic20{
	display: none;
}

/* 상태 배지 — 캡처 정합: 별도 카드, 옅은 회색 배경, ● 보라 점 */
.service_view_detail_top_r_stats{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	padding: 1.2rem 1.6rem;
	background: #ECF0FA;
	border-radius: 1rem;
	color: #111;
	font-size: 1.8rem;
	font-weight: 500;
	width: auto;
	margin-top: 0;
	text-align: center;
}
.service_view_detail_top_r_stats::before{
	content: '●';
	color: #5F6BF3;
	font-size: 1.2rem;
}
.service_view_detail_top_r_stats.apply{
	background-color: #EEF1FE;
}
.service_view_detail_top_r_stats.proceeding{
	background-color: #EAF7F2;
}
.service_view_detail_top_r_stats.proceeding::before{
	color: #36CF8E;
}
.t_bor{
	border-top: 0.1rem solid #ededed;
	padding-top :1rem
}
.service_view_detail_top_r_stats.end{
	background-color: #F1F2F4;
}
.service_view_detail_top_r_stats.end::before{
	color: #D7D7D7;
}
.footer_flex{
	display: flex;
    flex-direction: row;
}

/* ──────────────────────────────────────────────────────────────────────
   회원가입 진입 영역 (UserGroupSelectView / Figma 디자인 정합)
   - .info_notuser : 좌측 정렬 안내 ('회원가입이 안되었다면')
   - .use_select_etc_btn : 균등 2등분 버튼 그리드 (한·영·일 동일 레이아웃)
   - 버튼 : 둥근 사각 카드 (흰 배경 + 연회색 테두리, 텍스트 중앙)
   - .b_line : 디자인에 구분선 없음 — display:none 으로 무력화
   ────────────────────────────────────────────────────────────────────── */
.use_select_etc{
	margin-top: 8.8rem;
	font-size: 1.4rem;
}
.use_select_etc .info_notuser{
	font-size: 1.6rem;
	color: var(--11, #111);
	font-weight: 500;
	text-align: left;
	margin-bottom: 1.2rem;
}
.use_select_etc_btn{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.0rem;
	align-items: stretch;
}
/* 디자인은 모든 언어 동일 레이아웃 — :not(.ko) column 분기 무력화 */
.use_select_etc_btn:not(.ko){
	grid-template-columns: 1fr 1fr;
}
.use_select_etc_btn .b_line{
	display: none;
}
.use_select_etc_btn a{
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.4rem 0.8rem;
	border: 0.1rem solid var(--e3e3e3, #e3e3e3);
	border-radius: 1.0rem;
	background: var(--ff, #ffffff);
	color: var(--11, #111);
	font-size: 1.4rem;
	font-weight: 500;
	text-decoration: none;
	text-align: center;
	line-height: 1.4;
	box-sizing: border-box;
	cursor: pointer;
}
.use_select_etc_btn a:hover,
.use_select_etc_btn a:focus-visible{
	border-color: var(--5f6bf3, #5f6bf3);
	outline: none;
}
.b_line{
    height: 1.2rem;
    width: 0.1rem;
    background: #5F6BF3;
    display: block;
    position: relative;
    margin: 0 1.0rem;
    overflow: hidden;
}
/* 로그인 보조 액션 영역 (LoginView 하단 — 디자인 정합)
   디자인은 상단 보더/안내문구 없이 3버튼만 한 줄. 회원가입은 .btn_white_blue 강조. */
.login_etc{
	margin-top: 6.4rem;
}
.login_etc .row_flex{
	gap: 1.0rem;
	justify-content: flex-start;
	flex-wrap: nowrap;
}
.login_etc .row_flex button{
    width: 100%
}
.login_etc a{
	display: inline-block;
	color: #5F6BF3;
	margin-left: 0.5rem;
}
.notice_one{
	margin: 2.0rem 0;
	height: 2.4rem;
	overflow: hidden
}
.notice_one_pd{
    padding: 0.65rem 2.0rem!important;
}
.notice_one_pd2{
    padding: 0.65rem 0!important;
}
.notice_one_pd .notice_one,
.notice_one_pd2 .notice_one{
	margin: 0;
}
.sheet_info{
	padding: 1.6rem 2.0rem;
	display: flex;
    align-items: flex-start;
    gap: 0.8rem;
    font-size: 1.5rem;
	border-radius: 1.6rem;
	margin-bottom: 1.6rem;
}
.sheet_info.wa{
	background: #FFF5F5;
	color: #111;
}
/* Figma 정합 — 냉난방 요청용 caution(주의) 톤 (노란 배경 + ic_feel2.svg) */
.sheet_info.cau{
	background: #FFFBF2;
	color: #111;
}
.sheet_info:before{
	content: '';
	width: 1.8rem;
	height: 1.8rem;
	display: block;
 	background-repeat: no-repeat;
    background-image: url(/resources/images/ic_feel.svg);
    background-position: center center;
    flex-shrink: 0;
     background-color: #222;
    border-radius: 1.8rem;
    background-size: 0.2rem;
}
.sheet_info.wa:before{
	width: 2rem;
    height: 2rem;
    background-image: url(/resources/images/ic_feel.svg);
    background-size: 100%;
    background-color: transparent;
}
/* Figma 정합 — caution(.cau) 아이콘: ic_feel2.svg, 배경 투명 */
.sheet_info.cau:before{
	width: 2rem;
    height: 2rem;
    background-image: url(/resources/images/ic_feel2.svg);
    background-size: 100%;
    background-color: transparent;
}
.notice_one button{
    display: flex;
    width: 100%;
    text-align: left;
    gap: 1rem;
    height: 3.3rem;
    overflow: hidden;
    font-size: 1.4rem;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
}
.notice_one button span{
    white-space: nowrap;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
	font-size: 1.3rem;
}
.notice_icon{
    white-space: nowrap;
    font-size: 1.2rem;
    color: #5F6BF3;
    background-color: #fff;
    border: 0.1rem solid #5F6BF3;
    padding: 0.2rem 0.8rem 0.2rem 0.8rem;
    border-radius: 0.9rem;
}


.mylist_nodata{
	display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    padding: 5.0rem 0;
    color: #999;
    font-size: 1.6rem
}
.def_select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	background-size: 1.2rem;
	background-repeat: no-repeat;
    background-position: calc(100% - 1rem) center;
    background-image: url(/resources/images/down_arr.svg);
    padding-right: 3rem;
	background-size: 1.8rem;
    text-overflow: ellipsis;
}

.input_in_item{
	display: flex;
	align-items: center;
}
.input_in_right{
    height: 4.0rem;
    width: 4.0rem;
    margin-left: -4.0rem;
}
.input_in_right_t{
	padding-right: 4.0rem!important
}
.def_select,
.def_input{
	color: #4D5256;
	border-radius: 1.6rem;
	padding: 0 1.0rem;
	font-size: 2.0rem;
	background-color: #F5F6FB;
    border: none;
    padding: 1.3rem 2rem;
    font-size: 2rem;
}
.remove_add_item{
	width: 2.8rem;
	height: 2.8rem;
	background-image: url(/resources/images/ic_minus2.svg);
	background-size: cover;
	flex: none
}
.notice_one button:after{
 	content: '';
    background-repeat: no-repeat;
    background-image: url(/resources/images/ic_notice_arr_right.svg);
    background-position: center center;
    width: 2.4rem;
    height: 2.4rem;
    display: inline-block;
    margin-left: auto;
    flex-shrink: 0;
}
.main_date_area{
	border: 0.1rem solid #e5e5e5;
    border-radius: 1.2rem;
    padding: 1.0rem 2.0rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: nowrap;
    flex-direction: row;
    gap: 1.0rem
}
.main_date_area .emergency .ic_emergency{
	background-color: #F14B4B;
	border-radius: 4.0rem;
}
.main_date_area .emergency .ic_air{
	background-color: #222222;
	border-radius: 4.0rem;
}
.main_date_area .date{
	font-size: 1.6rem;
}
.main_date_area .emergency{
	display: flex;
    gap: 0.8rem;
    align-items: center;
    flex-wrap: nowrap;
    flex-direction: row;
}
.temp_hum_venti_wrap{
	display: flex;
    flex-direction: column;
    gap: 2.0rem;
}
.temp_hum_venti{
	display: flex;
    justify-content: space-between;
    flex-wrap: nowrap;
    flex-direction: row;
    align-items: center;
    gap: 2rem
}
/* Figma 정합 — 좌측 그룹 라벨 (그룹명 + 이모지). 옵션 row 좌측에 배치. */
.thv_label{
	display: flex;
	align-items: center;
	gap: 0.4rem;
	flex-shrink: 0;
}
.thv_name{
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 2.2rem;
	font-weight: 700;
	color: var(--11, #111);
	line-height: 1;
}
/* Figma 정합 — 우측 옵션 행 (라디오 + label 버튼들). */
.thv_options{
	display: flex;
	flex-direction: row;
	gap: 0.8rem;
	flex: 1;
}
.temp_hum_venti input[type="radio"] + label:before{
	display: none 
}
.temp_hum_venti input[type="radio"] + label{
    border: 0.1rem solid #cdcdcd;
    text-align: center;
    border-radius: 1.2rem;
    width: 100%;
    font-size: 1.6rem;
    height: 6.0rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    flex-direction: row;
}
.temp_hum_venti input[type="radio"]:checked + label{
	border: 0.1rem solid #5F6BF3;
	background-color: #F4F7FF;
}
.temp_hum_venti input[type="radio"]:disabled + label{
	color: #92969F
}
.temp_hum_venti input[type="radio"]:checked:disabled + label{
	background: #92969F;
	color: #fff;
	border-color: #92969F;
	box-shadow: none
}

.main_banner_slider .item img{
	width: 100%;
}
.main_navi{
	display: flex;
    justify-content: space-between;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    background: #fff;
    padding: 0.5rem 1.2rem 1.2rem 1.2rem
}
.main_navi .item{
	width: 100%;
	text-align: center;
	position: relative;
}
.main_navi .ic_alarm_on:before{
    right: calc(50% - 1.6rem);
}
.main_category{
	background: #fff;
}
.main_category .wrap{
    border-top-left-radius: 3.2rem;
    padding: 2.0rem;
    background: #f8f8f8
}
.main_category .title{
	border-top: 0.1rem solid #eaeaea;
	display: block;
	padding-top: 2.0rem;
	font-size: 1.4rem
}
.main_category .title:first-child{
	border-top: 0;
	padding-top: 0;
}
.main_category .items{
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 2.0rem 0;
    gap: 2.0rem;
	scrollbar-width: none;
    -ms-overflow-style: none;
    align-items: center;
}
.main_category .items::-webkit-scrollbar,
.tab_round_items::-webkit-scrollbar,
.title_tab::-webkit-scrollbar{
    display: none;
}
.main_category .items .item{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 9.0rem;
    flex-shrink: 0;
    gap: 0.3rem;
}
.main_category .items .item img{
	width: 3.5rem;
	height: 3.5rem
}
.main_category .items .item span{
    display: inline-block;
    width: 100%;
    text-align: center;
    font-size: 1.2rem;
}
.notice_list{
	display: flex;
    flex-direction: column;
}
.notice_list .title{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 1.0rem;
    align-items: center;
	padding-right: 0.3rem;
}
.notice_list .cnt .cnt_in{
	background: #F5F6FB;
	border-radius: 1.2rem;
	padding: 1.6rem;
	width: 100%;
	height: 100%
}
.notice_list .cnt .cnt_in pre{
	font-size: 1.6rem;
	font-family: "Pretendard-Regular", sans-serif;
}
.notice_list .cnt .cnt_in iframe{
	width: 100%
}
.faq_ico{
	font-size: 1.8rem;
	font-family: "Pretendard-Medium", sans-serif;
	color: #5F6BF3
}
.cnt_in_wrap{
	display: flex;
    gap: 1.5rem;
}
.notice_list .cnt .cnt_in img{
	max-width: 100%
}
.notice_list .title strong{
	width: 100%;
	font-weight: 500;
}
.notice_list .date{
    color: #9d9d9d;
	font-size: 1.2rem;
}
.notice_list input[name="label_up_down"] + label:before,
.notice_list input[name="label_up_down"]:checked + label:before{
	display: none
}
.notice_list .item:nth-child(2) label{
	margin-top: 0;
}
.notice_list input[name="label_up_down"] + label{
	font-size: 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    align-items: stretch;
    margin-top: 2.2rem;
    padding-bottom: 2.2rem;
    border-bottom: 0.1rem solid #e5e5e5;
    transition: all 0.2s;
	font-family: "Pretendard-Medium", sans-serif;
}
.notice_list .item:last-child input[name="label_up_down"] + label{
	border-bottom: 0;
}
.notice_list input[name="label_up_down"]:checked + label{
	border-bottom: 0.1rem solid #fff;
    transition: all 0.2s;
}
.notice_list .p_line10{
	display: none
}
.notice_list input[name="label_up_down"] + label + .cnt{
    max-height: 0;
    transition: max-height 0.3s ease-out, margin 0.1s, opacity 0.2s;
    overflow-x: hidden;
    overflow-y: auto;
    display: flex;
    flex-wrap: nowrap;
    gap: 1.0rem;
    position: relative;
    opacity: 0;
}
.notice_list input[name="label_up_down"]:checked + label + .cnt{
	opacity: 1
}
.notice_list .p_line10:first-child{
	display: none
}
/* 신규 아이콘 — right_arr_plus / minus (Figma 정합).
   접힘=plus, 펼침=minus. 기존 ic_arrow_up/down 과 동일 토글 규칙. */
.ic_arr_plus{
	background-image: url(/resources/images/right_arr_plus.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 2rem;
}
.ic_arr_minus{
	background-image: url(/resources/images/right_arr_minus.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 2rem;
}
.notice_list input[name="label_up_down"] + label .ic_arr_minus{
	display: none
}
.notice_list input[name="label_up_down"]:checked + label .ic_arr_minus{
	display: inherit;
}
.notice_list input[name="label_up_down"]:checked + label .ic_arr_plus{
	display: none
}
.notice_list input[name="label_up_down"] + label .ic_arr_plus{
	display: inherit;
}
.notice_list input[name="label_up_down"]:checked + label + .cnt{
	max-height: 100vh;
}

.mywork_list{
	font-size: 1.4rem
}
.mywork_list_in{
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
}
.mywork_list_in .item0{
padding-bottom: 1.6rem;
    margin-bottom: 1.6rem;
    border-bottom: 0.1rem solid #e3e3e3;
}
.mywork_list_in .item0:nth-last-child(1){
padding-bottom: 0;
    margin-bottom: 0;
    border-bottom: none;
}
.mywork_cate_wrap{
	display: flex;
    align-items: center;
    gap: 2rem;
}
.mywork_cate_wrap_img{
	background-color: #F5F6FB;
	border-radius: 100%;
	overflow: hidden;
	width: 4.4rem;
	height: 4.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
    flex-shrink: 0;
}
.mywork_cate_text .mywork_cate_text_sub{
	font-size: 1.4rem;
	color: #999;
	margin-top: 0.3rem
}
.mywork_cate_wrap_img img{
	width: 3rem;
	height: 3rem;
}
.mywork_cate_text{
	font-size: 1.8rem;
	font-family: "Pretendard-Medium", sans-serif;
}
@media screen and (max-width:375px) {
	html{
		font-size: 52.5%
	}
}
@media screen and (max-width:280px) {
	html{
		font-size: 42.5%
	}
}

@keyframes slidein {
	from {width: 1.4rem;height:1.4rem;opacity: 1;}
	to {width: 1.0rem;height: 1.0rem;}
}

/* ──────────────────────────────────────────────────────────────────────
   페이지 상단 인사 제목 (#top .left 등에서 공통 사용 여지)
   Figma 디자인 정합 — Pretendard-Bold 2rem (=20px @62.5%), 2줄 인사 + 이모지.
   ────────────────────────────────────────────────────────────────────── */
.greeting{
	display: block;
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 2.0rem;
	font-weight: 700;
	line-height: 1.4;
	color: var(--11, #111111);
}

/* ──────────────────────────────────────────────────────────────────────
   인라인 칩 (SignupView step 5 사이트 / 부서 칩 선택 패턴 공통)
   - 다른 화면(태그/필터) 에서도 재사용 가능. 1.3rem == 13px @62.5%.
   ────────────────────────────────────────────────────────────────────── */
.chip{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.0rem 1.4rem;
	border: 0.1rem solid var(--e3e3e3, #e3e3e3);
	border-radius: 0.8rem;
	background: var(--ff, #ffffff);
	color: var(--11, #111);
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.3rem;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	white-space: nowrap;
}
.chip.on{
	border: 0.1rem solid var(--5f6bf3, #5f6bf3);
	color: var(--5f6bf3, #5f6bf3);
	background: var(--ff, #ffffff);
}
.chip:focus-visible{
	outline: 0.2rem solid var(--5f6bf3, #5f6bf3);
	outline-offset: 0.2rem;
}

/* ──────────────────────────────────────────────────────────────────────
   회사/근무지 카드 리스트 (SignupView step 6 근무지 — Figma 카드 디자인)
   - 좌측 로고(.company_card_logo) + 우측 텍스트(.company_card_text)
   - 선택 시 파란 테두리(0.2rem) + 연파란 배경 강조
   - 로고는 회사 logoUrl 우선, 없으면 ic_company.svg fallback
   ────────────────────────────────────────────────────────────────────── */
.company_card_list{
	display: flex;
	flex-direction: column;
	gap: 1.0rem;
	margin: 0.8rem 0 0;
	padding: 0;
	list-style: none;
}
.company_card_list > li{
	display: block;
}
.company_card{
	display: flex;
	align-items: center;
	gap: 1.4rem;
	width: 100%;
	padding: 1.4rem;
	border: 0.1rem solid var(--e3e3e3, #e3e3e3);
	border-radius: 1.2rem;
	background: var(--ff, #ffffff);
	cursor: pointer;
	text-align: left;
	box-sizing: border-box;
}
.company_card.on{
	border: 0.2rem solid var(--5f6bf3, #5f6bf3);
	background: var(--f4f7ff, #f4f7ff);
	padding: 1.3rem; /* border 0.1rem 증가분 보정 — 카드 튐 방지 */
}
.company_card:focus-visible{
	outline: 0.2rem solid var(--5f6bf3, #5f6bf3);
	outline-offset: 0.2rem;
}

.bottom_popup_items_btn button.on{
	border: 0.2rem solid var(--5f6bf3, #5f6bf3);
	background: var(--f4f7ff, #f4f7ff);
	padding: 1.3rem; /* border 0.1rem 증가분 보정 — 카드 튐 방지 */
}
.bottom_popup_items_btn:focus-visible{
	outline: 0.2rem solid var(--5f6bf3, #5f6bf3);
	outline-offset: 0.2rem;
}

/* 로고 컨테이너 — Figma 정합 3.0rem (이전 4.4rem 대비 약 30% 축소) */
.company_card_logo{
	flex-shrink: 0;
	width: 3.0rem;
	height: 3.0rem;
	border-radius: 0.6rem;
	object-fit: contain;
	background: var(--f5f6fb, #f5f6fb);
	padding: 0.4rem;
	box-sizing: border-box;
}
/* 로고 없는 변형 (부서 카드 — 본부/팀 공통) */
.company_card.no_logo{
	gap: 0;
}
.company_card_text{
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.company_card_name{
	font-family: "Pretendard-Regular", sans-serif;
	font-size: 1.6rem;
	color: var(--11, #111);
	line-height: 1.4;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.company_card_addr{
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.2rem;
	font-weight: 500;
	color: var(--9d9d9d, #9d9d9d);
	line-height: 1.4;
}

/* ──────────────────────────────────────────────────────────────────────
   약관 동의 화면 (SignupView step 8 / Figma 정합)
   - .agree_intro       : 상단 일러스트 + 제목 2줄 (가운데 정렬)
   - .agree_all_card    : 약관 전체 동의 카드 (연회색 배경 + 체크박스 + 라벨)
   - .agree_list / .agree_item : 개별 약관 행
   - .agree_item_badge.req/opt : (필수)/(선택) 배지
   - .agree_item_view   : 우측 상세보기 화살표
   체크박스 시각은 글로벌 input[type=checkbox]+label:before SVG 그대로 사용.
   ────────────────────────────────────────────────────────────────────── */
.agree_intro{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.2rem;
	margin: 0.8rem 0 2.4rem;
	text-align: center;
}
.agree_intro_img{
	width: 7.2rem;
	height: 7.2rem;
	object-fit: contain;
}
.agree_intro_title{
	display: block;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--11, #111);
}

.agree_all_card{
	display: flex;
	align-items: center;
	padding: 1.6rem 2.0rem;
	border-radius: 1.2rem;
	background: var(--f5f6fb, #f5f6fb);
	margin: 0 -1rem 1.4rem -1rem;
}
.agree_all_card input[type="checkbox"] + label{
	display: flex;
	align-items: center;
	gap: 1.2rem;
	width: 100%;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 2.2rem;
	color: var(--11, #111);
	cursor: pointer;
}

.agree_list{
	list-style: none;
	padding: 0;
	margin: 0 1rem;
}
.agree_item{
	display: flex;
	align-items: center;
	padding: 1rem 0;
	gap: 1.0rem;
}
.agree_item input[type="checkbox"] + label{
	flex: 1;
	display: flex;
	align-items: center;
	gap: 1.2rem;
	font-size: 1.6rem;
	color: var(--11, #111);
	cursor: pointer;
}
.agree_item_badge{
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
}
.agree_item_badge.req{ color: var(--5f6bf3, #5f6bf3); }
.agree_item_badge.opt{ color: var(--9d9d9d, #9d9d9d); }
.agree_item_view{
	flex-shrink: 0;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	border: 0;
	background: none;
	color: var(--9d9d9d, #9d9d9d);
	font-size: 1.8rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}
.agree_item_view img{
	width: 1.4rem;
	height: 1.4rem;
	object-fit: contain;
}

/* 약관 상세 BottomSheet 본문 — 긴 본문 스크롤 + 우측 정렬 날짜 등 가독성 */
.agree_detail_body{
	font-family: "Pretendard-Regular", sans-serif;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--11, #111);
	word-break: break-word;
    white-space: pre-line;
}

/* ──────────────────────────────────────────────────────────────────────
   회원가입 완료 전체화면 팝업 (SignupView Teleport, signupDone=true)
   Figma 정합 — pretitle(작은 회색) + title(큰 파랑) + 강아지 일러스트
   + sub + hint + 메인 버튼 + 하단 'Hi Gadget+' 로고.
   .password_input(z-index 2) 위에 떠야 하므로 z-index 명시.
   ────────────────────────────────────────────────────────────────────── */
.signup_done_overlay{
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	z-index: 1100;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	background: var(--ff, #ffffff);
	max-width: 1024px;
	margin: 0 auto;
	overflow-y: auto;
}
.signup_done_wrap{
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 4.0rem 2.0rem 2.0rem;
	text-align: center;
}
/* pretitle — 작은 검정 (디자인 캡처: '건물 관리, 가제트가 쉽게') */
.signup_done_pretitle{
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 2.2rem;
	line-height: 1.4;
	color: var(--11, #111);
	margin: 0;
}
/* title — 큰 보라파랑 강조 ('환영합니다!') */
.signup_done_title{
	display: block;
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.3;
	color: var(--5f6bf3, #5f6bf3);
	margin-bottom: 1.0rem;
}
/* 강아지 일러스트 (원형 배경 포함된 svg 가정) */
.signup_done_img{
	width: 20rem;
	height: 20rem;
	object-fit: contain;
	margin: 1.0rem 0 4rem 0;
}
/* sub — 검정 medium */
.signup_done_sub{
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--11, #111);
	margin: 0;
}
/* hint — 회색 작은 안내 */
.signup_done_hint{
	font-family: "Pretendard-Regular", sans-serif;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.5;
	color: var(--9d9d9d, #9d9d9d);
	margin: 0 0 4rem 0;
}
/* 하단 영역 — 버튼 + 로고 */
.signup_done_bottom{
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2.0rem;
	padding: 1.6rem 2.0rem 2.4rem;
}
.signup_done_logo{
	height: 3.0rem;
	width: auto;
	object-fit: contain;
	opacity: 0.95;
}

/* ──────────────────────────────────────────────────────────────────────
   DashboardView — Figma 정합 (대시보드 전용)
   - 배경 #EBF2FF
   - 상단: logo2 + 날짜 + 햄버거(ic_burger)
   - 카테고리: 그룹 무시, 한 줄 가로 스크롤, 아이콘 5.2rem
   ────────────────────────────────────────────────────────────────────── */
.dashboard_wrap {
	background: var(--ebf2ff, #ebf2ff);
}
.dashboard_wrap #body.dashboard_body {
	background: var(--ebf2ff, #ebf2ff);
}

/* 상단 헤더 */
.dashboard_top {
	background: var(--ebf2ff, #ebf2ff);
	padding: 1.2rem 1.6rem !important;
}
.dashboard_top .left {
	display: flex;
	align-items: center;
	gap: 1.0rem;
	margin-right: auto;
}
.dashboard_logo {
	display: inline-flex;
	align-items: center;
}
.dashboard_logo img {
	height: 3rem;
	width: auto;
}
.dashboard_date {
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.5rem;
	color: var(--11, #111);
}
.dashboard_burger {
	height: 4.0rem;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.dashboard_burger img {
	width: 2.4rem;
	height: 2.4rem;
}

/* 냉난방 / 긴급 큰 버튼 — Figma 정합 (2 등분 grid) */
.dashboard_quick {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.0rem;
	margin: 0 1.6rem 1.6rem;
}
.dashboard_quick_btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	padding: 1.2rem 1.2rem;
	border: 0;
	border-radius: 1.6rem;
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 1.4rem;
	font-weight: 700;
	cursor: pointer;
	box-sizing: border-box;
}
.dashboard_quick_btn img {
	width: 2.0rem;
	height: 2.0rem;
	object-fit: contain;
}
/* 냉난방 — 연한 보라파랑 배경 + 어두운 텍스트 */
.dashboard_quick_air {
	background: var(--5F6BF3, #5F6BF3);
	color: var(--ff, #fff);
}
/* 긴급 — 짙은 남색 배경 + 흰 텍스트 */
.dashboard_quick_emergency {
	background: var(--002480, #002480);
	color: var(--ff, #ffffff);
}
.menu_quick_air {
	background: var(--ff, #fff);
	color: var(--11, #111);
}
.menu_quick_emergency {
	background: var(--ff, #fff);
	color: var(--11, #111);
}

/* 카테고리 — 그룹별 흰 카드 (필요해요 / 불편해요 / 신청해요)
   Figma 정합: 3개 카드 간격 0 으로 붙어 하나의 큰 카드처럼 보임.
   - 1번째(필요해요, .is-first): 상단만 round
   - 3번째(신청해요, .is-last): 하단만 round + 다음 콘텐츠와의 간격
   - 2번째(불편해요): radius 0
   주의: :first-of-type/:last-of-type 은 부모(#body)의 다른 div 들 때문에 매칭 실패 →
   Vue v-for idx 기반 .is-first / .is-last 로 명시. */
.dashboard_cat_group {
	background: var(--ff, #ffffff);
	border-radius: 0;
	padding: 1.6rem 0;
	margin: 0 1.6rem;
}
.menu_list_wrap .dashboard_cat_group {
	margin-bottom: 1.6rem!important;
	border-radius: 1.6rem;
}
.menu_list_wrap .dashboard_cat_row{
border: none;
padding-bottom: 0;
}
.menu_list_wrap .dashboard_cat_icon{
	width: 3.6rem;
	height: 3.6rem;
}
.dashboard_cat_group.is-first {
	border-top-left-radius: 1.6rem;
	border-top-right-radius: 1.6rem;
}
.dashboard_cat_group.is-last {
	border-bottom-left-radius: 1.6rem;
	border-bottom-right-radius: 1.6rem;
	/* 마지막 카드 다음 콘텐츠와의 간격 */
	margin-bottom: 1.2rem;
}
.dashboard_cat_group.is-last .dashboard_cat_row{
	padding: 0;
	border: none
}
.dashboard_cat_title {
	display: block;
	font-family: "Pretendard-Bold", sans-serif;
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--11, #111);
	padding: 0 1.6rem;
	margin-bottom: 1.2rem;
}
.dashboard_cat_row {
	display: flex;
	flex-direction: row;
	gap: 0.4rem;
	list-style: none;
	margin: 0 1.6rem;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 2rem;
	border-bottom: 0.1rem solid #e3e3e3
}
.dashboard_cat_row::-webkit-scrollbar { display: none; }
.dashboard_cat_item {
	flex: 0 0 auto;
	scroll-snap-align: start;
	width: calc(25% - 0.4rem);
}
.dashboard_cat_item .item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 0.8rem;
	width: 7.2rem;
	padding: 0.4rem 0;
	background: none;
	border: 0;
	cursor: pointer;
	margin: 0 auto;
}
.dashboard_cat_icon {
	width: 5.2rem;
	height: 5.2rem;
	object-fit: contain;
}
.dashboard_cat_label {
	font-family: "Pretendard-Medium", sans-serif;
	font-size: 1.4rem;
	font-weight: 500;
	color: var(--66, #666);
	text-align: center;
	line-height: 1.3;
	word-wrap: break-word;
}
.vote_body { padding: 1.2rem 1.6rem; }
/* 질문 — 'UX팀 가제트님의 요청사항입니다.' (margin-bottom 2rem, 디자인 정합) */
.vote_question {
  font-size: 1.8rem;
  line-height: 1.6;
  color: var(--11, #111);
  text-align: center;
  margin: 0 0 2.0rem;
}
/* Figma 정합 카드 — #EBF2FF 배경, radius 1.2rem, padding 2rem, margin-bottom 2rem */
.vote_card {
  background: var(--ebf2ff, #ebf2ff);
  border-radius: 1.2rem;
  padding: 2.0rem;
  margin-bottom: 2.0rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.vote_card_title {
   display: flex;
    align-items: center;
    gap: 0.6rem;
    flex-wrap: wrap;
    width: 100%;
    text-align: center;
    justify-content: center;
	border-bottom: 0.1rem solid #B4BAFF;
    margin-bottom: 1.2rem;
    padding-bottom: 1.2rem;
}
.vote_card_group {
  font-family: "Pretendard-Bold", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--11, #111);
}
.vote_card_option {
  font-family: "Pretendard-Medium", sans-serif;
  font-size: 1.8rem;
  font-weight: 500;
  color: var(--5F6BF3, #5F6BF3);
}
.vote_card_div {
  border: 0;
  border-top: 0.1rem solid var(--e3e3e3, #e3e3e3);
  margin: 1.2rem 0;
}
.vote_card_contents {
  font-size: 1.6rem;
  color: var(--11, #111);
  line-height: 1.5;
  margin: 0;
  white-space: pre-wrap;
  text-align: center;
}
.vote_btns { display: flex; gap: 0.8rem; }
.vote_btns button { 
	flex: 1; line-height: 1.4; font-size: 2.2rem; font-weight: 500; 
	font-family: "Pretendard-Medium", sans-serif;
}
/* ──────────────────────────────────────────────────────────────────────
   요청 내역 (MyRequestListView — Figma 타임라인 디자인)
   - 헤더/검색 영역: bg_blue(#5F6BF3) 위 흰 라운드 select/input
   - 탭바: ALL / ●신청 / ●처리중 / ●종료 (active 파란 텍스트 + 밑줄)
   - 본문 타임라인: 연도(파란 대제목) > 날짜 칩 > 점선 rail + 상태 dot + 카드
   - 상태색: 신청 #5F6BF3 / 처리중 #36CF8E / 종료 #D7D7D7
   ※ 기존 .mylist 계열은 ManagerDashboardView 가 공유 — 건드리지 않고 rq* 신규.
   ────────────────────────────────────────────────────────────────────── */
#wrap_type_a #top.rq_top{
	background: #5F6BF3;
}
#wrap_type_a #top.rq_top .center_title{
	color: #fff;
}
/* 검색/탭 sticky 묶음 — 파란 검색영역 + 흰 탭바 */
.rq_sticky{
	position: sticky;
	top: 0;
	z-index: 2;
}
.rq_search{
	display: flex;
	gap: 0.8rem;
	padding: 0.4rem 1.6rem 1.6rem;
	background: #5F6BF3;
}
.rq_search .def_select,
.rq_search .def_input{
	border: none;
	border-radius: 0.8rem;
	background-color: #fff;
}
.rq_search .def_select{
	width: 42%;
	flex-shrink: 0;
	font-weight: 700;
	color: #111;
}
.rq_search .input_in_item{
	width: 100%;
}
.rq_search .def_input{
	width: 100%;
}
.rq_tab{
	display: flex;
	background: #fff;
	border-bottom: 0.1rem solid #ECECEC;
}
.rq_tab button{
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 1.3rem 0 1.1rem;
	font-size: 1.6rem;
	color: #999;
	border-bottom: 0.2rem solid transparent;
	white-space: nowrap;
	font-family: "Pretendard-Medium", sans-serif;
}
.rq_tab button.on{
	color: #5F6BF3;
	font-weight: 700;
	border-bottom-color: #5F6BF3;
}
.rq_tab .dot{
	width: 1.2rem;
	height: 1.2rem;
	border-radius: 50%;
	flex-shrink: 0;
}
.rq_tab .dot.apply{ background: #5F6BF3; }
.rq_tab .dot.proceeding{ background: #36CF8E; }
.rq_tab .dot.complete{ background: #D7D7D7; }
/* ── 타임라인 본문 ── */
.rq_data{
	padding: 0.4rem 1.6rem 2.4rem;
}
.rqtl_year{
	text-align: center;
	color: #5F6BF3;
	font-size: 2.2rem;
	font-weight: 700;
	font-family: "Pretendard-Bold", sans-serif;
	margin: 1.6rem 0 0.4rem;
}
.rqtl_date{
	margin: 1.2rem 0 0;
}
.rqtl_date span{
	display: inline-block;
	border: 0.1rem solid #5F6BF3;
	color: #5F6BF3;
	border-radius: 2.0rem;
	padding: 0.3rem 1.2rem;
	font-size: 1.5rem;
	font-weight: 700;
	background: #fff;
	position: relative;
	z-index: 1;
}
/* 아이템 — 좌측 점선 rail (item 끼리 이어져 보임) + 상태 dot + 시간 + 카드 */
.rqtl_item{
	position: relative;
	padding-left: 3.4rem;
	margin-left: 1rem;
}
.rqtl_item:before{
	content: '';
	position: absolute;
	left: 0.55rem;
	top: 0;
	bottom: 0;
	border-left: 0.1rem dashed #D7D7D7;
}
.rqtl_time{
	display: block;
	color: #999;
	font-size: 1.4rem;
	padding: 1.0rem 0 0.6rem;
	font-family: "Pretendard-Medium", sans-serif;
}
.rqtl_row{
	position: relative;
}
.rqtl_dot{
	position: absolute;
	left: -2.66rem;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 50%;
	background: #D7D7D7;
	z-index: 1;
}
.rqtl_dot.apply{ background: #5F6BF3; }
.rqtl_dot.proceeding{ background: #36CF8E; }
.rqtl_dot.complete{ background: #D7D7D7; }
.rqtl_card{
	display: flex;
	align-items: center;
	gap: 1.0rem;
	width: 100%;
	background: #F5F6FB;
	border-radius: 1.2rem;
	padding: 0.6rem 1.6rem 0.6rem 1.6rem;
	text-align: left;
	font-size: 1.6rem;
	font-family: "Pretendard-Medium", sans-serif;
	color: #111;
}
.rqtl_card .txt{
	flex: 1;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.rqtl_card .icon{
	width: 4.4rem;
	height: 4.4rem;
	border-radius: 50%;
	background: #fff;
	flex-shrink: 0;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.5rem
}
.rqtl_card .icon img{
	width: 100%
}
.rqtl_card .icon.ic_alarm_on:before{
	top: -0.1rem;
	right: -0.1rem;
}

/* ──────────────────────────────────────────────────────────────────────
   Manager 대시보드 (ManagerDashboardView — Figma)
   - 헤더: 흰 배경 + 로고(logo2) + 알림벨(ic_alarm2_off) + 햄버거(ic_burger)
   - 스탯 카드: [숫자 / ●라벨] 3분할 — 신청(연파랑)/처리중(연민트)/종료(연회색)
   - 작업 리스트: MyRequestListView 의 rq_tab + rqtl 타임라인 재사용,
     검색줄만 흰 배경용 .rq_search.plain 변형.
   ────────────────────────────────────────────────────────────────────── */
#wrap_type_a #top.mgr_top{
	background: #fff;
	padding: 1.2rem 1.6rem;
}
.mgr_alarm_btn{
	position: relative; /* .ic_alarm_on:before 빨간 점 기준 */
	width: 4.0rem;
	height: 4.0rem;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.mgr_alarm_btn img{
	width: 2.4rem;
	height: 2.4rem;
}
.mgr_alarm_btn.ic_alarm_on:before{
	top: 0.4rem;
	right: 0.6rem;
}
/* 스탯/공지 상단 패딩 래퍼 — body 는 nopadding (rq_tab full-bleed 용) */
.mgr_pd{
	padding: 1.2rem 1.6rem 0;
}
.mgr_stats{
	display: flex;
	gap: 1.2rem;
}
.mgr_stats .item{
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.6rem;
	border-radius: 2.0rem;
	padding: 2.0rem 0;
}
.mgr_stats .item strong{
	font-size: 2.4rem;
	color: #111;
	font-family: "Pretendard-Bold", sans-serif;
	font-weight: 700;
}
.mgr_stats .item .lbl{
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1.4rem;
	color: #444;
}
.mgr_stats .item .lbl .dot{
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	flex-shrink: 0;
}
.mgr_stats .item.apply{ background: #EEF1FE; }
.mgr_stats .item.apply .dot{ background: #5F6BF3; }
.mgr_stats .item.proceeding{ background: #EAF7F2; }
.mgr_stats .item.proceeding .dot{ background: #36CF8E; }
.mgr_stats .item.complete{ background: #F1F2F4; }
.mgr_stats .item.complete .dot{ background: #A6ACB9; }
/* 흰 배경 위 검색줄 변형 — rq_search(파란 배경) 의 plain 버전 */
.rq_search.plain{
	padding: 1.2rem 1.6rem;
}
.rq_search.plain .def_select,
.rq_search.plain .def_input{
	border: 0.1rem solid #D7D7D7;
	background-color: #fff;
}

/* ─────────────────────────────────────────────────────────
   담당부서 전화 시트 (ManagerListSheet — Figma 정합)
   ─────────────────────────────────────────────────────── */
/* 상단 안내 배너 — sheet_info 의 call 변형 (연파랑 배경 + 파란 전화 아이콘). */
.sheet_info.call{
	background: #F4F7FF;
	color: #111;
	white-space: pre-line;
	line-height: 1.45;
}
.sheet_info.call:before{
	width: 2.0rem;
	height: 2.0rem;
	background-image: url(/resources/images/ic_call.svg);
	background-size: 100%;
	background-color: transparent;
	border-radius: 0;
	margin-top: 0.2rem;
}
/* 담당부서 리스트 — 섹션 사이 가는 회색 디바이더, 마지막은 디바이더 없음. */
.manager_list{
	display: flex;
	flex-direction: column;
	margin-top: 0.4rem;
}
.manager_item{
	padding: 1.6rem 0;
	border-bottom: 0.1rem solid #ECECEC;
}
.manager_item:last-child{ border-bottom: 0; }
.manager_item_title{
	display: block;
	font-size: 1.6rem;
	font-weight: 700;
	color: #111;
	font-family: "Pretendard-Bold", sans-serif;
	margin-bottom: 0.6rem;
}
.manager_item_tel{
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	color: #5F6BF3;
	font-family: "Pretendard-Medium", sans-serif;
	margin-bottom: 0.8rem;
	letter-spacing: -0.02em;
}
.manager_item_desc{
	font-size: 1.4rem;
	color: #555;
	line-height: 1.5;
	white-space: pre-line;
}

/* ── 공용 이미지 lightbox (components/common/Lightbox.vue) ──
   DiningView / MyRequestDetailView 등에서 공용. 컴포넌트가 Teleport 로 body 직속에 마운트. */
.lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.92);
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	touch-action: none;
	user-select: none;
}
.lightbox-overlay img {
	max-width: 96vw;
	max-height: 96vh;
	object-fit: contain;
	display: block;
	-webkit-user-drag: none;
}
.lightbox-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	border-radius: 50%;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1;
	border: 0;
	cursor: pointer;
}

/* ── 공용 chat 입력바 (TalkView / MyRequestDetailView 등 공유) ──
   둥근 흰 박스 + 화살표 send 버튼 (legacy .ic_chat 아이콘). */
.talk_inline_bar {
	display: flex;
	align-items: center;
	background: #fff;
	border-radius: 0.8rem;
	overflow: hidden;
	width: 100%;
	padding: 0.5rem;
}
.talk_inline_bar .talk_input,
.talk_inline_bar .input_chat {
	flex: 1;
	border: 0;
	border-radius: 0;
	background: #fff;
	font-size: 2rem;
	padding: 1.2rem 1.4rem;
}
.talk_inline_bar .input_chat_send {
	flex: 0 0 7rem;
	text-indent: -100rem;
	overflow: hidden;
	border: 0;
	cursor: pointer;
}
.talk_inline_bar .input_chat_send[disabled] {
	cursor: not-allowed;
	opacity: 0.5;
}

/* service_view_reply 안의 별점(StarRating) 크기 — legacy 기본 3.6rem 을 2.6rem 으로 축소.
   MyRequestDetailView 의 채팅 리플 안에 통합된 후기용 (.eval_done_stars). */
.service_view_reply .service_view_detail_star_items{
	height: 2.0rem;
	width: calc(2.0rem * 5);
}
.service_view_reply .service_view_detail_star_items .off .item,
.service_view_reply .service_view_detail_star_items .on .item{
	width: 2.0rem;
	height: 2.0rem;
	background-size: 2.0rem;
}

/* 로그인한 사용자가 현업(P/V) 일 때 — 상대방(.other) 댓글 아이콘을 담당자 svg 로 교체. */
.service_view_reply.is_staff .service_view_reply_list li.other .ic{
	background-image: url(/resources/images/ic_user_lb_40.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
}

