/* custom-works-search.css 맨 위에 추가 */
@import url('https://fonts.googleapis.com/css2?family=Google+Sans:wght@400;500;700&family=Google+Sans+Text:wght@400;500;700&display=swap');


html, body {
  font-size: 1rem;
    font-family: 'Google Sans Text', 'Google Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif;
}

/* body {
  height: 100vh;
} */

.custom-container {
  display: flex;
  width: 80%;
  margin: 0.625rem auto;
  margin-bottom: 5rem;
}

.left-container {
  display: flex;
}

.left-panel-dept1,
.left-panel-dept3 {
  width: 10rem;
}

.right-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  /* border: 1px solid #ccc; */
  /* padding: 0.625rem; */
}

.panel {
  border: 1px solid #ccc;
  height: 50%;
  overflow-y: auto;
}

.left-panel-toggle {
  min-width: 1.5625rem;
  text-align: center;
  cursor: pointer;
}

.tree-group, .tree-item, .mission-title {
  display: flex;
  padding: 6px 10px;
  cursor: pointer;
  border-bottom: 1px dashed #ccc;
}

.tree-group, .mission-title {
  font-weight: bold;
}

.tree-group p {
  margin: 0;
  padding-right: 10px;
}

.tree-item {
  font-size: 13px;
  color: black;
  justify-content: flex-end;
}

.tree-group.active, .tree-item.active, .mission-item.active {
  background-color: #fce4d6;
  font-weight: bold;
}

#calendar-options,
#list-options {
  display: flex;
  flex: 1;
  justify-content: flex-end;
  gap: 0.625rem;
}

table {
  margin-bottom: 0;
}

/* 공통 form 스타일 */
.form-horizontal {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  width: 100%;
}

.form-group,
.form-group-half,
.form-group-three,
.form-group-search {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex-wrap: nowrap;
}

.form-group {
  width: 100%;
}

.form-group-half {
  width: 50%;
  min-height: 2.5rem;
  font-weight: bold;
}

.form-label,
.form-label-sub {
  font-weight: bold;
}

.form-label {
  min-width: 8.125rem;
}

.form-label-sub {
  max-width: max-content;
}

.form-input-number {
  width: 6.25rem !important;
  padding: 0.375rem 0.625rem !important;
  text-align: right;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
}

.form-textarea {
  min-height: auto;
}

.form-cycle {
  display: flex;
  justify-content: flex-end;
  width: max-content;
  gap: 0.3125rem;
}

.form-control {
  max-width: max-content;
}

.input-container {
  display: flex;
  align-items: center;
  flex: 0.7;
  flex-basis: min-content;
  position: relative;
}

.input-container input[type="text"] {
  width: 100%;
  padding-right: 1.875rem;
  border-radius: 0.25rem;
  background: #fff;
}

.input-container i {
  position: absolute;
  right: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #888;
}

.input-container i:hover {
  color: #333;
}

.datepicker-icon {
  font-size: 16px;
  cursor: pointer;
}

.search-department-container {
  display: flex;
  gap: 0.625rem;
}

.mps-status-badge {
  display: inline-block;
  /* min-width: 48px; */
  padding: 2px 12px;
  border-radius: 16px;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  margin-right: 8px;
  vertical-align: middle;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.mps-detail-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mps-detail-list li {
  padding: 14px 0 8px 0;
  border-bottom: 1px solid #f0f0f0;
}

.mps-detail-list li:last-child {
  border-bottom: 0;
}

.mps-detail-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 6px;
}

.mps-detail-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: max-content;
  background: #e3f2fd;
  color: #1976d2;
  border-radius: 10%;
  font-weight: 700;
  font-size: 0.75rem;
  margin-right: 2px;
  box-shadow: 0 1px 4px #e3f2fd;
  padding: 0 0.625rem;
}

.mps-detail-header strong {
  flex: 1;
  font-size: 0.75rem;
  font-weight: 600;
}

.mps-detail-status {
  font-size: 0.75rem;
  font-weight: 600;
  margin-left: 8px;
}

.mps-detail-row {
  display: flex;
  gap: 10px;
  margin: 2px 0 0 0;
  font-size: 0.75rem;
  padding: 0 0.625rem;
}

.mps-label,
.mps-value {
  color: #333;
  font-weight: 700;
}

.mps-label {
  min-width: 54px;
}

.mps-section-title {
  font-weight: 700;
  margin: 18px 0 6px 0;
  font-size: 0.875rem;
  color: #1976d2;
}

.mps-file-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mps-file-list li {
  margin-bottom: 2px;
}

.mps-empty {
  color: #bbb;
  text-align: center;
  padding: 14px 0;
  font-size: 14px;
}

#mps-todo-modal::-webkit-scrollbar {
  width: 0.5rem;
}

#mps-todo-modal::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 0.25rem;
}

#mps-todo-modal::-webkit-scrollbar-track {
  background: transparent;
}

#mps-todo-title {
  font-size: 1rem;
}

input[type="radio"] {
  vertical-align: middle;
  font-weight: 400 !important;
}

