.viewer-page{position:fixed !important;}
.slider_right {position: fixed;top: 52px;right: 0px;display: flex;flex-direction: column;height: 100%;background: #fff;border-left: 1px solid #ddd;width: 400px;margin-right: -400px;font-size: 14px;z-index: 100;}
.slider_header {padding: 10px 5px 10px 16px;}
.slider_content {padding: 0 16px 16px;}
.modal{z-index:101 !important;}
.modal-open {overflow: hidden;}
.modal-open .modal-background{position: fixed;top: 0;left: 0;width: 100vw;height: 100vh;background-color: rgba(0,0,0,.7);transition: opacity .15s linear;opacity: 1;z-index: 1039;}
.modal-xl {width: 100vw;}
@media (min-width:992px) {.modal-xl {max-width:800px;}}
@media (min-width:1200px) {.modal-xl {max-width:1140px;}}


/* hya 추가 */
#projectListWrap {
	display: flex;
	flex-direction: column;
	gap: 13px;
}

.project-card {
  display:flex; align-items:center; justify-content:space-between;
  padding:6.5px 18px; border:2px solid #D9D9D9; border-radius:3px;
  background:#fff; 
}

.project-card.is-highlight {
	border-color: #7710D1;
	
}

/* 비활성/종료 회색 카드 */
.project-card.is-muted{
  background:#f3f4f6; border-color:#e5e7eb;
}

