/* Swagger UI 커스터마이징을 위한 CSS */

/* 기본 레이아웃 */
body {
    margin: 0;
    padding: 0;
    max-width: 1500px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  }
  
  #swagger-ui {
    max-width: 100%;
    margin: 0 auto;
  }
  
  /* 상단 헤더 스타일 개선 */
  .swagger-ui .topbar {
    background-color: #2c3e50;
    padding: 10px 0 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1) !important;
    position: relative !important;
    height: auto !important;
    display: none !important;
  }
  
  /* 상단 헤더 아래 라인 추가 */
  .swagger-ui .topbar:after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, #3498db, #2ecc71) !important;
  }
  
  /* 로고 스타일링 */
  .swagger-ui .topbar-wrapper .link {
    font-size: 1.5em !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
  }
  
  /* 로고 SVG 제거 */
  .swagger-ui .topbar-wrapper img,
  .swagger-ui .topbar-wrapper svg {
    display: none !important;
  }
  
  /* 정보 영역 스타일 */
  .swagger-ui .info {
    margin: 20px 0 !important;
  }
  
  .swagger-ui .info .title {
    color: #2c3e50;
    font-size: 1.8rem !important;
    font-weight: 600 !important;
    border-bottom: 2px solid #3498db;
    padding-bottom: 15px;
  }
  
  /* 좌측 여백 조정 */
  .swagger-ui .wrapper {
    padding: 0 30px !important;
    max-width: 100% !important;
  }
  
  /* 태그 스타일 개선 */
  .swagger-ui .opblock-tag {
    font-size: 1.2rem !important;
    border-bottom: 1px solid #eee !important;
    padding: 10px 20px !important;
    margin: 10px 0 !important;
    color: #2c3e50 !important;
    background-color: #f9f9f9 !important;
    border-radius: 4px !important;
  }
  
  .swagger-ui .opblock-tag:hover {
    background-color: #f0f0f0 !important;
  }
  
  /* 엔드포인트 스타일 개선 */
  .swagger-ui .opblock {
    border-radius: 6px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
    border: none !important;
    margin: 0 0 15px 0 !important;
  }
  
  .swagger-ui .opblock .opblock-summary {
    padding: 10px !important;
  }
  
  /* HTTP 메서드 버튼 스타일 개선 */
  .swagger-ui .opblock .opblock-summary-method {
    border-radius: 4px !important;
    padding: 6px 10px !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    min-width: 80px !important;
    text-align: center !important;
  }
  
  /* 컨텐츠 영역 개선 */
  .swagger-ui .opblock-body {
    padding: 15px !important;
  }
  
  /* 버튼 스타일 통일 */
  .swagger-ui .btn {
    border-radius: 4px !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    padding: 8px 15px !important;
    transition: all 0.2s ease !important;
  }
  
  .swagger-ui .btn:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1) !important;
    transform: translateY(-1px) !important;
  }
  
  /* 인증 버튼 스타일 개선 */
  .swagger-ui .auth-wrapper .authorize,
  .swagger-ui .btn.authorize,
  .swagger-ui button.authorize {
    display: none !important;
  }
  
  /* Authorize 버튼 숨기기 */
  .swagger-ui .auth-btn-wrapper {
    display: none !important;
  }
  
  /* 인증 모달 개선 */
  .swagger-ui .dialog-ux .modal-ux {
    border-radius: 6px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2) !important;
    border: none !important;
  }
  
  .swagger-ui .dialog-ux .modal-ux-header {
    background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%) !important;
    border-bottom: none !important;
    border-radius: 6px 6px 0 0 !important;
  }
  
  .swagger-ui .dialog-ux .modal-ux-header h3 {
    color: white !important;
    font-weight: 600 !important;
  }
  
  .swagger-ui .dialog-ux .modal-ux-content {
    padding: 20px !important;
  }
  
  /* 인증 입력 필드 스타일 개선 */
  .swagger-ui .auth-container input {
    display: block !important;
    width: 100% !important;
    padding: 10px !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    margin-bottom: 15px !important;
  }
  
  /* 테이블 스타일 개선 */
  .swagger-ui table {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05) !important;
  }
  
  .swagger-ui table thead tr {
    background-color: #f5f7fa !important;
    color: #2c3e50 !important;
  }
  
  .swagger-ui table thead tr th {
    padding: 12px 15px !important;
    border-bottom: 2px solid #e0e0e0 !important;
    font-weight: 600 !important;
  }
  
  .swagger-ui table tbody tr td {
    padding: 12px 15px !important;
    border-bottom: 1px solid #eee !important;
  }
  
  /* 스키마 스타일 개선 */
  .swagger-ui .model-box {
    background-color: #f9f9f9 !important;
    border-radius: 6px !important;
    padding: 15px !important;
  }
  
  .swagger-ui .model {
    color: #333 !important;
  }
  
  /* 응답 코드 스타일 */
  .swagger-ui .responses-table .response-col_status {
    font-weight: 600 !important;
  }
  
  /* 스크롤바 스타일 개선 */
  ::-webkit-scrollbar {
    width: 8px !important;
    height: 8px !important;
  }
  
  ::-webkit-scrollbar-track {
    background: #f1f1f1 !important;
  }
  
  ::-webkit-scrollbar-thumb {
    background: #c1c1c1 !important;
    border-radius: 4px !important;
  }
  
  ::-webkit-scrollbar-thumb:hover {
    background: #a8a8a8 !important;
  }
  
  /* 검색 폼 제거 */
  .swagger-ui .topbar .download-url-wrapper {
    display: none !important;
  }
  
  /* swagger.json 링크 숨김 */
  .swagger-ui .info .main .link {
    display: none !important;
  }
  
  /* 콘텐츠 영역 제한 */
  .swagger-ui .swagger-container {
    max-width: 100%;
    margin: 0 auto;
  }
  
  /* 기타 스타일 커스터마이징 */
  .swagger-ui .auth-container label {
    display: block !important;
    font-weight: bold !important;
    margin-bottom: 5px !important;
  }
  
  /* 모달 배경 개선 */
  .swagger-ui .dialog-ux .backdrop-ux {
    background: rgba(0, 0, 0, 0.5) !important;
  }
  
  /* 인증 폼 레이아웃 개선 */
  .swagger-ui .auth-container .wrapper {
    display: block !important; 
    margin-bottom: 15px !important;
  }
  
  /* API 엔드포인트 설명 */
  .swagger-ui .opblock-description-wrapper p {
    margin: 8px 0 !important;
  }
  
  /* 모바일 대응 */
  @media (max-width: 1000px) {
    #swagger-ui, .swagger-ui .swagger-container {
      width: 100%;
      padding: 0 10px;
      box-sizing: border-box;
    }
  }
  
  /* OAS 버전 버튼 위치 정리 */
  .swagger-ui .info hgroup.main {
    margin: 0 0 10px 0 !important;
    align-items: center !important;
  }
  
  .swagger-ui .info hgroup.main .version-badge {
    margin-left: 10px !important;
  }
  
  /* 자동 인증 완료 메시지 */
  .auth-status-message {
    display: none; /* 항상 숨김 처리 */
  }
  
  .auth-status-message.show {
    display: none; /* 항상 숨김 처리 */
  }
  
  /* 로그인 폼 컨테이너 스타일 */
  #swagger-login-container {
    background-color: #e9f0f9;
    margin: 15px 0;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #c3e6cb;
    width: 33%; /* 전체 폭의 33%로 제한 */
  }
  
  /* 로그인 폼 레이아웃 */
  #login-form {
    background-color: white;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #e9ecef;
  }
  
  #login-form > div {
    display: flex;
    align-items: flex-start;
  }
  
  #login-form > div > div {
    flex-grow: 1;
    margin-right: 10px;
  }
  
  /* 사용자 정보 레이아웃 */
  #user-info {
    background-color: white;
    padding: 12px;
    border-radius: 4px;
    border: 1px solid #e9ecef;
  }
  
  #user-info > div {
    display: flex;
    align-items: flex-start;
  }
  
  #user-info > div > div {
    flex-grow: 1;
    margin-right: 10px;
  }
  
  /* 로그인 버튼 스타일 */
  #login-btn {
    width: 80px;
    height: 74px;
    padding: 0;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    color: white;
    background-color: #4CAF50;
    transition: background-color 0.2s;
  }
  
  #login-btn:hover {
    background-color: #3e8e41;
  }
  
  /* 로그아웃 버튼 스타일 */
  #logout-btn {
    width: 80px;
    height: 74px;
    padding: 0;
    border: none;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    color: white;
    background-color: #f44336;
    transition: background-color 0.2s;
  }
  
  #logout-btn:hover {
    background-color: #d32f2f;
  }
  
  /* 상태 표시 스타일 */
  #system-token-status, #user-token-status {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 3px;
    font-size: 12px;
    font-weight: 500;
  }
  
  /* 사용자 프로필 정보 스타일 */
  #user-info .user-profile {
    padding: 10px;
    background-color: #e9f5fd;
    border-radius: 4px;
    margin-bottom: 0;
    font-size: 14px;
  } 