.sem-wrap {
  max-width: 1240px;
  margin: 0 auto;
}

.sem-alert {
  padding: 14px 18px;
  border-radius: 14px;
  margin-bottom: 18px;
  font-size: 14px;
  line-height: 1.6;
}

.sem-alert-error {
  background: #fff1f1;
  color: #b42318;
}

.sem-alert-success {
  background: #eef9f1;
  color: #1d7a37;
}

.sem-request-no {
  margin-top: 6px;
  font-weight: 700;
}

.sem-form {
  width: 100%;
}

.sem-layout {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.sem-col-left {
  flex: 1.5;
  min-width: 0;
}

.sem-col-right {
  flex: 1;
  min-width: 0;
}

.sem-panel {
  background: #f7faff;
  border: 1px solid rgba(0, 0, 0, 0.04);
  border-radius: 28px;
  padding: 28px;
  box-sizing: border-box;
}

.sem-section-title {
  margin-bottom: 18px;
}

.sem-section-title h3 {
  margin: 0 0 6px;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.2;
  color: #1f2430;
}

.sem-section-title p {
  margin: 0;
  font-size: 15px;
  color: #7f8895;
}

.sem-pin-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sem-pin-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sem-pin-no {
  width: 52px;
  min-width: 52px;
  height: 54px;
  border-radius: 18px;
  background: var(--e-global-color-primary, #2f6bff);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: 600;
  box-shadow: 0 10px 20px rgba(47, 107, 255, 0.16);
}

.sem-pin-field {
  flex: 1;
  min-width: 0;
}

.sem-pin-field input {
  width: 100%;
  height: 54px;
  border: 1px solid #dbe5f3;
  border-radius: 18px;
  background: #fff;
  padding: 0 18px;
  font-size: 16px;
  color: #222;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.sem-pin-field input::placeholder {
  color: #b8b8b8;
}

.sem-pin-field input:focus,
.sem-field input:focus,
.sem-field select:focus {
  outline: none;
  border-color: var(--e-global-color-primary, #2f6bff);
  box-shadow: 0 0 0 4px rgba(47, 107, 255, 0.1);
}

.sem-add-wrap {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

.sem-add-btn {
  border: 2px solid var(--e-global-color-primary, #2f6bff);
  border-radius: 999px;
  background: #fff;
  color: var(--e-global-color-primary, #2f6bff);
  padding: 12px 18px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  box-shadow: none;
}

.sem-add-btn:hover {
  background: var(--e-global-color-primary, #2f6bff);
  color: #fff;
}

.sem-grid-single {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sem-field label {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  color: #1f2430;
}

.sem-field input,
.sem-field select {
  width: 100%;
  height: 54px;
  border: 1px solid #dbe5f3;
  border-radius: 16px;
  background: #fff;
  padding: 0 16px;
  font-size: 15px;
  color: #222;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  box-sizing: border-box;
}

.sem-field input::placeholder {
  color: #b8b8b8;
}

.sem-submit-wrap {
  margin-top: 12px;
  text-align: center;
}

.sem-submit-wrap-left {
  text-align: left;
}

.sem-submit-btn {
  min-width: 200px;
  height: 48px;
  border: none;
  border-radius: 999px;
  background: var(--e-global-color-primary, #2f6bff);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 12px 24px rgba(47, 107, 255, 0.16);
}

.sem-note-box {
  margin-top: 12px;
  padding: 12px 18px;
  border-radius: 16px;
  background: #f5f8ff;
  border: 1px solid #dbe5f3;
}

.sem-note-box p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: #5f6b7a;
}

.sem-note-box p + p {
  margin-top: 6px;
}

.sem-note-inline {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7684;
  white-space: nowrap;
}

.sem-submit-wrap-left {
  display: flex;
  justify-content: flex-end;
  margin-top: 16px;
}

.sem-submit-btn {
  width: 100%;
  
}

@media (max-width: 1024px) {
  .sem-layout {
    flex-direction: column;
    gap: 20px;
  }

  .sem-col-left,
  .sem-col-right {
    width: 100%;
  }
}




@media (max-width: 767px) {
  .sem-panel {
    padding: 20px;
    border-radius: 22px;
  }

  .sem-section-title h3 {
    font-size: 24px;
  }

  .sem-section-title p {
    font-size: 14px;
  }

  .sem-pin-row {
    gap: 10px;
  }

  .sem-pin-no {
    width: 48px;
    min-width: 48px;
    height: 56px;
    border-radius: 14px;
    font-size: 18px;
  }

  .sem-pin-field input {
    height: 48px;
    border-radius: 14px;
    padding: 0 14px;
    font-size: 15px;
  }

  .sem-field input,
  .sem-field select {
    height: 54px;
    border-radius: 14px;
    font-size: 15px;
  }

  .sem-submit-btn {
    width: 100%;
    min-width: 0;
  }
}




.sem-lookup-wrap {
  max-width: 1180px;
  margin: 0 auto;
}

.sem-lookup-form {
  margin-top: 10px;
}

.sem-lookup-fields {
  display: flex;
  gap: 16px;
  align-items: center;
}

.sem-lookup-fields .sem-field {
  flex: 1;
  margin: 0;
}

.sem-lookup-submit-wrap {
  flex: 0 0 auto;
}

.sem-lookup-submit-wrap .sem-submit-btn {
  min-width: 180px;
}

.sem-lookup-alert {
  margin-top: 18px;
}

.sem-lookup-result {
  margin-top: 28px;
}


.sem-lookup-head {
  padding: 18px 20px;
  border-radius: 18px;
  background: #eef3fb;
  color: #1f2430;
  font-weight: 700;
  font-size: 15px;
}

.sem-lookup-row {
  padding: 20px;
  border-bottom: 1px solid #e7edf7;
  font-size: 15px;
  color: #2b3440;
}

.sem-lookup-empty {
  padding: 60px 20px;
  text-align: center;
  font-size: 18px;
  color: #1f2430;
}

.sem-muted {
  color: #7d8794;
  font-size: 14px;
}

.sem-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.sem-status-sem-status {
  background: #eef3fb;
  color: #475569;
}

.sem-status-접수완료,
.sem-status-jeobsuwaryo {
  background: #eef3fb;
  color: #475569;
}

.sem-status-입금중,
.sem-status-ibgeumjung {
  background: #ecf7ee;
  color: #2f7a46;
}

.sem-status-완료,
.sem-status-wanlyo {
  background: #eaf2ff;
  color: #2f6bff;
}

.sem-status-처리불가,
.sem-status-cheoribulga {
  background: #fff1f1;
  color: #c24141;
}

@media (max-width: 1024px) {
  .sem-lookup-fields {
    flex-direction: column;
    align-items: stretch;
  }

  .sem-lookup-submit-wrap .sem-submit-btn {
    width: 100%;
    min-width: 0;
  }

  .sem-lookup-head {
    display: none;
  }

  .sem-lookup-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid #e7edf7;
    border-radius: 18px;
    margin-bottom: 14px;
  }
}


.sem-popup-lookup {
  max-width: 100%;
}

.sem-popup-title {
  margin-bottom: 16px;
}

.sem-popup-submit {
  margin-top: 18px;
}

.sem-lookup-wrap {
  max-width: 1180px;
  margin: 0 auto;
}

.sem-lookup-alert {
  margin-top: 18px;
}

.sem-lookup-result {
  margin-top: 28px;
}



.sem-lookup-head {
  padding: 18px 20px;
  border-radius: 18px;
  background: #eef3fb;
  color: #1f2430;
  font-weight: 700;
  font-size: 15px;
}

.sem-lookup-row {
  padding: 20px;
  border-bottom: 1px solid #e7edf7;
  font-size: 15px;
  color: #2b3440;
}

.sem-muted {
  color: #7d8794;
  font-size: 14px;
}

.sem-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 88px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.sem-status-접수완료,
.sem-status-jeobsuwaryo {
  background: #eef3fb;
  color: #475569;
}

.sem-status-입금중,
.sem-status-ibgeumjung {
  background: #ecf7ee;
  color: #2f7a46;
}

.sem-status-완료,
.sem-status-wanlyo {
  background: #eaf2ff;
  color: #2f6bff;
}

.sem-status-처리불가,
.sem-status-cheoribulga {
  background: #fff1f1;
  color: #c24141;
}

.sem-empty-state {
  padding: 70px 20px;
  text-align: center;
}

.sem-empty-icon {
  font-size: 42px;
  line-height: 1;
  margin-bottom: 20px;
}

.sem-empty-state h4 {
  margin: 0 0 10px;
  font-size: 34px;
  font-weight: 800;
  color: #1f2430;
}

.sem-empty-state p {
  margin: 0;
  font-size: 18px;
  color: #6b7684;
}

.sem-empty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 26px;
  min-width: 160px;
  height: 52px;
  padding: 0 20px;
  border-radius: 12px;
  background: #e63946;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
}

.sem-empty-state-initial .sem-empty-icon {
  font-size: 34px;
}

.sem-empty-state-initial h4 {
  font-size: 28px;
}

@media (max-width: 1024px) {
  .sem-lookup-head {
    display: none;
  }

  .sem-lookup-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid #e7edf7;
    border-radius: 18px;
    margin-bottom: 14px;
  }

  .sem-empty-state h4 {
    font-size: 26px;
  }

  .sem-empty-state p {
    font-size: 16px;
  }
}
.sem-lookup-head,
.sem-lookup-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

.sem-lookup-head > div:nth-child(1),
.sem-lookup-row > div:nth-child(1) {
  width: 28%;
}

.sem-lookup-head > div:nth-child(2),
.sem-lookup-row > div:nth-child(2) {
  width: 16%;
}

.sem-lookup-head > div:nth-child(3),
.sem-lookup-row > div:nth-child(3) {
  width: 12%;
  text-align: center;
}

.sem-lookup-head > div:nth-child(4),
.sem-lookup-row > div:nth-child(4) {
  width: 18%;
}

.sem-lookup-head > div:nth-child(5),
.sem-lookup-row > div:nth-child(5) {
  width: 8%;
  text-align: center;
}

.sem-lookup-head > div:nth-child(6),
.sem-lookup-row > div:nth-child(6) {
  width: 10%;
  text-align: center;
}

.sem-lookup-head {
  padding: 20px 24px;
  border-radius: 18px;
  background: #eef3fb;
  color: #1f2430;
  font-weight: 700;
  font-size: 15px;
}

.sem-lookup-row {
  padding: 22px 24px;
  border-bottom: 1px solid #e7edf7;
  font-size: 15px;
  color: #2b3440;
}

.sem-lookup-row > div:nth-child(4) {
  line-height: 1.5;
}


/* ===== request form restore ===== */

.sem-layout {
  display: flex;
  gap: 12px;
  align-items: stretch;
}

.sem-col-left,
.sem-col-right {
  display: flex;
}

.sem-col-left {
  flex: 1.4;
  min-width: 0;
}

.sem-col-right {
  flex: 1;
  min-width: 0;
}

.sem-col-left .sem-panel,
.sem-col-right .sem-panel {
  width: 100%;
  height: 100%;
}

.sem-col-right .sem-panel {
  display: flex;
  flex-direction: column;
}

.sem-pin-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sem-grid-single {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.sem-pin-row {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sem-pin-no {
  width: 52px;
  min-width: 52px;
  height: 54px;
  border-radius: 18px;
  font-size: 22px;
  font-weight: 600;
}

.sem-pin-field {
  flex: 1;
  min-width: 0;
}

.sem-pin-field input {
  width: 100%;
  height: 54px;
  box-sizing: border-box;
}

.sem-field input,
.sem-field select {
  width: 100%;
  height: 54px;
  box-sizing: border-box;
}

.sem-add-wrap {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
}

.sem-note-inline {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.5;
  color: #6b7684;
  white-space: nowrap;
}

.sem-submit-wrap-left {
  display: flex;
  justify-content: flex-end;
  margin-top: auto;
  padding-top: 16px;
}

.sem-submit-wrap-left .sem-submit-btn {
  width: auto !important;
  min-width: 260px !important;
  max-width: 260px;
  flex: 0 0 260px;
  height: 48px;
}

@media (max-width: 1024px) {
  .sem-layout {
    flex-direction: column;
    gap: 20px;
  }

  .sem-col-left,
  .sem-col-right {
    width: 100%;
  }

  .sem-note-inline {
    white-space: normal;
  }
}

@media (max-width: 767px) {
  .sem-pin-no {
    width: 48px;
    min-width: 48px;
    height: 56px;
    border-radius: 14px;
    font-size: 18px;
  }

  .sem-pin-field input {
    height: 48px;
    border-radius: 14px;
    padding: 0 14px;
    font-size: 15px;
  }

  .sem-field input,
  .sem-field select {
    height: 54px;
    border-radius: 14px;
    font-size: 15px;
  }

  .sem-submit-wrap-left .sem-submit-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none;
    flex: 1 1 auto;
  }
}


.sem-status-board-wrap {
  max-width: 1240px;
  margin: 0 auto;
}

.sem-status-board {
  margin-top: 24px;
}

.sem-status-head,
.sem-status-row {
  display: flex;
  align-items: center;
  gap: 20px;
}

.sem-status-head {
  padding: 18px 22px;
  border-radius: 18px;
  background: #eef3fb;
  color: #1f2430;
  font-size: 15px;
  font-weight: 700;
}

.sem-status-row {
  padding: 22px;
  border-bottom: 1px solid #e7edf7;
  color: #2b3440;
  font-size: 15px;
}

.sem-status-head > div:nth-child(1),
.sem-status-row > div:nth-child(1) {
  width: 42%;
}

.sem-status-head > div:nth-child(2),
.sem-status-row > div:nth-child(2) {
  width: 14%;
  text-align: center;
}

.sem-status-head > div:nth-child(3),
.sem-status-row > div:nth-child(3) {
  width: 14%;
  text-align: center;
}

.sem-status-head > div:nth-child(4),
.sem-status-row > div:nth-child(4) {
  width: 30%;
  text-align: right;
}

.sem-status-col-info {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.sem-status-date,
.sem-status-name {
  color: #7d8794;
}

.sem-status-amount {
  font-weight: 700;
  color: #1f2430;
}

.sem-status-col-last {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
}

.sem-status-duration {
  font-weight: 700;
  color: #1f2430;
}

.sem-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 40px;
  padding: 0 14px;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
}

.sem-status-badge.sem-status-jeobsuwaryo,
.sem-status-badge.sem-status-접수완료 {
  background: #eef3fb;
  color: #475569;
}

.sem-status-badge.sem-status-ibgeumjung,
.sem-status-badge.sem-status-입금중 {
  background: #ecf7ee;
  color: #2f7a46;
}

.sem-status-badge.sem-status-wanlyo,
.sem-status-badge.sem-status-완료 {
  background: #eaf2ff;
  color: #2f6bff;
}

.sem-status-badge.sem-status-cheoribulga,
.sem-status-badge.sem-status-처리불가 {
  background: #fff1f1;
  color: #c24141;
}

.sem-status-empty {
  padding: 60px 20px;
  text-align: center;
  color: #6b7684;
  font-size: 16px;
}

@media (max-width: 1024px) {
  .sem-status-head {
    display: none;
  }

  .sem-status-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border: 1px solid #e7edf7;
    border-radius: 18px;
    margin-bottom: 14px;
  }

  .sem-status-row > div {
    width: 100% !important;
    text-align: left !important;
  }

  .sem-status-col-last {
    justify-content: flex-start;
  }
}

/* 팝업 조회하기 버튼은 꽉 차게 */
.sem-popup-submit {
  display: block;
  margin-top: 18px;
  padding-top: 0;
}

.sem-popup-submit .sem-submit-btn {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: 1 1 auto !important;
}


.sem-lookup-inline-error {
  margin-top: 14px;
  padding: 12px 14px;
  border-radius: 12px;
  background: #fff1f1;
  color: #c4543c;
  font-size: 14px;
  line-height: 1.5;
}



/* ===== 실시간 교환현황 ===== */

.sem-status-board-table {
  width: 100%;
  margin-top: 12px;
}

.sem-status-head,
.sem-status-row {
  display: flex;
  align-items: center;
}

.sem-status-head {
  padding: 0 0 18px;
  border-bottom: 1px solid #dfe6f0;
  font-size: 1rem;
  font-weight: 700;
  color: #9aa3af;
}

.sem-status-row {
  padding: 22px 0;
  border-bottom: 1px solid #e7edf5;
  font-size: 1rem;
  color: #1f2430;
}

.sem-status-head > div:nth-child(1),
.sem-status-row > div:nth-child(1) {
  width: 22%;
}

.sem-status-head > div:nth-child(2),
.sem-status-row > div:nth-child(2) {
  width: 14%;
}

.sem-status-head > div:nth-child(3),
.sem-status-row > div:nth-child(3) {
  width: 18%;
}

.sem-status-head > div:nth-child(4),
.sem-status-row > div:nth-child(4) {
  width: 14%;
}

.sem-status-head > div:nth-child(5),
.sem-status-row > div:nth-child(5) {
  width: 14%;
}

.sem-status-head > div:nth-child(6),
.sem-status-row > div:nth-child(6) {
  width: 18%;
  display: flex;
  justify-content: flex-end;
}

.sem-status-row > div:nth-child(1) {
  font-weight: 400;
  color: #273142;
  word-break: break-all;
}

.sem-status-row > div:nth-child(3) {
  font-weight: 600;
}

.sem-status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 108px;
  height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
}

.sem-status-badge.sem-status-jeobsuwaryo,
.sem-status-badge.sem-status-접수완료 {
  background: #eef2f6;
  color: #687385;
}

.sem-status-badge.sem-status-ibgeumjung,
.sem-status-badge.sem-status-입금중 {
  background: #dff0c7;
  color: #5f7f2a;
}

.sem-status-badge.sem-status-wanlyo,
.sem-status-badge.sem-status-완료 {
  background: #e7f0ff;
  color: #2f6bff;
}

.sem-status-badge.sem-status-cheoribulga,
.sem-status-badge.sem-status-처리불가 {
  background: #efefef;
  color: #8a8a8a;
}

.sem-status-empty {
  padding: 50px 0;
  text-align: center;
  color: #8a93a1;
  font-size: 1rem;
}

@media (max-width: 1024px) {
  .sem-status-head {
    display: none;
  }

  .sem-status-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0;
  }

  .sem-status-row > div {
    width: 100% !important;
    justify-content: flex-start !important;
  }
}
/* ===== status board override ===== */

.sem-status-board-table {
  width: 100%;
  margin-top: 14px;
}

.sem-status-head,
.sem-status-row {
  display: flex;
  align-items: center;
}

.sem-status-head {
  padding: 0 0 18px;
  border-bottom: 1px solid #dfe6f0;
  font-size: 1rem;
  font-weight: 700;
  color: #9aa3af;
}

.sem-status-row {
  padding: 22px 0;
  border-bottom: 1px solid #e7edf5;
  font-size: 1rem;
  color: #1f2430;
}

.sem-status-head > div:nth-child(1),
.sem-status-row > div:nth-child(1) {
  width: 24%;
}

.sem-status-head > div:nth-child(2),
.sem-status-row > div:nth-child(2) {
  width: 14%;
}

.sem-status-head > div:nth-child(3),
.sem-status-row > div:nth-child(3) {
  width: 16%;
}

.sem-status-head > div:nth-child(4),
.sem-status-row > div:nth-child(4) {
  width: 12%;
}

.sem-status-head > div:nth-child(5),
.sem-status-row > div:nth-child(5) {
  width: 14%;
}

.sem-status-head > div:nth-child(6),
.sem-status-row > div:nth-child(6) {
  width: 20%;
  display: flex;
  justify-content: flex-end;
}

.sem-status-order {
  font-weight: 700;
  color: #273142;
  word-break: break-all;
}

.sem-status-content {
  font-weight: 700;
  color: #273142;
}

.sem-status-state-cell {
  display: flex;
  justify-content: flex-end;
}

.sem-status-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
}

.sem-status-badge.sem-status-jeobsuwaryo,
.sem-status-badge.sem-status-접수완료 {
  background: #eef2f6;
  color: #687385;
}

.sem-status-badge.sem-status-ibgeumjung,
.sem-status-badge.sem-status-입금중 {
  background: #dff0c7;
  color: #5f7f2a;
}

.sem-status-badge.sem-status-wanlyo,
.sem-status-badge.sem-status-완료 {
  background: #e7f0ff;
  color: #2f6bff;
}

.sem-status-badge.sem-status-cheoribulga,
.sem-status-badge.sem-status-처리불가 {
  background: #efefef;
  color: #8a8a8a;
}

.sem-status-empty {
  padding: 50px 0;
  text-align: center;
  color: #8a93a1;
  font-size: 1rem;
}

@media (max-width: 1024px) {
  .sem-status-head {
    display: none;
  }

  .sem-status-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0;
  }

  .sem-status-row > div {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .sem-status-state-cell {
    justify-content: flex-start;
  }
}
/* ===== status board final override ===== */

.sem-status-board-table {
  width: 100%;
  margin-top: 14px;
}

.sem-status-head,
.sem-status-row {
  display: flex;
  align-items: center;
}

.sem-status-head {
  padding: 0 0 18px;
  border-bottom: 1px solid #dfe6f0;
  font-size: 1rem;
  font-weight: 700;
  color: #9aa3af;
}

.sem-status-row {
  padding: 22px 0;
  border-bottom: 1px solid #e7edf5;
  font-size: 1rem;
  color: #1f2430;
}

/* 순서: 주문번호 / 날짜 / 신청시간 / 고객명 / 신청내용 / 신청상태 */
.sem-status-head > div:nth-child(1),
.sem-status-row > div:nth-child(1) {
  width: 26%;
}

.sem-status-head > div:nth-child(2),
.sem-status-row > div:nth-child(2) {
  width: 12%;
}

.sem-status-head > div:nth-child(3),
.sem-status-row > div:nth-child(3) {
  width: 12%;
}

.sem-status-head > div:nth-child(4),
.sem-status-row > div:nth-child(4) {
  width: 10%;
}

.sem-status-head > div:nth-child(5),
.sem-status-row > div:nth-child(5) {
  width: 18%;
}

.sem-status-head > div:nth-child(6),
.sem-status-row > div:nth-child(6) {
  width: 22%;
  display: flex;
  justify-content: flex-end;
}

.sem-status-order {
  font-weight: 700;
  color: #273142;
  word-break: break-all;
}

.sem-status-content {
  font-weight: 700;
  color: #273142;
}

.sem-status-state-cell {
  display: flex;
  justify-content: flex-end;
}

.sem-status-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
}

.sem-status-badge.sem-status-jeobsuwaryo,
.sem-status-badge.sem-status-접수완료 {
  background: #eef2f6;
  color: #687385;
}

.sem-status-badge.sem-status-ibgeumjung,
.sem-status-badge.sem-status-입금중 {
  background: #dff0c7;
  color: #5f7f2a;
}

.sem-status-badge.sem-status-wanlyo,
.sem-status-badge.sem-status-완료 {
  background: #e7f0ff;
  color: #2f6bff;
}

.sem-status-badge.sem-status-cheoribulga,
.sem-status-badge.sem-status-처리불가 {
  background: #efefef;
  color: #8a8a8a;
}

.sem-status-empty {
  padding: 50px 0;
  text-align: center;
  color: #8a93a1;
  font-size: 1rem;
}

@media (max-width: 1024px) {
  .sem-status-head {
    display: none;
  }

  .sem-status-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0;
  }

  .sem-status-row > div {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .sem-status-state-cell {
    justify-content: flex-start;
  }
}


/* ===== status board final fix ===== */

.sem-status-board-wrap .sem-status-board-table {
  width: 100%;
  margin-top: 14px;
}

.sem-status-board-wrap .sem-status-head,
.sem-status-board-wrap .sem-status-row {
  display: flex;
  align-items: center;
}

.sem-status-board-wrap .sem-status-head {
  padding: 0 0 18px;
  border-bottom: 1px solid #dfe6f0;
  font-size: 1rem;
  font-weight: 700;
  color: #9aa3af;
}

.sem-status-board-wrap .sem-status-row {
  padding: 22px 0;
  border-bottom: 1px solid #e7edf5;
  font-size: 1rem;
  color: #1f2430;
}

/* 순서: 주문번호 / 날짜 / 신청시간 / 고객명 / 신청내용 / 신청상태 */
.sem-status-board-wrap .sem-status-head > div:nth-child(1),
.sem-status-board-wrap .sem-status-row > div:nth-child(1) {
  width: 24%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(2),
.sem-status-board-wrap .sem-status-row > div:nth-child(2) {
  width: 12%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(3),
.sem-status-board-wrap .sem-status-row > div:nth-child(3) {
  width: 12%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(4),
.sem-status-board-wrap .sem-status-row > div:nth-child(4) {
  width: 10%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(5),
.sem-status-board-wrap .sem-status-row > div:nth-child(5) {
  width: 18%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(6),
.sem-status-board-wrap .sem-status-row > div:nth-child(6) {
  width: 24%;
  display: flex;
  justify-content: flex-end;
}

.sem-status-board-wrap .sem-status-order {
  font-weight: 700;
  color: #273142;
  word-break: break-all;
}

.sem-status-board-wrap .sem-status-content {
  font-weight: 700;
  color: #273142;
}

.sem-status-board-wrap .sem-status-state-cell {
  display: flex;
  justify-content: flex-end;
}

.sem-status-board-wrap .sem-status-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 104px;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.sem-status-board-wrap .sem-status-badge.is-received {
  background: #eef2f6;
  color: #687385;
}

.sem-status-board-wrap .sem-status-badge.is-processing {
  background: #dff0c7;
  color: #5f7f2a;
}

.sem-status-board-wrap .sem-status-badge.is-complete {
  background: #e7f0ff;
  color: #2f6bff;
}

.sem-status-board-wrap .sem-status-badge.is-rejected {
  background: #efefef;
  color: #8a8a8a;
}

.sem-status-board-wrap .sem-status-badge.is-default {
  background: #f3f4f6;
  color: #6b7280;
}

.sem-status-board-wrap .sem-status-empty {
  padding: 50px 0;
  text-align: center;
  color: #8a93a1;
  font-size: 1rem;
}

@media (max-width: 1024px) {
  .sem-status-board-wrap .sem-status-head {
    display: none;
  }

  .sem-status-board-wrap .sem-status-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 18px 0;
  }

  .sem-status-board-wrap .sem-status-row > div {
    width: 100% !important;
    justify-content: flex-start !important;
  }

  .sem-status-board-wrap .sem-status-state-cell {
    justify-content: flex-start;
  }
}


.sem-status-board-wrap .sem-status-head,
.sem-status-board-wrap .sem-status-row {
  display: flex;
  align-items: center;
}

.sem-status-board-wrap .sem-status-head {
  padding: 0 14px 18px;
  border-bottom: 1px solid #dfe6f0;
  font-size: 1rem;
  font-weight: 700;
  color: #9aa3af;
}

.sem-status-board-wrap .sem-status-row {
  padding: 22px 14px;
  border-bottom: 1px solid #e7edf5;
  font-size: 1rem;
  color: #273142;
}

/* 순서: 주문번호 / 날짜 / 신청시간 / 고객명 / 신청내용 / 신청상태 */
.sem-status-board-wrap .sem-status-head > div:nth-child(1),
.sem-status-board-wrap .sem-status-row > div:nth-child(1) {
  width: 25%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(2),
.sem-status-board-wrap .sem-status-row > div:nth-child(2) {
  width: 12%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(3),
.sem-status-board-wrap .sem-status-row > div:nth-child(3) {
  width: 14%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(4),
.sem-status-board-wrap .sem-status-row > div:nth-child(4) {
  width: 10%;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(5),
.sem-status-board-wrap .sem-status-row > div:nth-child(5) {
  width: 17%;
  text-align: center;
  justify-content: center;
}

.sem-status-board-wrap .sem-status-head > div:nth-child(6),
.sem-status-board-wrap .sem-status-row > div:nth-child(6) {
  width: 22%;
  display: flex;
  justify-content: center;
}

/* 주문번호 */
.sem-status-board-wrap .sem-status-order {
  font-weight: 700;
  color: #273142;
  word-break: break-all;
}

/* 날짜 / 신청시간 / 고객명 / 신청내용 색상 통일 */
.sem-status-board-wrap .sem-status-row > div:nth-child(2),
.sem-status-board-wrap .sem-status-row > div:nth-child(3),
.sem-status-board-wrap .sem-status-row > div:nth-child(4),
.sem-status-board-wrap .sem-status-row > div:nth-child(5) {
  color: #273142;
  font-weight: 500;
}

/* 신청내용은 가운데 정렬 + 진한색 */
.sem-status-board-wrap .sem-status-content {
  font-weight: 600;
  color: #273142;
  text-align: center;
  width: 100%;
}

/* 상태칸 */
.sem-status-board-wrap .sem-status-state-cell {
  display: flex;
  justify-content: center;
}

/* 배지 */
.sem-status-board-wrap .sem-status-badge {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 110px;
  height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

.sem-status-board-wrap .sem-status-badge.is-received {
  background: #eef2f6;
  color: #687385;
}

.sem-status-board-wrap .sem-status-badge.is-processing {
  background: #dff0c7;
  color: #5f7f2a;
}

.sem-status-board-wrap .sem-status-badge.is-complete {
  background: #e7f0ff;
  color: #2f6bff;
}

.sem-status-board-wrap .sem-status-badge.is-rejected {
  background: #efefef;
  color: #8a8a8a;
}



/* ============================================================
   [Mobile Optimization] 
   1024px 이하 기기(태블릿, 모바일)에서 레이아웃 자동 전환
============================================================ */
@media (max-width: 1024px) {
  
  /* 1. 메인 레이아웃: 좌우 배치를 위아래 수직 배치로 변경 */
  .sem-layout {
    flex-direction: column !important;
    gap: 20px !important;
  }

  /* 2. 각 컬럼 너비 100% 확장 */
  .sem-col-left,
  .sem-col-right {
    width: 100% !important;
    max-width: 100% !important;
    flex: none !important;
  }

  /* 3. 내부 패널 여백 조정 (모바일에서 너무 벙벙하지 않게) */
  .sem-panel {
    padding: 24px 20px !important;
    border-radius: 24px !important;
  }

  /* 4. 핀번호 입력줄 간격 최적화 */
  .sem-pin-row {
    gap: 10px !important;
  }
  
  .sem-pin-no {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    font-size: 18px !important;
    border-radius: 12px !important;
  }

  /* 5. 하단 안내문구 줄바꿈 허용 */
  .sem-note-inline {
    white-space: normal !important;
    font-size: 13px !important;
    line-height: 1.6 !important;
    word-break: keep-all;
  }

  /* 6. 교환 신청하기 버튼: 모바일에서 꽉 차게 변경 */
  .sem-submit-wrap-left {
    display: block !important;
    text-align: center !important;
    margin-top: 24px !important;
  }

  .sem-submit-wrap-left .sem-submit-btn {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 54px !important;
    font-size: 17px !important;
  }
}

/* 480px 이하 초소형 모바일 보정 */
@media (max-width: 480px) {
  .sem-section-title h3 {
    font-size: 22px !important;
  }
  
  .sem-field input, 
  .sem-field select {
    height: 50px !important;
  }
}




/* 행(Row)을 카드 디자인으로 변경 */
.sem-status-row, .sem-lookup-row {
    background: #ffffff;
    border: 1px solid #ebeef3; /* 아주 연한 테두리 */
    border-radius: 16px;       /* 이미지처럼 둥글게 */
    margin-bottom: 12px;       /* 카드 사이 간격 */
    padding: 16px 24px !important;
    display: flex;
    align-items: center;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02); /* 은은한 그림자 */
    transition: transform 0.2s ease;
    border-bottom: none !important; /* 기존 밑줄 제거 */
}

.sem-status-row:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
}

/* 제목 행(Head) 디자인 - 배경 빼고 투명하게 */
.sem-status-head, .sem-lookup-head {
    background: transparent !important;
    border-bottom: none !important;
    padding: 0 24px 10px !important;
    color: #8892a0 !important;
    font-size: 14px !important;
}

/* 금액 강조 (빨간색) */
.sem-status-amount {
    color: #e63946; /* 이미지의 붉은 톤 */
    font-weight: 700;
    font-size: 1.1rem;
}

/* 배지(상태) 디자인 수정 */
.sem-status-badge {
    min-width: 90px !important;
    height: 34px !important;
    border-radius: 8px !important; /* 약간 각진 둥근모양 */
    font-size: 13px !important;
}

/* 입금완료 (초록색 톤) */
.is-complete, .sem-status-완료 {
    background: #f0f9f4 !important;
    color: #28a745 !important;
}

/* 처리중 (회색 톤) */
.is-processing, .sem-status-처리중 {
    background: #f8f9fa !important;
    color: #6c757d !important;
}

/* 모바일 대응: 카드가 이미 독립적이라 여백만 조정 */
@media (max-width: 1024px) {
    .sem-status-row, .sem-lookup-row {
        padding: 20px !important;
        gap: 8px !important;
    }
}




.sem-status-head, .sem-lookup-head {
    background: #dbe9fe !important; /* 아주 연하고 화사한 하늘색 */
    border: 1px solid #E0ECFF !important; /* 배경보다 살짝 진한 파란 테두리 */
    border-radius: 12px;
    padding: 14px 24px !important;
    margin-bottom: 20px !important;
}

.sem-status-head > div, .sem-lookup-head > div {
color: #2b2b2b !important;      /* 텍스트는 짙은 파란색 */
    font-size: 18px !important;
    font-weight: 600 !important;
}












.sem-status-badge {
    min-width: 96px !important;
    height: 36px !important;
    border-radius: 999px !important;
    font-size: 15px !important;
    font-weight: 500 !important; /* Bold 제거 (기본 두께) */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-width: 1px !important; /* 테두리 굵기 1px로 고정 */
    border-style: solid !important; /* 모든 테두리 실선으로 변경 */
    box-sizing: border-box;
    letter-spacing: -0.02em; /* 가독성을 위한 자간 조절 */
}

/* 1. 완료: 면 채우기 (이미지 느낌 유지) */
.sem-status-badge.is-complete,
.sem-status-badge.sem-status-완료,
.sem-status-badge.sem-status-입금완료 {
    background: #6183ff !important;
    border-color: #5172eb !important;
    color: #ffffff !important;
    box-shadow: 0 2px 6px rgba(97, 131, 255, 0.2);
    opacity: 1 !important;
}

/* 2. 접수완료 (연한 그레이 실선) */
.sem-status-badge.is-received,
.sem-status-badge.sem-status-접수완료 {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important; /* 실선 */
    color: #475569 !important;
}

/* 3. 입금중 (연한 그린 실선) */
.sem-status-badge.is-processing,
.sem-status-badge.sem-status-입금중 {
    background: #f0fdf4 !important;
    border-color: #86efac !important; /* 실선 */
    color: #166534 !important;
}

/* 4. 처리불가 (연한 레드 실선) */
.sem-status-badge.is-rejected,
.sem-status-badge.sem-status-처리불가 {
    background: #fff1f2 !important;
    border-color: #fecaca !important; /* 실선 */
    color: #991b1b !important;
}











/* ============================================================
   [Mobile Optimization] 1024px 이하 기기 전용
============================================================ */
/* ============================================================
   [Mobile Fix] 모바일 카드 레이아웃 수정
============================================================ */
/* ============================================================
   [Mobile Fix] 모바일 카드 레이아웃 텍스트 겹침 방지
============================================================ */
@media (max-width: 1024px) {
  /* 1. 헤더(제목줄) 숨김 */
  .sem-status-head,
  .sem-lookup-head {
    display: none !important;
  }

  /* 2. 각 행을 독립적인 카드로 변경 */
  .sem-status-row,
  .sem-lookup-row {
    display: block !important; /* Flex 대신 Block으로 안정화 */
    position: relative !important;
    padding: 20px !important;
    margin-bottom: 15px !important;
    background: #fff !important;
    border: 1px solid #ebeef3 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
  }

  /* 3. 주문번호 (가장 상단에 배치) */
  .sem-status-row > div:nth-child(1),
  .sem-lookup-row > div:nth-child(1) {
    width: calc(100% - 100px) !important; /* 뱃지 공간 제외 전체 */
    font-size: 17px !important;
    font-weight: 800 !important;
    color: #1f2430 !important;
    margin-bottom: 10px !important;
    display: block !important;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* 4. 날짜, 시간, 고객명 정보를 감싸는 컨테이너 처리 */
  /* (div들이 inline으로 겹치지 않게 block/flex 조절) */
  .sem-status-row > div:nth-child(2),
  .sem-status-row > div:nth-child(3),
  .sem-status-row > div:nth-child(4),
  .sem-status-row > div:nth-child(5),
  .sem-lookup-row > div:nth-child(2),
  .sem-lookup-row > div:nth-child(3),
  .sem-lookup-row > div:nth-child(4),
  .sem-lookup-row > div:nth-child(5) {
    display: inline-block !important; /* inline 대신 inline-block */
    vertical-align: middle !important;
    width: auto !important;
    font-size: 13px !important;
    color: #7d8794 !important;
    margin-right: 6px !important;
    padding: 0 !important;
  }

  /* 구분선 추가 (가독성 향상) */
  .sem-status-row > div:nth-child(2)::after,
  .sem-status-row > div:nth-child(3)::after {
    content: "|";
    margin-left: 6px;
    font-size: 10px;
    color: #e0e6ed;
    vertical-align: middle;
  }

  /* 5. 상태 뱃지 (우측 상단 고정) */
  .sem-status-row > div:last-child,
  .sem-status-state-cell,
  .sem-lookup-row > div:last-child {
    position: absolute !important;
    top: 18px !important;
    right: 18px !important;
    width: auto !important;
    margin: 0 !important;
    display: block !important;
  }

  .sem-status-badge {
    min-width: 80px !important;
    height: 32px !important;
    font-size: 13px !important;
    border-radius: 999px !important;
    padding: 0 12px !important;
  }

  /* 6. 신청내용이 길어질 경우 대비 */
  .sem-status-content {
    display: block !important;
    margin-top: 8px !important;
    padding-top: 8px !important;
    border-top: 1px dashed #f0f3f7 !important;
    width: 100% !important;
    text-align: left !important;
    color: #475569 !important;
  }
}


/* 1. 금액 하단에 생기는 정체불명의 선(Border/Underline) 강제 제거 */
.sem-status-row > div:nth-child(5),
.sem-status-amount {
    border-bottom: none !important;
    text-decoration: none !important;
    border-style: none !important;
}





@media (max-width: 1024px) {
  /* 1. 고객명(4번째) 뒤의 구분자를 세로선으로 변경 */
  .sem-status-row > div:nth-child(4)::after {
    content: "|" !important; /* 점(·)에서 세로선(|)으로 변경 */
    margin-left: 6px !important;
    margin-right: 6px !important;
    font-size: 10px !important; /* 선이 너무 길지 않게 크기 조절 */
    color: #e0e6ed !important;  /* 다른 구분선과 동일한 색상 */
    vertical-align: middle !important;
    display: inline-block !important;
    position: relative !important;
    top: -1px !important; /* 구분선 자체의 높이 미세 조정 */
  }

  /* 2. 금액(5번째) 위치 최종 보정 */
  .sem-status-row > div:nth-child(5) {
    display: inline-block !important;
    vertical-align: middle !important;

    /* 글자가 내려가 보인다면 아래 top 수치를 -1px ~ -2px로 조절하세요 */
    position: relative !important;
    
  }
}


@media (max-width: 1024px) {
  /* 1. 금액 앞의 세로선(|) 위치 고정 */
  .sem-status-row > div:nth-child(4)::after {
    vertical-align: baseline !important; /* 기준선을 글자 하단으로 */
    line-height: 1 !important;
  }

  /* 2. 금액(5번째 div) 위치를 뱃지 영향 받지 않게 수정 */
  .sem-status-row > div:nth-child(5) {
    display: inline-block !important;
    vertical-align: baseline !important; /* 뱃지가 아닌 앞의 글자 기준선에 맞춤 */
    position: relative !important;
   
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }

  /* 3. 우측 상태 뱃지 영역이 라인 높이에 영향을 주지 않도록 설정 */
  .sem-status-row > div:last-child,
  .sem-status-state-cell {
    margin: 0 !important;
    line-height: 0 !important; /* 뱃지가 줄 높이를 차지하지 않게 함 */
  }
}

@media (max-width: 1024px) {
  /* 1. 카드 행: 패딩과 하단 간격을 대폭 축소 */
  .sem-status-row,
  .sem-lookup-row {
    padding: 8px 16px !important; /* 상하 14px, 좌우 16px로 줄임 */
    margin-bottom: 8px !important;  /* 카드 사이 간격을 8px로 축소 */
  }

  /* 2. 주문번호: 하단 여백 줄임 */
  .sem-status-row > div:nth-child(1),
  .sem-lookup-row > div:nth-child(1) {
    margin-bottom: 4px !important; /* 10px에서 4px로 줄여 정보 밀착 */
    font-size: 16px !important;    /* 폰트도 살짝 조정하여 공간 확보 */
  }

  /* 3. 상세 정보 라인 (날짜~금액): 세로 정렬 미세 조정 */
  .sem-status-row > div:nth-child(2),
  .sem-status-row > div:nth-child(3),
  .sem-status-row > div:nth-child(4),
  .sem-status-row > div:nth-child(5) {
    font-size: 12px !important;    /* 텍스트 크기를 12px로 살짝 줄임 */
  }

  /* 4. 상태 뱃지: 카드 크기에 맞춰 위치 재조정 */
  .sem-status-row > div:last-child,
  .sem-status-state-cell,
  .sem-lookup-row > div:last-child {
    top: 14px !important;   /* 카드 패딩 줄어든 만큼 상단 위치 조정 */
    right: 16px !important; /* 카드 패딩 줄어든 만큼 우측 위치 조정 */
  }

  .sem-status-badge {
    min-width: 76px !important; /* 뱃지 가로폭 소폭 축소 */
    height: 28px !important;    /* 뱃지 높이를 줄여서 뚱뚱해 보이지 않게 함 */
    font-size: 12px !important;
  }
}


/* PC 화면 조회결과 테이블 비율 재조정 */
.sem-lookup-result .sem-lookup-head,
.sem-lookup-result .sem-lookup-row {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 18px 20px !important;
    gap: 10px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* 1. 신청번호 / 5. PIN 건수 / 7. 상태 (짧은 정보들) */
.sem-lookup-result .sem-lookup-head > div:nth-child(1),
.sem-lookup-result .sem-lookup-row > div:nth-child(1) {
    flex: 0.8 !important; 
    min-width: 120px !important;
    text-align: left !important;
     padding-left: 10px !important;
}



/*  5. PIN 건수 / 7. 상태 (짧은 정보들) */

.sem-lookup-result .sem-lookup-head > div:nth-child(5),
.sem-lookup-result .sem-lookup-row > div:nth-child(5),
.sem-lookup-result .sem-lookup-head > div:last-child,
.sem-lookup-result .sem-lookup-row > div:last-child {
    flex: 0.8 !important; 
    min-width: 90px !important;
    text-align: center !important;
}


/* 2. 신청일시 / 3. 완료일시 (공간 대폭 확대) */
.sem-lookup-result .sem-lookup-head > div:nth-child(2),
.sem-lookup-result .sem-lookup-row > div:nth-child(2),
.sem-lookup-result .sem-lookup-head > div:nth-child(3),
.sem-lookup-result .sem-lookup-row > div:nth-child(3) {
    flex: 1.8 !important; /* 공간을 1.8배로 더 과감하게 확대 */
    min-width: 160px !important; 
    white-space: nowrap !important; /* 글자 꺾임 절대 방지 */
    text-align: center !important;
}

/* 4. 은행/계좌 (공간 축소) */
.sem-lookup-result .sem-lookup-head > div:nth-child(4),
.sem-lookup-result .sem-lookup-row > div:nth-child(4) {
    flex: 1.0 !important; /* 여백이 많았으므로 비중을 낮춤 */
    min-width: 120px !important;
    text-align: center !important;
}

/* 6. PIN 번호 (여유 공간 유지) */
.sem-lookup-result .sem-lookup-head > div:nth-child(6),
.sem-lookup-result .sem-lookup-row > div:nth-child(6) {
    flex: 1.8 !important;
    text-align: center !important;
 
}

/* 기존 6번째(상태)를 7번째로 밀고 금액 컬럼 추가 */
.sem-lookup-result .sem-lookup-head > div:nth-child(6),
.sem-lookup-result .sem-lookup-row > div:nth-child(6) {
    flex: 1.2 !important;
    min-width: 100px !important;
    text-align: center !important;
}

.sem-lookup-result .sem-lookup-head > div:nth-child(7),
.sem-lookup-result .sem-lookup-row > div:nth-child(7) {
    flex: 0.8 !important;
    min-width: 90px !important;
    text-align: center !important;
}



@media (max-width: 1024px) {

  /* 헤더 숨김 */
  .sem-lookup-result .sem-lookup-head {
    display: none !important;
  }

  /* 카드 스타일 */
  .sem-lookup-result .sem-lookup-row {
    display: block !important;
    position: relative !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    border: 1px solid #ebeef3 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
    box-sizing: border-box !important;
  }

  /* 신청번호 - 상단 굵게 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(1) {
    display: block !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1f2430 !important;
    margin-bottom: 6px !important;
    width: calc(100% - 110px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 신청일시, 완료일시 - 인라인으로 나란히 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(2),
  .sem-lookup-result .sem-lookup-row > div:nth-child(3) {
    display: inline-block !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    width: auto !important;
    margin-right: 4px !important;
    white-space: nowrap !important;
    min-width: 0 !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(2)::after {
    content: "→" !important;
    margin: 0 4px !important;
    color: #c8d0da !important;
  }

  /* 은행/계좌 - 한 줄 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(4) {
    display: block !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    margin-top: 4px !important;
    width: 100% !important;
  }

  /* PIN 건수 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(5) {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1f2430 !important;
    margin-top: 4px !important;
    width: auto !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(5)::after {
    content: "|" !important;
    margin: 0 6px !important;
    color: #e0e6ed !important;
  }

  /* PIN 번호 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(6) {
    display: inline-block !important;
    font-size: 11px !important;
    color: #8892a0 !important;
    width: auto !important;
    word-break: break-all !important;
    vertical-align: middle !important;
  }

  /* 상태 뱃지 - 우측 상단 고정 */
  .sem-lookup-result .sem-lookup-row > div:last-child {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
  }

  .sem-lookup-result .sem-lookup-row .sem-status-badge {
    min-width: 76px !important;
    height: 30px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
}





@media (max-width: 1024px) {

  /* 헤더 숨김 */
  .sem-lookup-result .sem-lookup-head {
    display: none !important;
  }

  /* 카드 스타일 */
  .sem-lookup-result .sem-lookup-row {
    display: block !important;
    position: relative !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    border: 1px solid #ebeef3 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  /* 모든 div 기본 왼쪽 정렬 초기화 */
  .sem-lookup-result .sem-lookup-row > div {
    text-align: left !important;
    justify-content: flex-start !important;
  }

  /* 신청번호 - 상단 굵게 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(1) {
    display: block !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1f2430 !important;
    margin-bottom: 6px !important;
    width: calc(100% - 110px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 신청일시 → 완료일시 한 줄 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(2),
  .sem-lookup-result .sem-lookup-row > div:nth-child(3) {
    display: inline-block !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    width: auto !important;
    margin-right: 2px !important;
    white-space: nowrap !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(2)::after {
    content: "→" !important;
    margin: 0 4px !important;
    color: #c8d0da !important;
  }

  /* 은행/계좌 - 한 줄로 (은행명 + 계좌 나란히) */
  .sem-lookup-result .sem-lookup-row > div:nth-child(4) {
    display: block !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    margin-top: 4px !important;
    width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* 은행명과 계좌번호가 <br>로 나뉘어 있으므로 br 숨김 처리 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(4) br {
    display: none !important;
  }

  /* br 뒤 계좌번호 span을 인라인으로 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(4) .sem-muted {
    display: inline !important;
    margin-left: 6px !important;
    font-size: 12px !important;
  }

  /* PIN 건수 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(5) {
    display: inline-block !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1f2430 !important;
    margin-top: 4px !important;
    width: auto !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(5)::after {
    content: "|" !important;
    margin: 0 6px !important;
    color: #e0e6ed !important;
  }

  /* PIN 번호 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(6) {
    display: inline-block !important;
    font-size: 11px !important;
    color: #8892a0 !important;
    width: auto !important;
    word-break: break-all !important;
    vertical-align: middle !important;
  }

  /* 상태 뱃지 - 우측 상단 고정 */
  .sem-lookup-result .sem-lookup-row > div:last-child {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
  }

  .sem-lookup-result .sem-lookup-row .sem-status-badge {
    min-width: 76px !important;
    height: 30px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
}


@media (max-width: 1024px) {

  .sem-lookup-result .sem-lookup-head {
    display: none !important;
  }

  .sem-lookup-result .sem-lookup-row {
    display: block !important;
    position: relative !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    background: #fff !important;
    border: 1px solid #ebeef3 !important;
    border-radius: 16px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.03) !important;
    box-sizing: border-box !important;
    text-align: left !important;
  }

  /* 전체 초기화 */
  .sem-lookup-result .sem-lookup-row > div {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    min-width: 0 !important;
    flex: none !important;
  }

  /* ① 신청번호 - 1줄 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(1) {
    font-size: 16px !important;
    font-weight: 800 !important;
    color: #1f2430 !important;
    margin-bottom: 8px !important;
    width: calc(100% - 110px) !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* ② 신청일시 + ③ 완료일시 - 2줄 (같은 줄, 줄바꿈 후 독립) */
  .sem-lookup-result .sem-lookup-row > div:nth-child(2) {
    display: inline !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    white-space: nowrap !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(2)::before {
    content: "신청 " !important;
    color: #b0b8c1 !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(3) {
    display: inline !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    white-space: nowrap !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(3)::before {
    content: "  완료 " !important;
    color: #b0b8c1 !important;
  }

  /* 2줄 끝나고 줄바꿈용 빈 블록 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(3)::after {
    content: "" !important;
    display: block !important;
    margin-bottom: 6px !important;
  }

  /* ④ 은행/계좌 + 금액 - 3줄 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(4) {
    display: inline !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    white-space: nowrap !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(4) br {
    display: none !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(4) .sem-muted {
    display: inline !important;
    margin-left: 4px !important;
    font-size: 12px !important;
    color: #8892a0 !important;
  }

  /* ⑦ 금액 - 3줄 이어서 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(7) {
    display: inline !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1f2430 !important;
    white-space: nowrap !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(7)::before {
    content: "  |  " !important;
    color: #e0e6ed !important;
    font-weight: 400 !important;
  }

  /* 3줄 끝나고 줄바꿈 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(7)::after {
    content: "" !important;
    display: block !important;
    margin-bottom: 4px !important;
  }

  /* ⑤ PIN 건수 - 4줄 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(5) {
    display: inline !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    color: #1f2430 !important;
  }

  .sem-lookup-result .sem-lookup-row > div:nth-child(5)::after {
    content: "  |  " !important;
    color: #e0e6ed !important;
    font-weight: 400 !important;
  }

  /* ⑥ PIN 번호 - 4줄 이어서 */
  .sem-lookup-result .sem-lookup-row > div:nth-child(6) {
    display: inline !important;
    font-size: 12px !important;
    color: #8892a0 !important;
    word-break: break-all !important;
  }

  /* ⑧ 상태 뱃지 - 우측 상단 고정 */
  .sem-lookup-result .sem-lookup-row > div:last-child {
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: auto !important;
    display: block !important;
    margin: 0 !important;
  }

  .sem-lookup-result .sem-lookup-row .sem-status-badge {
    min-width: 76px !important;
    height: 30px !important;
    font-size: 12px !important;
    padding: 0 10px !important;
  }
}


/* PC: 모바일 카드 숨김 */
.sem-mob-card {
    display: none;
}

@media (max-width: 1024px) {

    /* PC 행 완전 숨김 */
    .sem-pc-row,
    .sem-lookup-result .sem-pc-row {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
    }

    .sem-lookup-result .sem-lookup-head {
        display: none !important;
    }

    /* 모바일 카드 표시 */
    .sem-mob-card {
        display: block;
        position: relative;
        padding: 14px 16px;
        margin-bottom: 10px;
        background: #fff;
        border: 1px solid #ebeef3;
        border-radius: 16px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.03);
        box-sizing: border-box;
    }

    /* 신청번호 + 뱃지 첫줄 */
    .sem-mob-card-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .sem-mob-no {
        font-size: 16px;
        font-weight: 800;
        color: #1f2430;
    }

    .sem-mob-card .sem-status-badge {
        min-width: 76px;
        height: 30px;
        font-size: 12px;
        padding: 0 10px;
        flex-shrink: 0;
    }

    /* 날짜줄 */
    .sem-mob-date {
        font-size: 12px;
        color: #8892a0;
        margin-bottom: 4px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .sem-mob-lbl {
        color: #b0b8c1;
        margin-right: 2px;
    }

    .sem-mob-arr {
        margin: 0 5px;
        color: #c8d0da;
    }

    /* 은행/금액줄 */
    .sem-mob-bank {
        font-size: 12px;
        color: #8892a0;
        margin-bottom: 4px;
    }

    .sem-mob-acc {
        margin-left: 4px;
    }

    .sem-mob-div {
        margin: 0 5px;
        color: #e0e6ed;
    }

    .sem-mob-amt {
        font-weight: 700;
        color: #1f2430;
    }

    /* PIN줄 */
    .sem-mob-pin {
        font-size: 12px;
        color: #8892a0;
    }

    .sem-mob-cnt {
        font-weight: 700;
        color: #1f2430;
    }

    .sem-mob-pins {
        word-break: break-all;
    }
}