.keyvalue {
  font-family: "Courier New", Courier, monospace;

  color: blueviolet;
}

.key3 {
  width: 500px;
  height: 32px;
  border-radius: 5px;
  outline: none;
  padding-left: 10px;
  background-color: rgb(233, 233, 233);
  writing-mode: horizontal-tb !important;
  text-rendering: auto;
  color: fieldtext;
  letter-spacing: normal;
  word-spacing: normal;
  line-height: normal;
  text-transform: none;
  text-indent: 5px;
  text-shadow: none;
  display: inline-block;
  text-align: start;
  appearance: auto;
  -webkit-rtl-ordering: logical;
  cursor: text;
  background-color: field;
  margin: 1em;
  padding: 2px;
  border-width: 2px;
  border-style: inset;
  border-color: -internal-light-dark(rgb(118, 118, 118), rgb(133, 133, 133));
  border-image: initial;
}
.md-typeset__table {
  width: 100%;
}

.md-typeset__scrollwrap.ovf-x {
  overflow-x: visible;
}
.table_custom-thead {
  background-color: var(--md-default-bg-color);
  border-radius: 0.1rem;
  display: inline-block;
  font-size: 0.64rem;
  max-width: 100%;
  overflow: auto !important;
  touch-action: auto;
  border-collapse: collapse;
}
.table_custom-thead th {
  min-width: 4rem;
  padding: 0.5em 0.65em;
  border: 0.05rem solid var(--md-typeset-table-color);
  vertical-align: middle;
}
.table_custom-thead td {
  border: 0.05rem solid var(--md-typeset-table-color);
  padding: 0.5375em 0.65em;
  vertical-align: middle;
}
.table_custom-thead-two {
  background-color: var(--md-default-bg-color);
  border-radius: 0.1rem;
  display: inline-block;
  font-size: 0.64rem;
  max-width: 100%;
  overflow: auto;
  touch-action: auto;
  border-collapse: collapse;
}
.table_custom-thead-two th,
.table_custom-thead-two td {
  padding: 0.5375em 0.25em;
  vertical-align: middle;
}

.t-right {
  text-align: right;
}
.t-left {
  text-align: left;
}
.t-center {
  text-align: center;
}
.card {
  border-radius: 4px;
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.08), 0 0 6px rgba(0, 0, 0, 0.05);

  padding: 10px 30px 30px;
}

#bareunDetail {
  margin-block-start: 1em;
  margin-block-end: 1em;
}
.collapsible {
  border-radius: 4px;
  /* box-shadow: 0 6px 10px rgba(0, 0, 0, 0.08), 0 0 6px rgba(0, 0, 0, 0.05); */
  /* padding: 18px; */
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
}

.collapsibleContent {
  width: 100%;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

.menumbtn {
  float: right;
  cursor: pointer;

  margin-left: 5px;
  padding: 0px 10px;
}

.mr-4 {
  margin-right: 12px;
}

.clientKey,
#serverKey {
  position: relative;
}

.clientKey .tooltip-content,
#serverKey .tooltip-content {
  padding: 10px;
  visibility: hidden;
  background-color: #f1f1f1;
  text-align: center;
  position: absolute;
  z-index: 1;
  top: -40%;
  right: -0%;
  transform: translateX(-50%);
}
.clientKey .tooltip-content p {
  margin: 0;
}
.clientKey:hover .task-tooltip-inner,
#serverKey:hover .task-tooltip-inner {
  visibility: visible;
}

.task-tooltip-inner {
  visibility: hidden;
  position: absolute;
}
.task-tooltip {
  background-color: #eef3fd;
  border: #7689fd solid 1px;
  border-radius: 5px;
  color: #505bf0;
  height: auto;
  letter-spacing: -0.25px;
  margin-top: 6.8px;
  padding: 5px 11px;
  position: relative;
  width: fit-content;
  z-index: 100;
}

.task-tooltip::after {
  border-color: #eef3fd transparent;
  border-style: solid;
  border-width: 0 6px 8px 6.5px;
  content: "";
  display: block;
  left: 75px;
  position: absolute;
  top: -7px;
  width: 0;
  z-index: 1;
}

.task-tooltip::before {
  border-color: #7689fd transparent;
  border-style: solid;
  border-width: 0 6px 8px 6.5px;
  content: "";
  display: block;
  left: 75px;
  position: absolute;
  top: -8px;
  width: 0;
  z-index: 0;
}

#resultMessage1,
#resultMessage2 {
  display: none;
}

/* 모델 업데이트 패널 (#1827) — API키 등록 페이지의 "API키 상태" 카드 안에 들어간다.
   등록 전에는 스크립트가 display:none 으로 감추고, 카탈로그 조회가 성공할 때만 펼친다. */
#modelUpdateBox {
  display: none;
  margin-top: 1.5em;
}

/* 제목과 새로고침 버튼을 한 줄에 둔다(.menumbtn 이 float:right 이므로 뒤에 흐름을 끊어준다). */
.model-update-head::after {
  content: "";
  display: block;
  clear: both;
}

.model-update-head h4 {
  display: inline-block;
  margin-right: 8px;
}

.model-update-desc {
  /* 표 본문(.table_custom-thead 0.64rem)과 같은 크기로 맞춘다 — 0.8rem 은 본문 문단 크기라
     패널 안에서 표보다 커 보였다. */
  font-size: 0.64rem;
  color: #6b7280;
}

/* "지금 쓰는 모델" 카드 — 목록보다 위에 못 박아 둔다. 카탈로그가 없는 서버에서는 이 카드가
   패널의 유일한 내용이 되므로, 목록 표가 없어도 혼자 서는 모양이어야 한다. */
.model-current {
  border: 1px solid #dbeafe;
  background-color: #f8fbff;
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 10px;
  font-size: 0.64rem;
}

.model-current-label {
  color: #6b7280;
}

/* 설명은 한 줄로 길 수 있어 줄바꿈을 허용한다(잘라내면 무엇이 바뀐 모델인지 못 읽는다). */
.model-current-desc {
  margin-top: 4px;
  color: #111827;
}

.model-current-meta {
  margin-top: 2px;
  color: #6b7280;
}

/* 보기 전용(자동 재시작 미지원) 안내 — 눌러 보고 실패하기 전에 미리 알린다. */
.model-update-warn {
  border: 1px solid #fcd34d;
  background-color: #fffbeb;
  border-radius: 4px;
  padding: 8px 12px;
  font-size: 0.64rem;
}

.model-update-msg {
  font-size: 0.64rem;
}

.model-badge {
  display: inline-block;
  border-radius: 4px;
  background-color: #f1f1f1;
  color: #6b7280;
  font-size: 0.65rem;
  padding: 1px 6px;
  vertical-align: middle;
}

.model-badge-current {
  background-color: #e0edff;
  color: #1d4ed8;
}

/* 적용 버튼: 표 안에 들어가므로 기본 md-button 보다 작게, 비활성은 회색으로 눌리지 않음을 보인다. */
.model-apply-btn {
  padding: 2px 12px;
  font-size: 0.7rem;
}

.model-apply-btn[disabled] {
  color: #9ca3af;
  border-color: #d1d5db;
  cursor: not-allowed;
}
