/* ==============================
   KRDS 퍼블리싱 스타일 - 우측 확장 패널용
   ============================== */

/* 분석 패널 콘텐츠 컨테이너 */
.analysis-panel-content {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    gap: 0;
    padding: 0;
    overflow: hidden;
}

/* 폼 레이아웃 */
.analysis-panel-form {
    display: flex;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    background-color: transparent;
}

/* 본문 영역 - 이전의 여유로운 스크롤 느낌 복원 */
.analysis-panel-content .panel-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 1.2rem;
    /* 전체적으로 고른 여백 */
    box-sizing: border-box;
}

/* 스크롤바 스타일 제거 (브라우저 기본값 사용) */

/* 푸터 고정 및 스타일 최적화 */
.analysis-panel-content .panel-footer {
    flex: 0 0 auto;
    z-index: 10;
    padding: 1.6rem 1.2rem;
    /* 하단 여백을 충분히 주어 안정감 확보 */
    margin-top: 0 !important;
    border-top: 1px solid var(--krds-color-light-gray-80, #2a2a2a);
    box-sizing: border-box;
}

.analysis-panel-content .modal-top-area {
    margin-bottom: 1.6rem;
    width: 100%;
}

.analysis-panel-content .modal-top-title {
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--krds-color-light-gray-10, #1f2937);
}

.analysis-panel-content .modal-top-description {
    font-size: 1.2rem;
    color: var(--krds-color-light-gray-40, #6b7280);
    margin-top: 0.4rem;
}

/* box-area 간격 조정 */
.analysis-panel-content .box-area.contents-background-type {
    margin-bottom: 0;
}

.analysis-panel-content .box-area.contents-background-type+.box-area.contents-background-type {
    margin-top: 1.2rem;
}

/* bg-black 박스 스타일 */
.analysis-panel-content .box-area.bg-black {
    background-color: var(--krds-color-light-gray-90, #1a1a1a);
    border-radius: 0.4rem;
}


/* bg-gray2 박스 스타일 */
.analysis-panel-content .box-area.bg-gray2 {
    background-color: var(--krds-color-light-gray-80, #2a2a2a);
    border-radius: 0.4rem;
}

.analysis-panel-content .box-area.bg-gray2 .box-inner {
    padding: 0.8rem;
}

/* 필드 태그 래퍼 */
.analysis-panel-content .calc-tag-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: center;
}

.analysis-panel-content .calc-tag-wrapper .empty-text {
    font-size: 1.1rem;
    color: var(--krds-color-light-gray-50, #9ca3af);
    text-align: center;
    width: 100%;
    padding: 0.8rem;
}

/* calc-tag 버튼 스타일 */
.analysis-panel-content .calc-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.4rem 0.8rem;
    font-size: 1.1rem;
    border-radius: 0.4rem;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.analysis-panel-content .calc-tag.black {
    background-color: var(--krds-color-light-gray-70, #3a3a3a);
    color: var(--krds-color-light-gray-10, #e5e5e5);
}

.analysis-panel-content .calc-tag.black:hover {
    background-color: var(--krds-color-light-gray-60, #4a4a4a);
}

.analysis-panel-content .calc-tag.black.active {
    background-color: var(--krds-color-light-primary-40, #1a5cff);
    color: white;
}

/* 논리 연산자 색상 */
.analysis-panel-content .calc-tag.color.success {
    background-color: var(--krds-color-light-success-40, #16a34a);
    color: white;
}

.analysis-panel-content .calc-tag.color.success:hover {
    background-color: var(--krds-color-light-success-30, #15803d);
}

.analysis-panel-content .calc-tag.color.warning {
    background-color: var(--krds-color-light-warning-40, #f59e0b);
    color: white;
}

.analysis-panel-content .calc-tag.color.warning:hover {
    background-color: var(--krds-color-light-warning-30, #d97706);
}

.analysis-panel-content .calc-tag.color.error {
    background-color: var(--krds-color-light-danger-40, #dc2626);
    color: white;
}

.analysis-panel-content .calc-tag.color.error:hover {
    background-color: var(--krds-color-light-danger-30, #b91c1c);
}

/* overflow-y 스크롤 영역 */
.analysis-panel-content .overflow-y {
    overflow-y: auto;
}

.analysis-panel-content .statistics-field-checkbox {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    width: 1px;
    height: 1px;
    pointer-events: none;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.analysis-panel-content .krds-form-check {
    position: relative;
}

.analysis-panel-content .max-h120 {
    max-height: 120px;
}

/* title-type 라벨 */
.analysis-panel-content .label.title-type {
    display: block;
    font-size: 1.2rem;
    font-weight: 500;
    color: var(--krds-color-light-gray-20, #d1d5db);
    margin-bottom: 0.6rem;
}

/* gray 라벨 */
.analysis-panel-content .label.gray {
    font-size: 1.1rem;
    color: rgba(255, 255, 255, 0.7490196078);
    margin-top: 0.4rem;
}

/* required 표시 (퍼블리싱 스타일 적용 - 별표 앞에만 표시) */
.analysis-panel-content .required {
    display: flex;
    align-items: center;
    column-gap: 0.4rem;
}

.analysis-panel-content .required::before {
    content: "*";
    position: relative;
    top: 3.5px;
    color: var(--krds-color-light-red);
}

/* 퍼블리싱 원본의 ::after 스타일 무효화 */
.analysis-panel-content .required::after {
    content: none;
    display: none;
}

/* form-wrap 스타일 */
.analysis-panel-content .form-wrap {
    display: flex;
    gap: 0.6rem;
}

.analysis-panel-content .form-wrap.col {
    flex-direction: column;
}

/* row 레이아웃 */
.analysis-panel-content .box-inner.row {
    display: flex;
    gap: 0.8rem;
    align-items: center;
}

.analysis-panel-content .box-inner.row .krds-input {
    flex: 1;
}

/* border 박스 */
.analysis-panel-content .box-area.border {
    border: 1px solid var(--krds-color-light-gray-70, #3a3a3a);
    border-radius: 0.4rem;
    padding: 1rem;
    margin-top: 0.8rem;
}

/* border-background-black 박스 */
.analysis-panel-content .box-area.border-background-black {
    background-color: var(--krds-color-light-gray-95, #0f0f0f);
    border: 1px solid var(--krds-color-light-gray-70, #3a3a3a);
    border-radius: 0.4rem;
    padding: 1rem;
    margin-top: 1rem;
}

/* history-wrap 리스트 */
.analysis-panel-content .history-wrap {
    padding: 0;
}

.analysis-panel-content .history-wrap.transparent {
    background: transparent;
}

.analysis-panel-content .history-wrap.pb-type1 {
    padding-bottom: 0;
}

.analysis-panel-content .history-wrap.no-transform ul {
    list-style: none;
    margin: 0;
}

.analysis-panel-content .history-wrap.no-transform li {
    font-size: 1.1rem;
    color: var(--krds-color-light-gray-40, #9ca3af);
    line-height: 1.6;
    margin-bottom: 0.4rem;
}

.analysis-panel-content .history-wrap.no-transform li:last-child {
    margin-bottom: 0;
}

/* modal-btn 버튼 영역 */
.analysis-panel-content .modal-btn.btn-wrap {
    display: flex;
    gap: 0.8rem;
    margin-top: 1.6rem;
    padding-top: 1.2rem;
    border-top: 1px solid var(--krds-color-light-gray-80, #2a2a2a);
}

/* btn-wrap end 정렬 */
.analysis-panel-content .btn-wrap.end {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 0.8rem;
    margin-top: 0.8rem;
}

.analysis-panel-content .btn-wrap.end .modal-description {
    font-size: 1.1rem;
    color: var(--krds-color-light-gray-50, #9ca3af);
}

/* textarea h108 높이 */
.analysis-panel-content .krds-input.h108 {
    min-height: 108px;
    resize: vertical;
}

/* ==============================
   분석이력 패널 스타일 (KRDS 테마)
   ============================== */

/* conts-area 래퍼 */
.analysis-panel-content .conts-area {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
}

/* 분석이력 목록 컨테이너 */
.analysis-panel-content .history-list-container {
    overflow-y: visible;
    padding: 1.2rem;
}

/* 분석이력 아이템 */
.analysis-panel-content .history-item {
    background-color: var(--krds-color-light-gray-85, #252525);
    border: 1px solid var(--krds-color-light-gray-70, #3a3a3a);
    border-radius: 0.8rem;
    padding: 1.2rem;
    margin-bottom: 1rem;
}

.analysis-panel-content .history-item:last-child {
    margin-bottom: 0;
}

/* 클릭 가능한 분석이력 아이템 (완료된 분석) */
.analysis-panel-content .history-item.clickable {
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.analysis-panel-content .history-item.clickable:hover {
    background-color: var(--krds-color-light-gray-80, #2a2a2a);
    border-color: var(--krds-color-primary, #4a90d9);
}

/* 분석이력 헤더 */
.analysis-panel-content .history-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
}

.analysis-panel-content .history-info {
    flex: 1;
    min-width: 0;
}

.analysis-panel-content .history-title {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--krds-color-light-gray-10, #e5e5e5);
    margin-bottom: 0.4rem;
}

.analysis-panel-content .history-date {
    font-size: 1.2rem;
    color: var(--krds-color-light-gray-50, #9ca3af);
}

/* 분석이력 상세 정보 */
.analysis-panel-content .history-details {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--krds-color-light-gray-70, #3a3a3a);
}

.analysis-panel-content .history-detail-item {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    font-size: 1.2rem;
    color: var(--krds-color-light-gray-40, #9ca3af);
    margin-bottom: 0.4rem;
}

.analysis-panel-content .history-detail-item:last-child {
    margin-bottom: 0;
}

.analysis-panel-content .history-detail-item .svg-icon {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
    filter: brightness(0) invert(1);
    opacity: 0.7;
}

/* 분석이력 메시지 (실패/안내) */
.analysis-panel-content .history-message {
    margin-top: 1rem;
    padding: 1rem;
    border-radius: 0.4rem;
}

.analysis-panel-content .history-message.error-message {
    background-color: rgba(220, 38, 38, 0.1);
    border-left: 3px solid var(--krds-color-light-danger-40, #dc2626);
}

.analysis-panel-content .history-message.info-message {
    background-color: rgba(107, 114, 128, 0.1);
    border-left: 3px solid var(--krds-color-light-gray-50, #6b7280);
}

.analysis-panel-content .history-message .message-content {
    display: flex;
    align-items: flex-start;
    gap: 0.8rem;
}

.analysis-panel-content .history-message .svg-icon {
    width: 1.6rem;
    height: 1.6rem;
    flex-shrink: 0;
    margin-top: 0.2rem;
}

.analysis-panel-content .history-message.error-message .svg-icon {
    color: var(--krds-color-light-danger-40, #dc2626);
}

.analysis-panel-content .history-message.info-message .svg-icon {
    color: var(--krds-color-light-gray-50, #6b7280);
}

.analysis-panel-content .history-message .message-text {
    flex: 1;
    min-width: 0;
}

.analysis-panel-content .history-message .message-title {
    display: block;
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 0.4rem;
}

.analysis-panel-content .history-message.error-message .message-title {
    color: var(--krds-color-light-danger-30, #ef4444);
}

.analysis-panel-content .history-message.info-message .message-title {
    color: var(--krds-color-light-gray-40, #9ca3af);
}

.analysis-panel-content .history-message .message-desc {
    font-size: 1.1rem;
    line-height: 1.5;
    word-break: break-word;
    margin: 0;
}

.analysis-panel-content .history-message.error-message .message-desc {
    color: var(--krds-color-light-danger-40, #dc2626);
}

.analysis-panel-content .history-message.info-message .message-desc {
    color: var(--krds-color-light-gray-50, #6b7280);
}

/* 분석이력 액션 버튼 */
.analysis-panel-content .history-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.8rem;
    margin-top: 1.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--krds-color-light-gray-70, #3a3a3a);
}

/* 상태 배지 색상 */
.analysis-panel-content .krds-badge.bg-success-light {
    background-color: rgba(22, 163, 74, 0.15);
    color: var(--krds-color-light-success-40, #22c55e);
}

.analysis-panel-content .krds-badge.bg-danger-light {
    background-color: rgba(220, 38, 38, 0.15);
    color: var(--krds-color-light-danger-40, #ef4444);
}

.analysis-panel-content .krds-badge.bg-warning-light {
    background-color: rgba(245, 158, 11, 0.15);
    color: var(--krds-color-light-warning-40, #f59e0b);
}

.analysis-panel-content .krds-badge.bg-info-light {
    background-color: rgba(37, 99, 235, 0.15);
    color: var(--krds-color-light-primary-40, #3b82f6);
}

.analysis-panel-content .krds-badge.bg-gray-light {
    background-color: rgba(107, 114, 128, 0.15);
    color: var(--krds-color-light-gray-40, #9ca3af);
}

/* 빈 상태 스타일 */
.analysis-panel-content .layer-empty-text {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3rem 1rem;
    text-align: center;
    height: 100%;
}

.analysis-panel-content .layer-empty-text .empty-text {
    font-size: 1.3rem;
    color: var(--krds-color-light-gray-50, #6b7280);
}

.analysis-panel-content .layer-empty-text.hidden {
    display: none;
}

/* ==============================
   필터 영역 레이아웃
   ============================== */

.analysis-panel-content .history-filter-row {
    display: flex;
    align-items: flex-end;
    gap: 0.8rem;
    width: 100%;
}

.analysis-panel-content .history-filter-row .form-wrap.col {
    flex: 1;
    min-width: 0;
}

.analysis-panel-content .history-filter-row .history-sort-btn {
    flex-shrink: 0;
    width: 82px;
    height: 3.2rem;
    white-space: nowrap;
}

/* ==============================
   이력 삭제 버튼 (danger 스타일)
   ============================== */

.analysis-panel-content .krds-btn.danger {
    background-color: var(--krds-color-light-danger-40, #dc2626);
    border-color: var(--krds-color-light-danger-40, #dc2626);
    color: #fff;
}

.analysis-panel-content .krds-btn.danger:hover {
    background-color: var(--krds-color-light-danger-30, #b91c1c);
    border-color: var(--krds-color-light-danger-30, #b91c1c);
}

.analysis-panel-content .krds-btn.danger:active {
    background-color: var(--krds-color-light-danger-20, #991b1b);
    border-color: var(--krds-color-light-danger-20, #991b1b);
}

.analysis-panel-content .krds-btn.danger .svg-icon {
    filter: brightness(0) invert(1);
}

/* xsmall 버튼 사이즈 */
.analysis-panel-content .krds-btn.xsmall {
    height: 2.6rem;
    padding: 0 1rem;
    font-size: 1.1rem;
    border-radius: 0.4rem;
}

.analysis-panel-content .modal-btn.btn-wrap.panel-footer {
    display: flex;
}