.modal_v2_body {
  font-family: 'Min Sans', sans-serif;
}

/*모달 사이즈*/
.modal_v2_body .modal_v2 {
  width: 100%;
  overflow-y: auto;
  /* padding-right 은 다이얼로그 컨테이너(.modal_v2_dialog .ui-dialog-content) 의
     padding 으로 좌우 대칭 처리. 본 내부 박스에는 별도 padding-right 두지 않음. */
  max-height: 72vh;
}

/*모달 타이틀*/
.modal_v2_body .modal_v2 .modal_v2_title {
  margin-bottom: 2.2rem;
  border-bottom: 1px solid #d9d9d9;
}

.modal_v2_body .modal_v2 .modal_v2_title h1 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #333D4B;
  padding-bottom: 1.2rem;
  line-height: 140%;
}

/* focus */
.modal_v2_body .modal_v2 input:not(:disabled):not([readonly]):focus,
.modal_v2_body .modal_v2 textarea:not(:disabled):not([readonly]):focus,
.modal_v2_body .modal_v2 select:not(:disabled):not([readonly]):focus {
  border: 1px solid #9a9a9a;
  background: var(--gray-gray-0, #FFF);
  border-radius: 8px !important;
}

.modal_v2_body .modal_v2 .modal_v2_form input:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form input[readonly]:focus,
.modal_v2_body .modal_v2 .modal_v2_form textarea:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form textarea[readonly]:focus,
.modal_v2_body .modal_v2 .modal_v2_form select:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form select[readonly]:focus {
  background-color: #F2F4F6 !important;
  border-radius: 8px !important;
  border: 1px solid #E1E6EF !important;
}

/* 회흰회흰 - focus 해도 회색으로 안바뀌게(회색이 겹쳐서 이상함) */
.modal_v2_body .modal_v2 .modal_v2_form_table input:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form_table input[readonly]:focus,
.modal_v2_body .modal_v2 .modal_v2_form_table textarea:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form_table textarea[readonly]:focus,
.modal_v2_body .modal_v2 .modal_v2_form_table select:disabled:focus,
.modal_v2_body .modal_v2 .modal_v2_form_table select[readonly]:focus {
  background-color: var(--gray-gray-0, #FFF) !important;
  border-radius: 8px !important;
  border: 1px solid #E1E6EF !important;
}

/*form*/
.modal_v2_form {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding-left: 1px;
}

.modal_v2_form li,
.modal_v2_form li form,
.modal_v2_form .field {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  position: relative;
  justify-content: center;
}

.modal_v2_form li label {
  color: #353D4A;
  font-size: 1.5rem;
  font-style: normal;
  font-weight: 500;
  line-height: 24px;
  letter-spacing: -0.45px;
}

.modal_v2_form li select,
.modal_v2_form li input::placeholder {
  color: #747B86;
}

.modal_v2_form li input,
.modal_v2_form li textarea {
  color: #242424;
}

.modal_v2_form li select,
.modal_v2_form li input,
.modal_v2_form li textarea {
  width: 100%;
  height: 5rem;
  flex-shrink: 0;
  border-radius: 8px !important;
  /* prgpymnt_common이랑 충돌돼서 important 해놓음 */
  background: var(--gray-gray-0, #FFF);
  border: 1px solid #E1E6EF;
  padding: 0 1.6rem;
  font-size: 1.5rem !important;
  font-weight: 500;
  min-width: 0;
  /* 모바일에서 줄바꿈 방지 */
}

.modal_v2_form li textarea {
  height: 7rem;
  resize: none;
}

.modal_v2_form li input[readonly],
.modal_v2_form li input:read-only,
.modal_v2_form li input[disabled],
.modal_v2_form li input:disabled,
.modal_v2_form li textarea[readonly],
.modal_v2_form li textarea:read-only,
.modal_v2_form li textarea[disabled],
.modal_v2_form li textarea:disabled,
.modal_v2_form li select:disabled,
.modal_v2_form li select[disabled] {
  background-color: #F2F4F6 !important;
  border-radius: 8px !important;
}

.input-wrap {
  position: relative;
  display: flex;
  align-items: center;
}



/* 우측 버튼 */
.inline-btn {
  flex: 0 0 auto;
  margin-left: 8px;
  padding: 6px 12px;
  font-size: 13px !important;
  font-weight: 600;
  color: #334155;
  background: #f1f5f9;
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color .15s, transform .02s;
  position: absolute;
  right: 12px;
}

.inline-btn:hover {
  background: #e8eef7;
}

.inline-btn:active {
  transform: translateY(1px);
}

.inline-btn.primary {
  color: #2563eb;
  background: #fff;
  border-color: #e2e8f0;
}

#help.sr-only {
  position: unset;
  width: 100%;
  height: unset;
  padding: 0;
  margin: 2px 0;
  overflow: unset;
  clip: unset;
  white-space: nowrap;
  border: 0;
  font-size: 1.4rem;
  color: #666;
  font-weight: 400;
  padding-left: 4px;
}



/*업로드*/
.modal_v2_body .upload-box {
  border: 2px dashed #cbd5e1;
  border-radius: 16px;
  background-color: #f8fafc;
  width: 100%;
  max-width: 1000px;
  height: 260px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  transition: all 0.3s ease;
}

.modal_v2_body .upload-box.dragover {
  border-color: #3b82f6;
  background-color: #eff6ff;
}

.modal_v2_body .upload-box svg {
  width: 48px;
  height: 48px;
  stroke: #3b82f6;
  margin-bottom: 16px;
}

.modal_v2_body .upload-box p {
  margin: 6px 0 20px;
  color: #969696;
  font-size: 1.4rem;
  font-weight: 300;
  line-height: normal;
  letter-spacing: -0.24px;
}

.modal_v2_body .upload-btn {
  color: #2563eb;
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  border: none;
  background: transparent;
  font-size: 1.6rem;
  margin: 0;
  padding: 0;
}

.modal_v2_body .upload-btn:hover {
  color: #1d4ed8;
}

.modal_v2_body input[type="file"] {
  display: none;
}

.modal_v2_body .upload-box h2 {
  font-size: 1.8rem;
  color: #666;
  font-weight: 600;
}



/*하단 버튼*/
.modal_bottom_btn {
  margin: 2.4rem auto 0;
  text-align: center;
  width: 100%;
}

.modal_bottom_btn ul.btn_list {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.modal_bottom_btn ul.btn_list li button {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: -0.4px;
  height: 4.2rem;
  border-radius: 6px;
  padding: 0px 2rem;
  cursor: pointer;
}

.modal_bottom_btn ul.btn_list li.cancel_btn button {
  background: transparent;
  background: #F4F5F6;
  color: #3D4859;
  border: 0;
}

.modal_bottom_btn ul.btn_list li.save_btn button {
  background: #4780EE;
  color: #fff;
  border: none;
}



/*설계변경 모달*/
.modal_v2_body .modal_v2 .modal_v2_title.no_under_line_title {
  border-bottom: 0;
}

.modal_V2_box_table {
  padding: 24px 36px;
  background: #FCFCFC;
  border-radius: 16px;
  border: 1px solid rgba(60, 63, 79, 0.10);
  margin-bottom: 20px;
}

.modal_V2_box_table .chc {
  display: flex;
  justify-content: space-between;
  width: 100%;
  border-bottom: 1px solid #D9D9D9;
  padding-bottom: 8px;
  margin-bottom: 14px;
}

.modal_V2_box_table .chc p {
  color: #353D4A;
  font-size: 14px;
  font-weight: 600;
}

.modal_V2_box_table .chc .count span {
  color: #F24452;
  font-weight: 700;
}

.modal_V2_box_table .chcAmt {
  display: flex;
  justify-content: space-between;
  width: 100%;
  padding-bottom: 8px;
  margin-bottom: 14px;
}

.modal_V2_box_table .chcAmt p {
  color: #353D4A;
  font-size: 14px;
  font-weight: 600;
}

.modal_V2_box_table .chcAmt .count span {
  font-weight: 700;
}

.modal_V2_box_table .chcAmt .count span.neg {
  color:#F24452;
}

.modal_V2_box_table .chcAmt .count span.pos {
  color:#3b82f6;
}

.modal_v2 .modal-nav ul {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
}

.modal_v2 .modal-nav ul li {
  font-size: 14px;
  font-weight: 500;
}

.modal_v2 .modal-nav ul li:first-child {
  color: #76808D;
}

.modal_v2 .modal-nav ul li:not(:first-child) {
  color: #434F5F;
}

.modal_v2 .modal-nav ul li strong {
  color: #4780EE;
}

/*테이블 셀 속 정렬 */
.t_center {
  text-align: center;
}

.t_left {
  text-align: left;
}

.t_right {
  text-align: right;
}

/* table type 01 */
.modal_V2_box_table_section {
  transition: max-height 0.3s ease-in-out;
  overflow: hidden;
}

.modal_V2_box_table_section .t_head,
.modal_V2_box_table_section .t_body {
  display: grid;
  align-items: center;
}

.modal_V2_box_table_section .t_head {
  background: #E8F3FF;
  font-size: 14px;
  font-weight: 600;
  height: 40px;
  color: #4780EE;
}

.modal_V2_box_table_section li:not(:last-child) {
  border-bottom: 1px solid #dcdce2;
}

.modal_V2_box_table_section li.t_body {
    height: 44px;
    line-height: 44px;
    font-size: 13.5px;
    overflow: hidden;
    color: #525D6B;
    background: #fff;
    text-overflow: ellipsis;
    white-space: nowrap;
    letter-spacing: -0.6px;
}

/* table type -2 */
.modal_v2_form_table_list {
  border-top: 1px solid;
  border-bottom: 1px solid;
  border-color: #B7BDC2;
}

.modal_v2_form_table li {
  display: grid;
  gap: 4px;
  padding: 20px 16px;
}

.modal_v2_form_table li input {
  display: grid;
  border-radius: 8px !important; /* 충돌 */
  background: var(--gray-gray-0, #FFF);
  border: 1px solid #E1E6EF;
  padding: 0 1.6rem;
  font-size: 14px !important;
  /* bb_common.css랑 충돌돼서 important */
  font-weight: 400;
  height: 4.4rem;
  flex-shrink: 0;
  letter-spacing: -0.6px;
}
.modal_v2_form_table li input::placeholder {
  font-weight: 400;
}

.modal_v2_form_table li input:not(:last-child) {
  margin-bottom: 4px;
}

.modal_v2_form_table li textarea {
  display: grid;
  border-radius: 8px !important; /* 충돌 */
  background: var(--gray-gray-0, #FFF);
  border: 1px solid #E1E6EF;
  padding: 1rem 1.6rem;
  font-size: 15px !important;
  /* bb_common.css랑 충돌돼서 important */
  font-weight: 500;
  height: 4.4rem;
  flex-shrink: 0;
  line-height: 1.5;
  resize: none;
  overflow: hidden;
}

.modal_v2_form_table li select[disabled],
.modal_v2_form_table li select:disabled,
.modal_v2_form_table li select[readonly]{
  border-radius: 8px !important;
  border: 1px solid #E1E6EF !important;
  color: #747B86 !important;
}

.modal_v2_form_table li label {
  font-size: 1.4rem;
  font-weight: 600;
}

.modal_v2_form_table_list .modal_v2_form_table li:nth-child(odd) {
  background: #F2F4F6;
}

.modal_v2_form_table_list .modal_v2_form_table li:not(:last-child) {
  border-bottom: 1px solid #D1D6DA;
}

.modal_v2 .table_btn {
  background: #4780EE;
  border: 0;
  color: #fff;
  border-radius: 8px;
  height: auto;
  font-size: 15px;
  font-weight: 600;
}

/* readonly / disabled 값 텍스트 색상 고정 */
input[readonly],
input:read-only,
input[disabled],
input:disabled,
textarea[readonly],
textarea:read-only,
textarea[disabled],
textarea:disabled,
select[disabled],
select:disabled {
  color: #747B86;
  -webkit-text-fill-color: #747B86;
  /* Safari/Chrome */
  opacity: 1;
  /* disabled 기본 흐림 제거 */
}

/* (선택) placeholder도 동일 색으로 */
input[readonly]::placeholder,
input:read-only::placeholder,
input[disabled]::placeholder,
input:disabled::placeholder,
textarea[readonly]::placeholder,
textarea:read-only::placeholder,
textarea[disabled]::placeholder,
textarea:disabled::placeholder,
select[readonly]::placeholder,
select[disabled]::placeholder,
select:disabled::placeholder {
  color: #747B86;
  opacity: 1;
}

.modal_v2_form_table form {
  display: grid;
}

.modal_V2_box_table .modal_V2_box_table_section ul li select,
.modal_v2_form_table_list .modal_v2_form_table form select {
  height: auto;
  flex-shrink: 0;
  border-radius: 8px;
  background: var(--gray-gray-0, #FFF);
  border: 1px solid #E1E6EF;
  font-size: 14px !important;
  font-weight: 500;
  color: #747B86;
  min-width: 0;
  padding: 0 1.6rem;
  letter-spacing: -0.6px;
}

button.trash_btn {
  border: 0;
  border-radius: 10px;
  height: 100%;
  border-radius: 8px;
  background: rgb(242 242 242);
  cursor: pointer;
}

.modal_v2_form_table li button.plus_btn {
  background: #DEEEFF;
  cursor: pointer;
  border: 0;
  border-radius: 10px;
  height: 100%;
  border-radius: 8px;
}

button.trash_btn:hover,
.plus_btn:hover {
  filter: brightness(0.9);
}

.modal_v2 .table_btn:hover {
  filter: brightness(0.9);
}

.modal_V2_box_table .modal_V2_box_table_section ul li {
  padding: 0;
}

.modal_V2_box_table1-2 {
  grid-template-columns: 2fr 4.4rem;
  display: grid;
  gap: 16px;
}

.modal_V2_box_table_section1-2 {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.modal_v2_form li.modal_v2_form_input_section_2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  border: none;
}

.modal_v2_form li.modal_v2_form_input_section_2 > div {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}

.modal_v2_form li.modal_v2_form_input_section_2 input{
  width: 100% !important;
}


/*alert*/

.alert_v2 {
  border-radius: 12px;
  background: #FFF;
  box-shadow: 0 4px 24px 0 rgba(255, 255, 255, 0.45);
  display: inline-flex;
  padding: 32px;
  align-items: flex-start;
  flex-direction: column;
      min-width: 420px;

}

.alert_v2 h1 {
    color: #333D4B;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    letter-spacing: -0.6px;
    word-break: keep-all;
}

.alert_v2 p {
  margin-top: 8px;
  color: #747B86;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  /* 22.4px */
  letter-spacing: -0.56px;
  word-break: keep-all;
}

/*얼럿 버튼*/
.alert_v2 .alert_btn_box {
  width: 100%;
  text-align: right;
  margin-top: 24px;
}

.alert_v2 .alert_btn_box .alert_btn_n1 {
    float: right;
    background: transparent;
    border: 0;
    height: 38px;
    font-size: 13px !important;
    color: #4780EE;
    font-weight: 500;
}

.alert_v2 .g_b,
.b_b,
.s_b {
    border-radius: 6px;
    padding: 0px 1.8rem;
    font-size: 13px !important;
    font-weight: 500;
    letter-spacing: -0.4px;
    height: 38px;
    border: 0;
}

.alert_v2 .g_b {
  background: #F4F5F6;
  color: rgb(61, 72, 89);
}

.alert_v2 .b_b {
  background: #4780EE;
  color: #fff;
}

.alert_v2 .s_b {
  background: #E8F3FF;
  color: #4780EE;
}

.alert_btn_box2 {
  display: flex;
  gap: 4px;
  justify-content: flex-end;
  width: 100%;
  margin-top: 24px;
}

.alert_btn_box3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  gap: 4px;
  margin-top: 24px;
  width: 100%;
}

/* 모달 v2 다이얼로그 스타일 */
.modal_v2_dialog.ui-dialog {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: visible !important;
  /* 내부 컨텐츠가 넘칠 때를 대비 */
}

.modal_v2_dialog .ui-dialog-titlebar {
  display: none !important;
}

.modal_v2_dialog .ui-dialog-content {
  /*
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  overflow: visible !important;
  */

  /* 스크롤 바로잡기 */
  min-width: 320px;
  max-width: 1000px;
  width: 100% !important;
  height: fit-content !important;
  padding: 24px !important;
  border-radius: 1.6rem !important;
  position: absolute !important;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
  background: #FFF !important;
  box-shadow: 0 4px 34px 0 rgba(0, 0, 0, 0.08);
}

.uu-apply .ui-dialog.modal_v2_dialog .ui-dialog-content:not(.unset_bs) {
  overflow: hidden !important;
}

.hide {
  display: none !important;
}

/* alert_v2 전용 스타일 - ui-dialog-content 스타일 제거 */
.modal_v2_dialog.alert_v2_dialog .ui-dialog-content {
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  min-width: auto !important;
  max-width: none !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* 데이터 없는애 */
.modal_v2_body .modal_v2 .modal_v2_form_table_list .no_data {
  display: flex;
  height: 8rem;
  background-color: #F2F4F6;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 1.6rem;
}

.modal_v2_body .modal_v2 .plus {
    color: rgb(71, 128, 238);
    margin-right: 5px;
}

/* == 모달 디자인 테스트 == */
/* .ui-dialog {
  background: #fff;
} */
/* .bb_dialog .ui-dialog-titlebar { */
  /* display: none !important; */
/* } */

/* .ui-dialog .ui-dialog-title {
  width: 100% !important;
  color: #333D4B;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 140%;
  letter-spacing: -0.45px;
}

.uu-box-dialog-alert {
  margin-top: 8px;
  color: #747B86;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 140%;
  letter-spacing: -0.4px;
}

.ui-dialog-titlebar-close {
  display: none !important;
}

.ui-dialog-content {
  background: #fff;
}

.ui-dialog-buttonset {
  background: #fff;
} */

/* ===============================================================
공유
=============================================================== */

.share {
      max-width: 540px;
}

.share .share_email,
.share .Recently_user {
    background: #FFF;
    padding: 24px 24px 32px 24px;
    border-radius: 16px;
}

.share .share_email_title {
    color: #353D4A;
    font-size: 14.5px;
    font-weight: 700;
}

.share .send_email_form {
      background: #FAFAFA;
    border: 1px solid #D8D9DC;
    border-radius: 8px;
    max-height: 40px;
    height: 100%;
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
}

.share .send_email_form input {
  background: transparent;
    border: 0;
    height: 40px;
    padding: 0 12px;
    width: calc(100% - 70px - 12px);
    outline: 0;
    font-size: 12.6px !important;
    font-family: inherit !important;
}

.share .send_email_form input:not(:disabled):not([readonly]):focus,
.share .send_email_form select:not(:disabled):not([readonly]):focus,
.user_list select:not(:disabled):not([readonly]):focus {
  outline: 0;
  border: 0 !important;
  background: transparent;
}

.share .send_email_form select {
    border: 0;
    background: transparent;
    height: 40px;
    margin-right: 12px;
    width: 58px;
    font-size: 12px;
    color: #545454;
    font-weight: 600;
}

.share .Recently_user{
  margin-top: 8px;
}

.share .user_info {
      display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.share .user_info li {
    font-size: 13px;
    color: #454545;
    font-weight: 350;
    letter-spacing: -0.6px;
}

.share .user_info .profile_box  {
    width: 20px;
    height: 20px;
    border-radius: 300px;
    overflow: hidden;
    
}

.share .user_info .profile_box img {
      width: 100%;
    height: 100%;
    text-align: center;
    vertical-align: sub;
}

.share  .user_name{
min-width: 150px;
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 180px;
} 


.share .user_email {
  min-width: calc((100% - 20px - 70px - 12px) / 2);
  display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #666 !important;
}

.share .user_info .profile_box span {
  background: #14AE5C;
  width: 100%;
  height: 100%;
  display: block;
  vertical-align: middle;
  text-align: center;
  color: #fff;
  font-size: 14px;
}

.user_list select {
      border: 0;
    background-color: transparent !important;
    height: 40px;
    margin-right: 12px;
    width: 70px;
    font-size: 13px;
}

.Recently_user .share_email_title {
      border-bottom: 1px solid #EBEBEB;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.share .g_b {
    background: #F4F5F6;
    color: rgb(61, 72, 89);
}

.share .b_b {
    background: #4780EE;
    color: #fff;
}


.share .g_b, .b_b, .s_b {
    border-radius: 6px;
    padding: 0px 1.8rem;
    font-size: 13px !important;
    font-weight: 500;
    letter-spacing: -0.4px;
    height: 38px;
    border:0
}

.share .user_list>li {
  cursor: pointer;
  font-size: 12.6px;
  color: #666;
}

.share .user_list>li.choice {
  background: #F6FCFF;
}


.share .user_list>li select {
  cursor: pointer;
}

.modal_v2_dialog .ui-dialog-content:has(.share) {
    padding: 0 !important;
}

.modal_v2_body .modal_v2:has(.share) {
    padding-right: 0 !important;
}

.modal_v2_dialog .ui-dialog-content:has(.share) {
    box-shadow: none !important;
    background: transparent !important;
}

.unset_bs {
    overflow: unset !important;
}