/* 좌/중/우 영역 */
.project-left { width:28px; display:flex; align-items:center; justify-content:center; }
.project-center { flex:1; min-width:0;margin-left:32px; }
.project-right { width:36px; display:flex; align-items:center; justify-content:center; }
.icon-eye{ width:28px; height:28px; }
.project-info {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* 상태 뱃지(텍스트) */
.project-status-badge{
  display:inline-block; padding:2px 8px; border-radius:2px; font-size:12px; font-weight:600; color:#fff;
  margin-bottom:4px;
}

.status-active{ background:#7710D1; }    /* 진행중 */
.status-inactive{ background:#AAAAAA; }  /* 비활성화 */
.status-done{ background:#111111; }      /* 종료(검정) */

.project-status {
	font-size: 12px;
	font-weight: 600;
	padding: 3px 7px;
	border-radius: 5px;
	color: #fff;
}
/* 프로젝트 이름 */
.project-name{
  font-size:14px; font-weight:500; color:#111111; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* 우측 눈 아이콘이 비활성처럼 보이게 하고 싶다면(선택) */
.project-card.is-muted .icon-eye{ opacity:.4; }

.alarm-card {
  background:#fff; border-radius:8px; box-shadow:0 2px 6px rgba(0,0,0,.05);
  padding:12px 12px 6px; border:1px solid #e5e7eb;
}
.alarm-card-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.alarm-card-header h3 { font-size:16px; margin:0; }
.btn.btn-light { padding:6px 10px; border:1px solid #d1d5db; background:#f9fafb; border-radius:6px; cursor:pointer; }

.alarm-list {
 /*  max-height:380px; overflow:auto; background:#fafafa; border-radius:6px; padding:6px; */
  background:#fff; border-radius:8px;
}

.alarm-item {
  /* background:#fff; border:1px solid #eee; border-radius:6px; padding:10px 12px; */
      padding: 16px 20px;
  background:#fff;
}
.alarm-item + .alarm-item { 
	/* margin-top:8px; */
	border-top: 1px solid #eee;
 }        /* 아이템 간 간격 */
.alarm-top {
  display:flex; align-items:center; gap:8px;
  font-size:14px; color:#6b7280;     /* 연한 회색 */
  line-height:1.4;}
.alarm-author { font-weight:600; color:#333333; } /* 이름은 조금 진하게 */
.alarm-sep { opacity:.35; width:1.2px;height:18px; }           /* |(구분자) 연하게 */

.alarm-content {
  margin-top:10px;
  font-size:16px; color:#111111;      /* 본문은 진하게 */
  white-space:pre-wrap;font-weight:500;
}
.alarm-date { color:#777777; }


.alarm-empty { padding:16px; text-align:center; color:#9ca3af; }

.alarm-list::-webkit-scrollbar {
  width: 12px;                            /* 세로 스크롤 두께 */
  height: 6px;                           /* 가로 스크롤 두께 */
}

.alarm-list::-webkit-scrollbar-track {
  background: #f3f4f6;                   /* 트랙(바탕) */
  border-radius: 8px;
}

.alarm-list::-webkit-scrollbar-thumb {
  /* 손잡이 색상(그라데이션 가능) */
  background: #CBC8C2;
  border-radius: 8px;
  border: 2px solid #f3f4f6;             /* 트랙과 분리감 */
}

.alarm-list::-webkit-scrollbar-thumb:hover {
  filter: brightness(1.05);
}

/* ↑↓ 화살표 버튼 숨기기 */
.alarm-list::-webkit-scrollbar-button {
  width: 0;
  height: 0;
  display: none;
}


/* 바깥 컨테이너 */
.summary-panel { padding: 0; overflow: hidden; }

/* 헤더 바 */
.bg-lilac { background:#e9d5ff; } /* 보라 파스텔 */
.summary-header {
  display:flex; justify-content:space-between; align-items:center;
  padding:14px 16px; border-bottom:1px solid #e5e7eb;
}
.summary-header .left { display:flex; align-items:center; gap:10px; }
.summary-title { margin:0; }
.tag-inverse { background:#5b21b6; color:#fff; }

/* 그리드 */
.summary-grid { padding:14px; }

/* 카드(각 칸) */
.info-card {
  background:#fff; border:1px solid #D9D9D9; border-radius:6px;
  height:100%; display:flex; flex-direction:column; box-shadow: 0px 1px 12px 0px rgba(0, 0, 0, 0.07);
}
.info-head {
  padding:15px 24px; font-weight:700; border-bottom:1px solid #D9D9D9;font-size:18px; 
}
.info-body {
  padding:26px 24px; display:flex; align-items:center; gap:10px; flex-wrap:wrap;color:rgba(51, 51, 51, 1);font-size:16px;font-weight:500;
}
.subtag {
  background:rgba(221, 221, 221, 0.3); color:#777777; border:1px solid #DDDDDD;
  border-radius:9999px; padding:5.5px 16px; font-size:14px;font-weight:700;
}
.info-text { font-size:14px; font-weight:600; color:#333333; }
.no-pointer { pointer-events:none; }

/* 반응형 미세조정 */
@media (max-width: 768px) {
  .summary-header { padding:12px; }
  .summary-grid { padding:12px; }
}

/* 공통 카드 래퍼 */
.card-block{
  background:#fff; border:1px solid #D9D9D9; border-radius:6px;
  padding:14px; margin-bottom:16px; box-shadow: 0 .5em 1em -.125em rgba(10, 10, 10, .1), 0 0 0 1px rgba(10, 10, 10, .02);
} 

.card-body .info-text {
	margin-left: 10px;
	font-size:18px;
	font-weight:500;
}

/* 블록 헤더 */
.block-title{
  display:flex; justify-content:space-between; align-items:center;
  margin-bottom:10px;
}
.block-title h2{ font-weight:700; font-size:16px; margin:0; }
.block-actions{ display:flex; gap:6px; }

/* 구성원 미니 카드 */
.mini-info{ background:#fff; border:1px solid #eef0f4; border-radius:10px; padding:12px; }
.mini-head{ font-weight:700; margin-bottom:6px; }
.mini-body{ color:#111827; }

/* 사이드 고정(선택) */
@media (min-width: 1024px){
  .sticky-on-desktop{ position: sticky; top: 12px; }
}



/* 접근성용 숨김 텍스트 */
.sr-only{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
 
/* 메뉴 래퍼 */
.icon-menu{
  list-style:none;margin:0;padding:0;display:flex;flex-direction:column;
}

/* 공통 버튼(이미지 크기 여기서 통일) */
.icon-btn{
  display:block;width:177px;height:106px; /* 필요 시 조정 */
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  transition:filter .15s ease;
}
.icon-btn:hover{ filter:brightness(1.03); }

/* 항목별 기본/활성 이미지 설정 – 경로만 바꿔주세요 */
.btn-dashboard{ 
  background-image:url("../design/images/dashboard.png");   
}
.btn-dashboard:hover,
.btn-dashboard.is-active{
  background-image:url("../design/images/dashboard_on.png");
}

.btn-cde{
  background-image:url("../design/images/data.png");
}
.btn-cde:hover,
.btn-cde.is-active{
  background-image:url("../design/images/data_on.png");
}

.btn-member{
  background-image:url("../design/images/user.png");
}
.btn-member:hover,
.btn-member.is-active{
  background-image:url("../design/images/user_on.png");
}

/* 설계협업 */
.icon-btn.btn-design-cooperation{
    background-image: url("../design/images/design_cooperation.png");
}

.icon-btn.btn-design-cooperation:hover,
.icon-btn.btn-design-cooperation.is-active{
    background-image: url("../design/images/design_cooperation_on.png");
}
.is-nexura {
	background-color: #7710D1;
	color: #ffffff;
}

.steps-segment:after {
    background-color: #7710D1;
}

.steps:not(.is-hollow) .steps-marker:not(.is-hollow) {
    background-color: #7710D1;
    color: #fff;
}
.my-step-style.steps .steps-segment.is-active .steps-content {
	font-weight: 500;
    color: #111111;
}

.steps:not(.is-hollow) .steps-segment.is-active .steps-marker:not(.is-hollow) {
    background-color: #7710D1;
    color: #fff;
}

.steps:not(.is-hollow) .steps-segment.is-active ~ .steps-segment .steps-marker:not(.is-hollow) {
    background-color: #EBD8FB;
    color: rgba(0, 0, 0, 0.7);
}

.steps-segment.is-active:after {
    background-color: #EBD8FB;
}

.steps.is-thin .steps-marker {
    width: 22px;
    height: 22px;
}

.steps.is-thin:not(.is-vertical) .steps-segment:not(:last-child):after {
    left: .8em;
    right: 0;
    top: calc(.4em - -3.5px);
    height: 3px;
}
 
 .steps:not(.is-vertical).has-content-centered .steps-content {
    margin-top: 2rem;
    margin-left: 1.5em;
    margin-right: 0.5em;
}

.steps {
    font-size: 16px;
    font-weight: 500;
}

.my-step-style.steps .steps-segment.is-active ~ .steps-segment .steps-content {
    color: #333333;
}

/* 리스트 래퍼 */
.recent-file-list { display:flex; flex-direction:column; gap:12px; padding:20px 24px;}
.rf-empty { padding:16px; color:#9ca3af; text-align:center; }

/* 아이템 카드 */
.rf-item{
  display:flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #eaeaea; border-radius:3px;
  padding:11px 18px;
  /* box-shadow:0 1px 12px rgba(0,0,0,.07); */
}
/* .rf-item:hover{ box-shadow:0 2px 14px rgba(0,0,0,.10); }
 */
/* 왼쪽 아이콘 */
.rf-left{ width:28px; display:flex; justify-content:center; }
.rf-left i{ font-size:20px; color:#6b7280; } /* 폴더/파일 아이콘 */

/* 가운데 제목/메타 */
.rf-center{ flex:1; min-width:0; }
.rf-title{
  display:block; font-weight:500; color:#111111; text-decoration:none;font-size:14px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.rf-title:hover{ text-decoration:underline; }
.rf-meta{
  margin-top:6px; font-size:12px; font-weight:400; color:#333333;line-height:150%;
}

/* 오른쪽 화살표 버튼 */
.rf-right{ width:44px; display:flex; justify-content:flex-end; }
.rf-open-btn{
  width:36px; height:36px; border-radius:8px; border:1px solid #e5e7eb;
  background:#fff; display:flex; align-items:center; justify-content:center;
  box-shadow:0 1px 3px rgba(0,0,0,.05); cursor:pointer;
}
.rf-open-btn i{ font-size:16px; color:#374151; }
.rf-open-btn:hover{
  border-color:#d1d5db; box-shadow:0 2px 6px rgba(0,0,0,.08);
}


/* 입력창 spacing */
#projectTypeCustomWrap .help{ color:#9CA3AF; }



/* 래퍼 */
.select.select-custom{
  position:relative; display:inline-block; width:100%;
}
.select:not(.is-multiple):not(.is-loading)::after { content:none !important; }

/* 네이티브 화살표 제거 + 우측 여백 */
.select.select-custom select{
  -webkit-appearance:none; -moz-appearance:none; appearance:none;
  width:100%;
  height:38px;
  border:1px solid #E5E7EB; border-radius:3px;
  padding-right:48px;               /* 화살표 영역만큼 여백 */

	/* 1) 아이콘, 2) 회색 박스, 3) 바탕색 */
	  background-image:
	    url("../design/images/btn_expand.png"),
	    linear-gradient(#F3F4F6, #F3F4F6),
	    linear-gradient(#fff, #fff);
	
	  /* 위치: 아이콘은 오른쪽 12px, 박스는 오른쪽 끝 붙이기 */
	  background-position:
	    right 0px center,
	    right center,
	    left top;
	
	  /* 크기: 아이콘 14x14, 회색 박스 38px 너비/100% 높이, 바탕은 자동 */
	  background-size:
	    42px 42px,
	    42px 100%,
	    auto;
	
	  background-repeat: no-repeat, no-repeat, no-repeat;
} 

.select.select-custom select:focus,
.select.select-custom.is-open select { /* JS로 class 토글해도 됨 */
  border-color:#F4F4F4; box-shadow:none;
  background-image:
	    url("../design/images/btn_collapse.png"),
	    linear-gradient(#F3F4F6, #F3F4F6),
	    linear-gradient(#fff, #fff);
	
	  /* 위치: 아이콘은 오른쪽 12px, 박스는 오른쪽 끝 붙이기 */
	  background-position:
	    right 0px center,
	    right center,
	    left top;
	 
	  /* 크기: 아이콘 14x14, 회색 박스 38px 너비/100% 높이, 바탕은 자동 */
	  background-size:
	    42px 42px,
	    42px 100%,
	    auto;
	
	  background-repeat: no-repeat, no-repeat, no-repeat;
}

/* 포커스 */
/* .select.select-custom select:focus{
  border-color:#7C3AED; box-shadow:0 0 0 3px rgba(124,58,237,.15);
  outline:none;
} */
  
/* 비활성 */
.select.select-custom select:disabled{
  background-color:#F9FAFB; color:#9CA3AF; cursor:not-allowed;
}

.field-inline{
  display:flex; align-items:center; gap:12px; 
}
/* 레이블 폭 고정 + 아래 마진 제거 */
.field-inline > .label{ min-width:110px; margin-bottom:0; }
/* 셀렉트가 나머지 공간 차지 */
.field-inline .control.is-expanded{ flex:1; }

.table-actions{
  display:flex;
  justify-content: center;
  align-items:center;
  padding: 8px 0 4px;
  border: 1px solid #111111;
  margin: 0 auto;
  width:320px;
  font-size:14px;
  font-weight:700;
  border-radius: 3px;
}

/* 추진 현황명 인풋: 왼쪽 아이콘 + 여백 */
/* .table .input.propulsion-input{
  background: #fff url("../design/images/pen.png") no-repeat 12px center;
  background-size: 24px 24px;  
  padding-left: 44px;          
} */

/* 새로 추가된 추진현황 인풋에만 아이콘 */
.input.propulsion-input--new{
  background: #fff url("../design/images/pen.png") no-repeat 12px center;
  background-size: 18px 18px;
  padding-left: 44px;
}

#add-propulsion-button:hover { background: #fff}

#add-project-list-button:hover { background: #fff}

#add-alarm-button:hover { background: #fff}

/* 날짜 입력 앞 아이콘 */
.alarm-date-wrap{
  position:relative;display: flex;
}
.alarm-date-wrap .cal-ico{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:16px; height:16px;
  background: url("../design/images/calendar.png") no-repeat center/contain;
  opacity:.7;
  pointer-events: none;   /* 클릭은 인풋으로 통과 */
  z-index: 1;             /* 혹시 모를 레이어 이슈 예방 */
}
.alarm-date-wrap input[type="date"]{
  padding-left:42px;       /* 아이콘 공간 */
}

/* 오른쪽 기본 달력 아이콘(크롬/엣지) 숨기기 */
.alarm-date-wrap input[type="date"].no-native::-webkit-calendar-picker-indicator{
  opacity:0;           /* 아이콘 보이지 않게 */
  pointer-events:none; /* 클릭도 막기 */
}

/* 필요시 파이어폭스 계열 */
.alarm-date-wrap input[type="date"].no-native{
  background-image:none;
}

/* 읽기전용 모드 표시용(연하게) */
.input.is-readonly{
  background:#f6f7f9;
  color:#666;
  pointer-events:none;     /* 포커스/캘린더 열림 방지 */
}
.btn-del-alarm.is-disabled {
  opacity: .5;
  cursor: not-allowed;
   pointer-events: none; 
     user-select: none;      
}
.button.is-light[disabled] {
    background-color: #AAAAAA;
    border-color: #AAAAAA;
    color: #fff;
    box-shadow: none;
}

/*
.datetimepicker-dummy .datetimepicker-clear-button{
  display: none !important;
}
*/


.input[readonly], .textarea[readonly] { 
    box-shadow: none;
    background: #EEEEEE;
    color: #AAAAAA;
}

.button.btn-del-alarm:disabled {
  color: #fff ;
  background-color:#AAAAAA ;
}

.button.btn-del-alarm {
	border-color: #111111;
	color: #111111;
}

.cdeButton {
	border-radius: 3px;
	border: 1px solid #DDDDDD;
	font-size: 12px;
	font-weight: 600;
	color: #111111;
}

/* 버튼 기본 패딩/배경 제거해서 이미지만 보이게 */
.btn-fileupload {
  padding: 0;
  background: transparent;
  border: none;
}

.btn-fileupload img {
  display: block;
  width: 125px;   /* 필요시 조정 */
  height: auto;
}

.jstree-default .jstree-wholerow-clicked {
    background: #EBD8FB;
    border: 1px solid #7710D1;
    border-radius: 2px;
}

.jstree-default .jstree-wholerow-hovered {
  background: #EBD8FB;
}

/* .b-checkbox.checkbox input[type=checkbox]:checked+.check.is-info {
    background: #7710D1;
    color: #fff;
    border-color: #7710D1;
} */

.b-checkbox.checkbox input[type=checkbox]:checked+.check.is-info {
    background: #7710D1 url("../design/images/check.png");
    border-color: #7710D1;
    background-repeat: no-repeat;
  	background-position: center;       /* 중앙 정렬 */
  	background-size: 20px 20px;        /* 아이콘 표시 크기(원본과 맞추세요) */
  /* 필요 시: background-clip: padding-box; */
}
.button.is-small.btn-del {  background: transparent; border: none; }
.btn-del__img { display: block; width: 20px; height: 20px; padding: 0 } /* 크기 원하는대로 */

.steps-segment.is-active ~ .steps-segment:after {
    background-color: #EBD8FB;
}

.b-checkbox.checkbox:hover input[type=checkbox]:not(:disabled)+.check.is-info {
    border-color: #7710D1;
}

#delete-project-button:hover {
	color: #ffffff !important;
}

.breadcrumb a:hover {
    color: #7710D1;
}

.participant-tag{
  display:inline-flex;
  align-items:center;
  padding:4px 10px;
  border:1px solid #dcdcdc;
  border-radius:6px;
  background:#fff;
  font-size:12px;
  font-weight:600;
}

.participant-more{
  font-size:12px;
  color:#111;
  font-weight:700;
  margin-left:2px;
}

.participant-add-btn{
  border:0;
  background:transparent;
  padding:0;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  margin-left: 8px;
}

.participant-add-btn img{
  width:20px;
  height:20px;
  display:block;
}