#search-button {
  font-weight: bold;
  padding: 0.375rem 0.625rem;
  border: 1px solid #ddd;
  border-radius: 0.25rem;
  background: #fff;
  cursor: pointer;
}

#search-button:hover {
  background: #f5f5f5;
}

.search-toggle-button {
  cursor: pointer;
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e3f2fd;
  color: #1976d2;
  /* font-weight: bold; */
  font-size: 1.5rem;
  border: 1px solid #1976d2;
  border-radius: 0.75rem;
  box-shadow: 0 2px 8px rgba(25, 118, 210, 0.10);
  transition: background 0.2s, box-shadow 0.2s, transform 0.1s, border-color 0.2s;
}
.search-toggle-button:hover, .search-toggle-button:focus {
  background: #bbdefb;
  color: #0d47a1;
  border-color: #0d47a1;
  box-shadow: 0 4px 16px rgba(25, 118, 210, 0.18);
  transform: scale(1.05);
  outline: none;
}

select {
  background-color: #fff !important;
}

.fc-todoadd-button,
.fc-todoadd-button:active,
.fc-todoadd-button:focus,
.fc-todoadd-button.fc-button-active {
  background: #e3f2fd !important;
  border: 1px solid #1976d2 !important;
  border-radius: 0.75rem !important;
  width: 45px !important;
  height: 45px !important;
  font-size: 2rem !important;
  font-weight: bold !important;
  box-shadow: 0 4px 16px rgba(80,80,80,0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  color: #1976d2 !important;
  transition: background 0.2s, box-shadow 0.2s, transform 0.1s, border-color 0.2s !important;
}

.fc-todoadd-button:hover,
.fc-todoadd-button:focus {
  background: #f5f7fa !important;
  color: #0d47a1 !important;
  border-color: #1976d2 !important;
  box-shadow: 0 6px 20px rgba(25, 118, 210, 0.18) !important;
  transform: scale(1.05) !important;
  outline: none !important;
}

.fc-todoadd-button:active,
.fc-todoadd-button.fc-button-active {
  background: #fff !important;
  color: #1976d2 !important;
  border-color: #1976d2 !important;
  box-shadow: 0 4px 16px rgba(80,80,80,0.18) !important;
  transform: none !important;
}

.fc-daygrid-day-number {
  pointer-events: none;
}

.fc-header-toolbar.fc-toolbar {
  display: flex;
  align-items: center;
  margin-bottom: 0.625rem !important;
}

.fc-toolbar-chunk {
  display: flex;
  flex: 0 0 auto;
}

.fc-toolbar-chunk:nth-child(2) {
  flex: 1 1 0;
  display: flex;
  justify-content: center;
}

.fc-header-toolbar .fc-toolbar-chunk:first-child,
.fc-header-toolbar .fc-toolbar-chunk:last-child {
  min-width: 187px;
}

.view-mode-container {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.mps-work-list-item {
  background: #fff;
}

.mps-detail-panel {
  /* border: 1px solid #ccc; */
  border-left: none;
  min-height: 70vh;
  max-height: 70vh;
}

.fc-popover {
  position: absolute !important;
  max-height: 80vh !important;
  overflow-y: auto !important;
  z-index: 9999 !important;
}
/* 
.fc-button:focus {
  outline: none !important;
  box-shadow: none !important;
} */

.fc-prev-button,
.fc-next-button {
  background: #ffffff !important;
  box-shadow: none !important;
  color: black !important;
}

.fc-today-button {
  background-color: #3a4a5e !important;
  /* background-color: rgba(255, 255, 255, 0.7) !important; */
}

.mps-list-panel {
  padding: 0.625rem;
  height: 70vh;
  overflow-y: auto;
  min-height: 70vh;
  max-height: 70vh;
}

.mps-work-list-item {
  display: flex;
  align-items: center;
  background: #f4f7fa;
  border-radius: 2rem;
  box-shadow: 0 0.25rem 1rem rgba(0, 0, 0, 0.1);
  padding: 0.75rem 1rem;
  margin-bottom: 0.75rem;
  transition: box-shadow 0.2s;
}

.mps-work-list-item.active {
  border-color: #00B2D0;
  box-shadow: 0px 0px 10px rgba(0, 178, 208, 1);
}

/* custom-works-search.css 맨 아래에 추가 */
#mps-fullcalendar .fc-header-toolbar {
  background: #f5f5f5;
  /* margin-bottom: 0.625rem; */
  padding: 0.625rem;
}

.fc .fc-button {
  width: 2.5rem !important;
  height: 2.5rem !important;
  padding: 0 !important;
}

/* FullCalendar 헤더 등에도 적용 */
.fc .fc-col-header-cell-cushion,
.fc .fc-toolbar-title,
.fc .fc-button,
.fc-header-toolbar {
  font-family: 'Google Sans Text', 'Google Sans', 'Apple SD Gothic Neo', 'Malgun Gothic', Arial, sans-serif !important;
}

.fc-event-title {
  font-weight: 400 !important;
}

#list-todoadd-container {
  padding: 0.625rem;
  background: #f5f5f5;
}