@charset "UTF-8";
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.disNone {
  display: none;
}
.w-25p{
  width: 25%;
}
.w-auto{
  width: auto;
}

.w-112{
  width: 112px;
}
.w-152{
  width: 152px;
}
.w-132{
  width: 132px;
}
.w-122{
  width: 122px;
}
.w-124{
  width: 124px;
}
.w-164{
  width: 164px;
}
.w-144{
  width: 144px;
}
.w-124{
  width: 124px;
}
.w-340{
  width: 340px !important;
}
.table .td-content{
  font-size: 15px;
  color: #58616A;
}
.loader-overlay{
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 10px;
}

.loading-text {
  color: #fff;
  font-size: 18px;
  letter-spacing: 2px;
}

.loader {
  width: 60px;
  height: 60px;
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-top-color: #fff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to {
      transform: rotate(360deg);
  }
}

.container {
  width: 100%;
  max-width: 1410px;
  margin: 0 auto;
  padding: 0 0px;
}

.row {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.col {
  padding: 0 10px;
}
.col-1 {
  width: 8.3333333333%;
}
.col-2 {
  width: 16.6666666667%;
}
.col-3 {
  width: 25%;
}
.col-4 {
  width: 33.3333333333%;
}
.col-5 {
  width: 41.6666666667%;
}
.col-6 {
  width: 50%;
}
.col-7 {
  width: 58.3333333333%;
}
.col-8 {
  width: 66.6666666667%;
}
.col-9 {
  width: 75%;
}
.col-10 {
  width: 83.3333333333%;
}
.col-11 {
  width: 91.6666666667%;
}
.col-12 {
  width: 100%;
}

.text-xs {
  font-size: var(--font-size-xs);
}

.text-sm {
  font-size: var(--font-size-sm);
}

.text-base {
  font-size: var(--font-size-base);
}

.text-lg {
  font-size: var(--font-size-lg);
}

.text-xl {
  font-size: var(--font-size-xl);
}

.text-2xl {
  font-size: var(--font-size-2xl);
}

.text-3xl {
  font-size: var(--font-size-3xl);
}

.text-4xl {
  font-size: var(--font-size-4xl);
}

.font-light {
  font-weight: var(--font-weight-light);
}

.font-normal {
  font-weight: var(--font-weight-normal);
}

.font-medium {
  font-weight: var(--font-weight-medium);
}

.font-semibold {
  font-weight: var(--font-weight-semibold);
}

.font-bold {
  font-weight: var(--font-weight-bold);
}

.leading-tight {
  line-height: var(--line-height-tight);
}

.leading-normal {
  line-height: var(--line-height-normal);
}

.leading-relaxed {
  line-height: var(--line-height-relaxed);
}

.font-base {
  font-family: var(--font-family-base);
}

.font-heading {
  font-family: var(--font-family-heading);
}

.font-mono {
  font-family: var(--font-family-mono);
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.highlight-nm{
  color: var(--color-brand-primary);
  font-weight: 700;
}

.text-justify {
  text-align: justify;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.normal-case {
  text-transform: none;
}

.underline {
  text-decoration: underline;
}

.line-through {
  text-decoration: line-through;
}

.no-underline {
  text-decoration: none;
}

.whitespace-normal {
  white-space: normal;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.whitespace-pre {
  white-space: pre;
}

.whitespace-pre-line {
  white-space: pre-line;
}

.whitespace-pre-wrap {
  white-space: pre-wrap;
}

.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-ellipsis {
  text-overflow: ellipsis;
}

.text-clip {
  text-overflow: clip;
}

.break-normal {
  word-break: normal;
  overflow-wrap: normal;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.text-primary {
  color: var(--color-primary);
}

.text-primary-light {
  color: var(--color-primary-light);
}

.text-primary-dark {
  color: var(--color-primary-dark);
}

.text-primary-darker {
  color: var(--color-primary-darker);
}

.text-secondary {
  color: var(--color-secondary);
}

.text-secondary-light {
  color: var(--color-secondary-light);
}

.text-secondary-dark {
  color: var(--color-secondary-dark);
}

.text-white {
  color: var(--color-white);
}

.text-black {
  color: var(--color-black);
}

.text-gray-50 {
  color: var(--color-gray-50);
}

.text-gray-100 {
  color: var(--color-gray-100);
}

.text-gray-200 {
  color: var(--color-gray-200);
}

.text-gray-300 {
  color: var(--color-gray-300);
}

.text-gray-400 {
  color: var(--color-gray-400);
}

.text-gray-500 {
  color: var(--color-gray-500);
}

.text-gray-600 {
  color: var(--color-gray-600);
}

.text-gray-700 {
  color: var(--color-gray-700);
}

.text-gray-800 {
  color: var(--color-gray-800);
}

.text-gray-900 {
  color: var(--color-gray-900);
}

.text-success {
  color: var(--color-success);
}

.text-success-light {
  color: var(--color-success-light);
}

.text-success-dark {
  color: var(--color-success-dark);
}

.text-danger {
  color: var(--color-danger);
}

.text-danger-light {
  color: var(--color-danger-light);
}

.text-danger-dark {
  color: var(--color-danger-dark);
}

.text-warning {
  color: var(--color-warning);
}

.text-warning-light {
  color: var(--color-warning-light);
}

.text-warning-dark {
  color: var(--color-warning-dark);
}

.text-info {
  color: var(--color-info);
}

.text-info-light {
  color: var(--color-info-light);
}

.text-info-dark {
  color: var(--color-info-dark);
}

.bg-primary {
  background-color: var(--color-primary);
}

.bg-primary-light {
  background-color: var(--color-primary-light);
}

.bg-primary-dark {
  background-color: var(--color-primary-dark);
}

.bg-primary-darker {
  background-color: var(--color-primary-darker);
}

.bg-secondary {
  background-color: var(--color-secondary);
}

.bg-secondary-light {
  background-color: var(--color-secondary-light);
}

.bg-secondary-dark {
  background-color: var(--color-secondary-dark);
}

.bg-white {
  background-color: var(--color-white);
}

.bg-black {
  background-color: var(--color-black);
}

.bg-gray-50 {
  background-color: var(--color-gray-50);
}

.bg-gray-100 {
  background-color: var(--color-gray-100);
}

.bg-gray-200 {
  background-color: var(--color-gray-200);
}

.bg-gray-300 {
  background-color: var(--color-gray-300);
}

.bg-gray-400 {
  background-color: var(--color-gray-400);
}

.bg-gray-500 {
  background-color: var(--color-gray-500);
}

.bg-gray-600 {
  background-color: var(--color-gray-600);
}

.bg-gray-700 {
  background-color: var(--color-gray-700);
}

.bg-gray-800 {
  background-color: var(--color-gray-800);
}

.bg-gray-900 {
  background-color: var(--color-gray-900);
}

.bg-success {
  background-color: var(--color-success);
}

.bg-success-light {
  background-color: var(--color-success-light);
}

.bg-success-dark {
  background-color: var(--color-success-dark);
}

.bg-danger {
  background-color: var(--color-danger);
}

.bg-danger-light {
  background-color: var(--color-danger-light);
}

.bg-danger-dark {
  background-color: var(--color-danger-dark);
}

.bg-warning {
  background-color: var(--color-warning);
}

.bg-warning-light {
  background-color: var(--color-warning-light);
}

.bg-warning-dark {
  background-color: var(--color-warning-dark);
}

.bg-info {
  background-color: var(--color-info);
}

.bg-info-light {
  background-color: var(--color-info-light);
}

.bg-info-dark {
  background-color: var(--color-info-dark);
}

.bg-transparent {
  background-color: transparent;
}

.border-primary {
  border-color: var(--color-primary);
}

.border-primary-light {
  border-color: var(--color-primary-light);
}

.border-primary-dark {
  border-color: var(--color-primary-dark);
}

.border-secondary {
  border-color: var(--color-secondary);
}

.border-secondary-light {
  border-color: var(--color-secondary-light);
}

.border-secondary-dark {
  border-color: var(--color-secondary-dark);
}

.border-white {
  border-color: var(--color-white);
}

.border-black {
  border-color: var(--color-black);
}

.border-gray-50 {
  border-color: var(--color-gray-50);
}

.border-gray-100 {
  border-color: var(--color-gray-100);
}

.border-gray-200 {
  border-color: var(--color-gray-200);
}

.border-gray-300 {
  border-color: var(--color-gray-300);
}

.border-gray-400 {
  border-color: var(--color-gray-400);
}

.border-gray-500 {
  border-color: var(--color-gray-500);
}

.border-gray-600 {
  border-color: var(--color-gray-600);
}

.border-gray-700 {
  border-color: var(--color-gray-700);
}

.border-gray-800 {
  border-color: var(--color-gray-800);
}

.border-gray-900 {
  border-color: var(--color-gray-900);
}

.border-success {
  border-color: var(--color-success);
}

.border-danger {
  border-color: var(--color-danger);
}

.border-warning {
  border-color: var(--color-warning);
}

.border-info {
  border-color: var(--color-info);
}

.border-transparent {
  border-color: transparent;
}

.opacity-0 {
  opacity: 0;
}

.opacity-25 {
  opacity: 0.25;
}

.opacity-50 {
  opacity: 0.5;
}

.opacity-75 {
  opacity: 0.75;
}

.opacity-100 {
  opacity: 1;
}

.tracking-tighter {
  letter-spacing: -0.05em;
}

.tracking-tight {
  letter-spacing: -0.025em;
}

.tracking-normal {
  letter-spacing: 0;
}

.tracking-wide {
  letter-spacing: 0.025em;
}

.tracking-wider {
  letter-spacing: 0.05em;
}

.tracking-widest {
  letter-spacing: 0.1em;
}

.indent-0 {
  text-indent: 0;
}

.indent-xs {
  text-indent: var(--spacing-xs);
}

.indent-sm {
  text-indent: var(--spacing-sm);
}

.indent-md {
  text-indent: var(--spacing-md);
}

.indent-lg {
  text-indent: var(--spacing-lg);
}

.align-baseline {
  vertical-align: baseline;
}

.align-top {
  vertical-align: top;
}

.align-middle {
  vertical-align: middle;
}

.align-bottom {
  vertical-align: bottom;
}

.align-text-top {
  vertical-align: text-top;
}

.align-text-bottom {
  vertical-align: text-bottom;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-grid {
  display: grid !important;
}

.flex-row {
  flex-direction: row !important;
}

.flex-column {
  flex-direction: column !important;
}

.flex-wrap {
  flex-wrap: wrap !important;
}

.flex-nowrap {
  flex-wrap: nowrap !important;
}

.justify-start {
  justify-content: flex-start !important;
}

.justify-end {
  justify-content: flex-end !important;
}

.justify-center {
  justify-content: center !important;
}

.justify-between {
  justify-content: space-between !important;
}

.justify-around {
  justify-content: space-around !important;
}

.align-start {
  align-items: flex-start !important;
}

.align-end {
  align-items: flex-end !important;
}

.align-center {
  align-items: center !important;
}

.align-stretch {
  align-items: stretch !important;
}

.flex-1 {
  flex: 1 !important;
}

.flex-auto {
  flex: auto !important;
}

.flex-none {
  flex: none !important;
}

.gap-xs {
  gap: var(--spacing-xs) !important;
}

.gap-sm {
  gap: var(--spacing-sm) !important;
}

.gap-md {
  gap: var(--spacing-md) !important;
}

.gap-lg {
  gap: var(--spacing-lg) !important;
}

.gap-xl {
  gap: var(--spacing-xl) !important;
}

.m-0 {
  margin: 0 !important;
}

.m-auto {
  margin: auto !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.mt-xs {
  margin-top: var(--spacing-xs) !important;
}

.mt-sm {
  margin-top: var(--spacing-sm) !important;
}

.mt-md {
  margin-top: var(--spacing-md) !important;
}

.mt-lg {
  margin-top: var(--spacing-lg) !important;
}

.mt-xl {
  margin-top: var(--spacing-xl) !important;
}

.mr-xs {
  margin-right: var(--spacing-xs) !important;
}

.mr-sm {
  margin-right: var(--spacing-sm) !important;
}

.mr-md {
  margin-right: var(--spacing-md) !important;
}

.mr-lg {
  margin-right: var(--spacing-lg) !important;
}

.mr-xl {
  margin-right: var(--spacing-xl) !important;
}

.mb-xs {
  margin-bottom: var(--spacing-xs) !important;
}

.mb-sm {
  margin-bottom: var(--spacing-sm) !important;
}

.mb-md {
  margin-bottom: var(--spacing-md) !important;
}

.mb-lg {
  margin-bottom: var(--spacing-lg) !important;
}

.mb-xl {
  margin-bottom: var(--spacing-xl) !important;
}

.ml-xs {
  margin-left: var(--spacing-xs) !important;
}

.ml-sm {
  margin-left: var(--spacing-sm) !important;
}

.ml-md {
  margin-left: var(--spacing-md) !important;
}

.ml-lg {
  margin-left: var(--spacing-lg) !important;
}

.ml-xl {
  margin-left: var(--spacing-xl) !important;
}

.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}

.text-left {
  text-align: left !important;
}

.text-center {
  text-align: center !important;
}

.text-right {
  text-align: right !important;
}

.text-justify {
  text-align: justify !important;
}

.text-uppercase {
  text-transform: uppercase !important;
}

.text-lowercase {
  text-transform: lowercase !important;
}

.text-capitalize {
  text-transform: capitalize !important;
}

.font-light {
  font-weight: var(--font-weight-light) !important;
}

.font-normal {
  font-weight: var(--font-weight-normal) !important;
}

.font-medium {
  font-weight: var(--font-weight-medium) !important;
}

.font-semibold {
  font-weight: var(--font-weight-semibold) !important;
}

.font-bold {
  font-weight: var(--font-weight-bold) !important;
}

.text-xs {
  font-size: var(--font-size-xs) !important;
}

.text-sm {
  font-size: var(--font-size-sm) !important;
}

.text-base {
  font-size: var(--font-size-base) !important;
}

.text-lg {
  font-size: var(--font-size-lg) !important;
}

.text-xl {
  font-size: var(--font-size-xl) !important;
}

.text-2xl {
  font-size: var(--font-size-2xl) !important;
}

.text-3xl {
  font-size: var(--font-size-3xl) !important;
}

.text-4xl {
  font-size: var(--font-size-4xl) !important;
}

.text-primary {
  color: var(--color-primary) !important;
}

.text-secondary {
  color: var(--color-secondary) !important;
}

.text-success {
  color: var(--color-success) !important;
}

.text-danger {
  color: var(--color-danger) !important;
}

.text-warning {
  color: var(--color-warning) !important;
}

.text-info {
  color: var(--color-info) !important;
}

.text-white {
  color: var(--color-white) !important;
}

.text-black {
  color: var(--color-black) !important;
}

.text-muted {
  color: var(--color-gray-500) !important;
}

.bg-primary {
  background-color: var(--color-primary) !important;
}

.bg-secondary {
  background-color: var(--color-secondary) !important;
}

.bg-success {
  background-color: var(--color-success) !important;
}

.bg-danger {
  background-color: var(--color-danger) !important;
}

.bg-warning {
  background-color: var(--color-warning) !important;
}

.bg-info {
  background-color: var(--color-info) !important;
}

.bg-white {
  background-color: var(--color-white) !important;
}

.bg-gray {
  background-color: var(--color-gray-100) !important;
}

.bg-transparent {
  background-color: transparent !important;
}

.border-0 {
  border: 0 !important;
}

.border {
  border: 1px solid var(--color-gray-200) !important;
}

.border-top {
  border-top: 1px solid var(--color-gray-200) !important;
}

.border-right {
  border-right: 1px solid var(--color-gray-200) !important;
}

.border-bottom {
  border-bottom: 1px solid var(--color-gray-200) !important;
}

.border-left {
  border-left: 1px solid var(--color-gray-200) !important;
}

.rounded-0 {
  border-radius: 0 !important;
}

.rounded-sm {
  border-radius: var(--radius-sm) !important;
}

.rounded {
  border-radius: var(--radius-md) !important;
}

.rounded-lg {
  border-radius: var(--radius-lg) !important;
}

.rounded-xl {
  border-radius: var(--radius-xl) !important;
}

.rounded-full {
  border-radius: var(--radius-full) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.shadow-sm {
  box-shadow: var(--shadow-sm) !important;
}

.shadow {
  box-shadow: var(--shadow-md) !important;
}

.shadow-lg {
  box-shadow: var(--shadow-lg) !important;
}

.shadow-xl {
  box-shadow: var(--shadow-xl) !important;
}

.position-static {
  position: static !important;
}

.position-relative {
  position: relative !important;
}

.position-absolute {
  position: absolute !important;
}

.position-fixed {
  position: fixed !important;
}

.position-sticky {
  position: sticky !important;
}

.overflow-auto {
  overflow: auto !important;
}

.overflow-hidden {
  overflow: hidden !important;
}

.overflow-visible {
  overflow: visible !important;
}

.overflow-scroll {
  overflow: scroll !important;
}

.cursor-pointer {
  cursor: pointer !important;
}

.cursor-default {
  cursor: default !important;
}

.cursor-not-allowed {
  cursor: not-allowed !important;
}

.select-none {
  user-select: none !important;
}

.select-text {
  user-select: text !important;
}

.select-all {
  user-select: all !important;
}

.text-truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-break {
  word-break: break-word !important;
}

.text-nowrap {
  white-space: nowrap !important;
}

.visible {
  visibility: visible !important;
}

.invisible {
  visibility: hidden !important;
}

.opacity-0 {
  opacity: 0 !important;
}

.opacity-25 {
  opacity: 0.25 !important;
}

.opacity-50 {
  opacity: 0.5 !important;
}

.opacity-75 {
  opacity: 0.75 !important;
}

.opacity-100 {
  opacity: 1 !important;
}

.z-0 {
  z-index: 0 !important;
}

.z-10 {
  z-index: 10 !important;
}

.z-20 {
  z-index: 20 !important;
}

.z-30 {
  z-index: 30 !important;
}

.z-40 {
  z-index: 40 !important;
}

.z-50 {
  z-index: 50 !important;
}

.fab-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.fab-actions > div {
  display: flex;
  align-items: center;
  gap: 0 8px;
}

.w-500{
  width: 500px !important;
}


.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--spacing-sm);
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-tight);
  text-align: center;
  white-space: nowrap;
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  cursor: pointer;
  transition: all var(--transition-fast);
  -webkit-user-select: none;
  user-select: none;
}
.btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.btn--icon-only {
  padding: var(--spacing-sm);
}
.btn--icon-only svg {
  margin: 0;
}
.btn svg {
  flex-shrink: 0;
  width: 1.6rem;
  height: 1.6rem;
}
.btn--xs svg {
  width: 1.2rem;
  height: 1.2rem;
}
.btn--sm svg {
  width: 1.4rem;
  height: 1.4rem;
}
.btn--lg svg {
  width: 1.8rem;
  height: 1.8rem;
}
.btn--xl svg {
  width: 2rem;
  height: 2rem;
}
.btn--rounded {
  border-radius: var(--radius-md);
}
.btn--rounded-full {
  border-radius: var(--radius-full);
}
.btn--square {
  border-radius: 0;
}
.btn--flat {
  background-color: transparent;
  border-color: transparent;
}
.btn--flat.btn--primary {
  color: #752FAE;
}
.btn--flat.btn--primary:hover {
  background-color: rgba(117, 47, 174, 0.1);
}
.btn--flat.btn--secondary {
  color: var(--color-secondary);
}
.btn--flat.btn--secondary:hover {
  background-color: rgba(var(--color-secondary-rgb), 0.1);
}
.btn--flat.btn--success {
  color: var(--color-success);
}
.btn--flat.btn--success:hover {
  background-color: rgba(var(--color-success-rgb), 0.1);
}
.btn--flat.btn--danger {
  color: var(--color-danger);
}
.btn--flat.btn--danger:hover {
  background-color: rgba(var(--color-danger-rgb), 0.1);
}
.btn--flat.btn--warning {
  color: var(--color-warning);
}
.btn--flat.btn--warning:hover {
  background-color: rgba(var(--color-warning-rgb), 0.1);
}
.btn--ghost {
  background-color: transparent;
  border-color: transparent;
}
.btn--ghost.btn--primary {
  color: #752FAE;
}
.btn--ghost.btn--primary:hover {
  background-color: rgba(117, 47, 174, 0.05);
}
.btn--ghost.btn--secondary {
  color: var(--color-secondary);
}
.btn--ghost.btn--secondary:hover {
  background-color: rgba(var(--color-secondary-rgb), 0.05);
}
.btn--ghost.btn--success {
  color: var(--color-success);
}
.btn--ghost.btn--success:hover {
  background-color: rgba(var(--color-success-rgb), 0.05);
}
.btn--ghost.btn--danger {
  color: var(--color-danger);
}
.btn--ghost.btn--danger:hover {
  background-color: rgba(var(--color-danger-rgb), 0.05);
}
.btn--ghost.btn--warning {
  color: var(--color-warning);
}
.btn--ghost.btn--warning:hover {
  background-color: rgba(var(--color-warning-rgb), 0.05);
}

.btn--xs {
  padding: 0.25rem 0.625rem;
  font-size: var(--font-size-xs);
}

.btn--sm {
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
}

.btn--md {
  padding: 0;
  font-size: var(--font-size-base);
  min-width: 75px;
  height: 48px;
}

.btn--lg {
  padding: 0.75rem 1.5rem;
  font-size: var(--font-size-lg);
}

.btn--xl {
  padding: var(--spacing-md) 2rem;
  font-size: var(--font-size-xl);
}

.btn--primary {
  color: #fff;
  background-color: #752FAE;
  border-color: #752FAE;
}
.btn--primary:hover {
  background-color: #752FAE;
  border-color: #752FAE;
}
.btn--primary:active {
  background-color: #752FAE;
}

.btn--secondary {
  color: var(--color-white);
  background-color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn--secondary:hover {
  background-color: var(--color-secondary-dark);
  border-color: var(--color-secondary-dark);
}

.btn--success {
  color: var(--color-white);
  background-color: var(--color-success);
  border-color: var(--color-success);
}
.btn--success:hover {
  background-color: var(--color-success-dark);
}

.btn--danger {
  color: var(--color-white);
  background-color: var(--color-danger);
  border-color: var(--color-danger);
}
.btn--danger:hover {
  background-color: var(--color-danger-dark);
}

.btn--warning {
  color: var(--color-white);
  background-color: var(--color-warning);
  border-color: var(--color-warning);
}
.btn--warning:hover {
  background-color: var(--color-warning-dark);
}

.btn--outline {
  background-color: transparent;
  border-radius: 6px;
}
.btn--outline.btn--primary {
  color: #4A1278;
  border-color: #6719A6;
  background-color: #F8F2FD;
}
.btn--outline.btn--tertiary {
  border-color: #58616A;
  color: #1E2124;
  background-color: #fff;
}
.btn--outline.btn--secondary {
  color: var(--color-secondary);
  border-color: var(--color-secondary);
}
.btn--outline.btn--secondary:hover {
  color: var(--color-white);
  background-color: var(--color-secondary);
}
.btn--outline.btn--success {
  color: var(--color-success);
  border-color: var(--color-success);
}
.btn--outline.btn--success:hover {
  color: var(--color-white);
  background-color: var(--color-success);
}
.btn--outline.btn--danger {
  color: var(--color-danger);
  border-color: var(--color-danger);
}
.btn--outline.btn--danger:hover {
  color: var(--color-white);
  background-color: var(--color-danger);
}

.btn--block {
  display: flex;
  width: 100%;
}

.badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-family-base);
  font-weight: var(--font-weight-medium);
  border-radius: var(--radius-full);
  transition: var(--transition-fast);
  white-space: nowrap;
  vertical-align: middle;
  height: 2.4rem;
  padding: 0 1rem;
  font-size: 1.4rem;
  line-height: 1;
}
.badge--sm {
  height: 2rem;
  padding: 0 0.8rem;
  font-size: 1.2rem;
  line-height: 1;
}
.badge--md {
  height: 2.4rem;
  padding: 0 1rem;
  font-size: 1.4rem;
  line-height: 1;
}
.badge--lg {
  height: 3.2rem;
  padding: 0 1.6rem;
  line-height: 1;
}
.badge--filled.badge--primary {
  background-color: var(--color-brand-primary);
  color: var(--color-white);
  border: 1px solid transparent;
}
.badge--filled.badge--primary:hover {
  opacity: 0.9;
}
.badge--filled.badge--secondary {
  background-color: #F4F5F6;
  color: #8A949E;
  border: 1px solid transparent;
}
.badge--filled.badge--secondary:hover {
  opacity: 0.9;
}
.badge--filled.badge--success {
  background-color: #DBF5E2;
  color: #299347;
  border: 1px solid transparent;
}
.badge--filled.badge--success:hover {
  opacity: 0.9;
}
.badge--filled.badge--danger {
  background-color: #FCDFD9;
  color: #DE3412;
  border: 1px solid transparent;
}
.badge--filled.badge--danger:hover {
  opacity: 0.9;
}
.badge--filled.badge--warning {
  background-color: #FFF8F5;
  color: #FE8052;
  border: 1px solid transparent;
}
.badge--filled.badge--warning:hover {
  opacity: 0.9;
}
.badge--filled.badge--info {
  background-color: var(--color-info);
  color: var(--color-white);
  border: 1px solid transparent;
}
.badge--filled.badge--info:hover {
  opacity: 0.9;
}
.badge--filled.badge--dark {
  background-color: var(--color-gray-900);
  color: var(--color-white);
  border: 1px solid transparent;
}
.badge--filled.badge--dark:hover {
  opacity: 0.9;
}
.badge--filled.badge--light {
  background-color: var(--color-gray-200);
  color: var(--color-gray-900);
  border: 1px solid transparent;
}
.badge--filled.badge--light:hover {
  opacity: 0.9;
}
.badge--filled.badge--light-green {
  background-color: #EDF8F8;
  color: #0B9B9B;
  border: 1px solid transparent;
}
.badge--filled.badge--light-green:hover {
  opacity: 0.9;
}
.badge--filled.badge--purple {
  background-color: #F5EEF7;
  color: #6B0080;
  border: 1px solid transparent;
}
.badge--filled.badge--purple:hover {
  opacity: 0.9;
}
.badge--filled.badge--olive {
  background-color: #F8F8ED;
  color: #7A7A00;
  border: 1px solid transparent;
}
.badge--filled.badge--olive:hover {
  opacity: 0.9;
}
.badge--filled.badge--sky {
  background-color: #EBF5FF;
  color: #256EF4;
  border: 1px solid transparent;
}
.badge--filled.badge--sky:hover {
  opacity: 0.9;
}
.badge--filled.badge--mustard {
  background-color: #F7FFEA;
  color: #476912;
  border: 1px solid transparent;
}
.badge--filled.badge--mustard:hover {
  opacity: 0.9;
}
.badge--outline.badge--primary {
  background-color: transparent;
  color: #6719A6;
  border: 1px solid #E0C5F6;
}
.badge--outline.badge--primary:hover {
  background-color: rgba(224, 197, 246, 0.05);
}
.badge--outline.badge--secondary {
  background-color: transparent;
  color: var(--color-gray-700);
  border: 1px solid var(--color-gray-500);
}
.badge--outline.badge--secondary:hover {
  background-color: rgba(var(--color-gray-500), 0.05);
}
.badge--outline.badge--success {
  background-color: transparent;
  color: var(--color-success-dark);
  border: 1px solid var(--color-success);
}
.badge--outline.badge--success:hover {
  background-color: rgba(var(--color-success), 0.05);
}
.badge--outline.badge--danger {
  background-color: transparent;
  color: var(--color-danger-dark);
  border: 1px solid var(--color-danger);
}
.badge--outline.badge--danger:hover {
  background-color: rgba(var(--color-danger), 0.05);
}
.badge--outline.badge--warning {
  background-color: transparent;
  color: var(--color-warning-dark);
  border: 1px solid var(--color-warning);
}
.badge--outline.badge--warning:hover {
  background-color: rgba(var(--color-warning), 0.05);
}
.badge--outline.badge--info {
  background-color: transparent;
  color: var(--color-info-dark);
  border: 1px solid var(--color-info);
}
.badge--outline.badge--info:hover {
  background-color: rgba(var(--color-info), 0.05);
}
.badge--outline.badge--dark {
  background-color: transparent;
  color: var(--color-gray-900);
  border: 1px solid var(--color-gray-900);
}
.badge--outline.badge--dark:hover {
  background-color: rgba(var(--color-gray-900), 0.05);
}
.badge--outline.badge--light {
  background-color: transparent;
  color: var(--color-gray-700);
  border: 1px solid var(--color-gray-400);
}
.badge--outline.badge--light:hover {
  background-color: rgba(var(--color-gray-400), 0.05);
}
.badge--notice {
  background-color: #FF004E;
  color: #fff;
  border: 1px solid transparent;
}
.badge--notice:hover {
  opacity: 0.9;
}
.badge--rounded {
  border-radius: 100px;
}
.badge--square {
  border-radius: var(--radius-sm);
}

.badge-group {
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-sm);
  flex-wrap: wrap;
}
.badge-group--gap-xs {
  gap: var(--spacing-xs);
}
.badge-group--gap-sm {
  gap: var(--spacing-sm);
}
.badge-group--gap-md {
  gap: var(--spacing-md);
}
.badge-group--gap-lg {
  gap: var(--spacing-lg);
}
.badge-group--start {
  justify-content: flex-start;
}
.badge-group--center {
  justify-content: center;
}
.badge-group--end {
  justify-content: flex-end;
}
.badge-group--v-start {
  align-items: flex-start;
}
.badge-group--v-center {
  align-items: center;
}
.badge-group--v-end {
  align-items: flex-end;
}

.badge__icon {
  display: inline-flex;
  align-items: center;
  margin-right: 0.4rem;
}
.badge__icon--right {
  margin-right: 0;
  margin-left: 0.4rem;
}
.badge__icon svg {
  width: 1.4rem;
  height: 1.4rem;
}
.badge--sm .badge__icon svg {
  width: 1.2rem;
  height: 1.2rem;
}
.badge--lg .badge__icon svg {
  width: 1.6rem;
  height: 1.6rem;
}

.badge--removable {
  padding-right: 0.6rem;
}
.badge__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-left: 0.4rem;
  padding: 0.2rem;
  border-radius: 50%;
  cursor: pointer;
  transition: var(--transition-fast);
}
.badge__close:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.badge__close svg {
  width: 1.2rem;
  height: 1.2rem;
}
.badge--sm.badge--removable {
  padding-right: 0.4rem;
}
.badge--lg.badge--removable {
  padding-right: 0.8rem;
}

.badge-round-danger {
  display: flex;
  width: 40px;
  height: 40px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border-radius: 20px;
  border: 1px solid #FFB7CE;
  background:#FFE5ED url('../../images/portal/icon-danger.png') no-repeat center center;
}


.input, .textarea, .select {
  display: block;
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-base);
  height: 48px;
  color: var(--color-gray-900);
  background-color: #fff;
  border: 1px solid #58616A;
  border-radius: var(--radius-md);
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);
}
.input::placeholder, .textarea::placeholder, .select::placeholder {
  color: #8A949E;
}
.input:focus, .textarea:focus, .select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.input[readonly], [readonly].textarea, [readonly].select, .input[readonly]:focus, .input:disabled, .textarea:disabled, .select:disabled {
  background-color: var(--color-gray-100);
  cursor: not-allowed;
  opacity: 0.6;
}
.input--success {
  border-color: var(--color-success);
}
.input--success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.input--warning {
  border-color: var(--color-warning);
}
.input--warning:focus {
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.1);
}
.input--error {
  border-color: var(--color-danger);
}
.input--error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.input--readonly {
  background-color: var(--color-gray-50);
  color: var(--color-gray-600);
  cursor: default;
}

.input--xs {
  padding: 0.25rem 0.5rem;
  font-size: var(--font-size-xs);
}

.input--sm {
  padding: 0.375rem 0.75rem;
  font-size: var(--font-size-sm);
}

.input--md {
  padding: 8.5px 12px;
  font-size: var(--font-size-sm);
}

.input--lg {
  padding: 0.75rem 1.25rem;
  font-size: var(--font-size-lg);
}

.input--xl {
  padding: 1rem 1.5rem;
  font-size: var(--font-size-xl);
}

.select {
  appearance: none;
  cursor: pointer;
  background-image: url("../../images/portal/icon-select-arrow.svg");
  background-position: right 16px center;
  background-repeat: no-repeat;
  padding-right: 2.8rem;
}

.textarea {
  resize: vertical;
  min-height: 120px;
  line-height: 1.5;
}

.checkbox,
.radio {
  width: 18px;
  height: 18px;
  appearance: none;
  border: 1px solid #58616A;
  background-color: #fff;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
}
.checkbox::after,
.radio::after {
  content: "";
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.checkbox:checked,
.radio:checked {
  border-color: var(--color-brand-primary);
  background-color: var(--color-brand-primary);
}
.checkbox:checked::after,
.radio:checked::after {
  opacity: 1;
  visibility: visible;
}
.checkbox:focus,
.radio:focus {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}
.checkbox:disabled,
.radio:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.checkbox {
  border-radius: var(--radius-sm);
}
.checkbox::after {
  width: 8px;
  height: 6px;
  background: url("../../images/portal/ico-check.svg") no-repeat center center;
}

.radio {
  border-radius: 50%;
}
.radio::after {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-brand-primary);
}
.radio:checked {
  background-color: #fff;
}
.checkbox--sm, .radio--sm {
  width: 14px;
  height: 14px;
}

.checkbox--lg, .radio--lg {
  width: 22px;
  height: 22px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 28px;
  height: 16px;
}
.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.switch input:checked + .switch-slider {
  background-color: var(--color-brand-primary);
}
.switch input:checked + .switch-slider::before {
  transform: translateX(12px);
  opacity: 1;
}
.switch input:disabled + .switch-slider {
  opacity: 0.5;
  cursor: not-allowed;
}
.switch input:focus + .switch-slider {
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15);
}

.switch-slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  border-radius: var(--radius-full);
  transition: all var(--transition-fast);
  background: var(--color-gray-300);
}
.switch-slider::before {
  content: "";
  position: absolute;
  height: 12px;
  width: 12px;
  left: 2px;
  bottom: 2px;
  background: #fff url("../../images/portal/switch-slider.svg") no-repeat center center;
  border-radius: 50%;
  transition: transform var(--transition-fast);
  opacity: 0.4;
}

.period-wrapper {
  display: flex;
  height: 48px;
  padding: 4px;
  align-items: center;
  gap: 4px;
  border-radius: 6px;
  border: 1px solid #CDD1D5;
  background: #E6E8EA;
}
.period-wrapper button {
  display: flex;
  padding: 0 20px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  color: #58616A;
  font-size: 17px;
  white-space: nowrap;
}
.period-wrapper button.selected {
  border-radius: 4px;
  background: #FFF;
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12);
}

.form-area {
  display: flex;
  align-items: center;
  gap: 24px;
}


.form-group {
  margin-bottom: var(--spacing-lg);
}
.form-group:last-child {
  margin-bottom: 0;
}
.form-group--inline {
  display: flex;
  align-items: center;
  gap: 0 16px;
}

.form-radio,
.form-check {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.form-radio label,
.form-check label {
  font-size: 15px;
}

.form-label {
  display: block;
  margin-bottom: var(--spacing-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--color-gray-700);
}
.form-label--required::after {
  content: "*";
  color: var(--color-danger);
  margin-left: 0.25rem;
}

.form-helper {
  display: block;
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--color-gray-500);
}

.form-error {
  display: block;
  margin-top: var(--spacing-xs);
  font-size: var(--font-size-sm);
  color: var(--color-danger);
}

.input-group {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 12px;
}
.input-group .input, .input-group .select, .input-group .textarea {
  flex: 1;
}
.input-group--icon-left .input, .input-group--icon-left .select, .input-group--icon-left .textarea {
  padding-left: 2.5rem;
}
.input-group--icon-left .input-icon {
  left: var(--spacing-md);
}
.input-group--icon-right .input, .input-group--icon-right .select, .input-group--icon-right .textarea {
  padding-right: 2.5rem;
}
.input-group--icon-right .input-icon {
  right: var(--spacing-md);
}
.input-group--button-right .btn {
  position: absolute;
  right: 0.25rem;
  top: 50%;
  transform: translateY(-50%);
  height: calc(100% - 0.5rem);
}

.input-icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.date-range-wrapper {
  position: relative;
  width: 100%;
}
.date-range-wrapper .date-input {
  padding-right: 48px;
  cursor: pointer;
  background-image: url("../../images/portal/icon-datepicker.png");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
}

.flatpickr-calendar {
  border-radius: var(--radius-md);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  border: 1px solid #e5e7eb;
}

.flatpickr-calendar.monthSelectPlugin .flatpickr-monthSelect-months {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.flatpickr-input[readonly] {
  background-color: #fff;
}

.flatpickr-calendar.flatpickr-year-only .flatpickr-months {
  justify-content: center;
}
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-prev-month,
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-next-month,
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-monthDropdown-months,
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-current-month .cur-month,
.flatpickr-calendar.flatpickr-year-only .flatpickr-weekdays,
.flatpickr-calendar.flatpickr-year-only .flatpickr-days,
.flatpickr-calendar.flatpickr-year-only .flatpickr-time {
  display: none !important;
}
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-current-month {
  display: flex;
  justify-content: center;
  width: 100%;
}
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-current-month .numInputWrapper {
  width: 100%;
  max-width: 120px;
}
.flatpickr-calendar.flatpickr-year-only .flatpickr-months .flatpickr-current-month .numInputWrapper input {
  font-size: 20px;
  text-align: center;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
  background: var(--color-brand-primary);
  border-color: var(--color-brand-primary);
}

.flatpickr-day.inRange {
  background: rgba(var(--color-brand-primary-rgb, 99, 102, 241), 0.1);
  border-color: transparent;
}

.table {
  width: 100%;
  border-collapse: collapse;
  background-color: var(--color-white);
  table-layout: fixed;
}
.table thead {
  border-top: 2px solid var(--g-95, #131416);
  background: var(--g-05, #F4F5F6);
}
.table th {
  font-size: 17px;
  padding: 15px 0;
}
.table tr {
  border-bottom: 1px solid #B1B8BE;
}
.table td {
  font-size: 17px;
  padding: 12px;
  text-align: center;
}
.table .col-title {
  text-align: left;
}
.table--sm th, .table--sm td {
  padding: var(--spacing-sm);
  font-size: var(--font-size-xs);
}
.table--lg th, .table--lg td {
  padding: var(--spacing-lg);
  font-size: var(--font-size-base);
}
.table--bordered {
  border: 1px solid var(--color-gray-200);
}
.table--bordered th, .table--bordered td {
  border: 1px solid var(--color-gray-200);
}
.table--striped tbody tr:nth-child(even) {
  background-color: var(--color-gray-50);
}
.table--hoverable tbody tr {
  cursor: pointer;
}
.table--hoverable tbody tr:hover {
  background-color: var(--color-primary);
  color: var(--color-white);
}
.table--hoverable tbody tr:hover td {
  color: var(--color-white);
}

.table.sm thead {
  border-top: 1px solid #CDD1D5;
}
.table.sm thead th {
  padding: 10px 0;
  font-size: 13px;
}
.table.sm td {
  padding: 15px 0;
  font-size: 13px;
}

.horizontal-table {
  border-top: 2px solid #131416;
}
.horizontal-table td {
  text-align: left;
  padding: 12px;
}
.horizontal-table th {
  background-color: #F4F5F6;
}

.table-wrapper {
  overflow-x: auto;
}

.table th.text-left {
  text-align: left;
}
.table th.text-center {
  text-align: center;
}
.table th.text-right {
  text-align: right;
}
.table td.text-left {
  text-align: left;
}
.table td.text-center {
  text-align: center;
}
.table td.text-right {
  text-align: right;
}

.table-sortable th {
  cursor: pointer;
  user-select: none;
  position: relative;
  padding-right: var(--spacing-xl);
}
.table-sortable th::after {
  content: "↕";
  position: absolute;
  right: var(--spacing-sm);
  opacity: 0.3;
  font-size: 0.875rem;
}
.table-sortable th.sort-asc::after {
  content: "↑";
  opacity: 1;
}
.table-sortable th.sort-desc::after {
  content: "↓";
  opacity: 1;
}
.table-sortable th:hover {
  background-color: var(--color-gray-100);
}

.api-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 30px;
}

.api-card {
  padding: 32px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  background: #fff;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: all 0.25s;
}
.api-card:hover {
  box-shadow: 0 10px 30px rgba(103, 25, 166, 0.12);
  border-color: #6719A6;
}
.api-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.api-card__category {
  padding: 7px 24px;
  font-size: 17px;
  height: auto;
  line-height: 1;
}
.api-card__formats {
  display: flex;
  align-items: center;
  gap: 8px;
}
.api-card__body {
  display: flex;
  flex-direction: column;
}
.api-card__title {
  font-weight: 700;
  font-size: 19px;
  line-height: 1;
  margin-bottom: 20px;
}
.api-card__title a {
  color: inherit;
}
.api-card__desc {
  margin-bottom: 18px;
}
.api-card__desc a {
  color: #58616A;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.api-card .tags-group {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.api-card .api-card__date {
  color: #8A949E;
  font-size: 15px;
}
.api-card .api-card__date em {
  color: #58616A;
}
.api-card .api-card__views {
  color: #58616A;
  font-size: 15px;
}
.api-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 1px solid #E6E8EA;
}

.board-wrap {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.board-wrap .pagination {
  margin-top: 0;
}

.key-item{
  display: inline-flex;
  height: 32px;
  padding: 8px 12px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  border-radius: 1000px;
  border: 1px solid #CDD1D5;
  background: #FFF;
  color: #1E2124;
}

.key-item em{
  color: #C999F0;
  font-weight: 700;
}

.page-guide {
  display: flex;
  flex-direction: column;
  gap: 16px;
  /* padding: 28px 32px;
  border-radius: 20px;
  border: 1px solid rgba(103, 25, 166, 0.18);
  background: linear-gradient(135deg, rgba(103, 25, 166, 0.08) 0%, rgba(255, 0, 78, 0.08) 100%); */
}
.page-guide__header {
  display: flex;
  align-items: center;
  gap: 20px;
}
.page-guide__icon {
  flex-shrink: 0;
}
.page-guide__title {
  font-size: 24px;
  line-height: 1.4;
  font-weight: 700;
  color: #2F1F3D;
}
.page-guide__content {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.page-guide__list {
  margin: 0;
  padding: 0;
  list-style: none;
  color: #131416;
}
.page-guide__list > li {
  position: relative;
  padding-left: 10px;
}
.page-guide__list > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #6719A6;
}
.page-guide__list > li .link-area {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #6719A6;
}
.page-guide__list > li .link-area span {
  text-decoration: underline;
  padding-right: 14px;
  background: url("../../images/portal/icon-arrow-right-sm.svg") no-repeat right 1px center;
}
.page-guide__list > li .link-area a {
  color: #6719A6;
  text-decoration: underline;
}
.page-guide__list > li .link-area a svg {
  display: inline-block;
  width: 12px;
  height: 12px;
}

.subject-content {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 100%;
}
.subject-content .subject-text {
  max-width: 100%;
  min-width: 0;
  font-size: 15px;
  color: #1A1A1A;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.subject-content .subject-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.subject-content .subject-status .badge {
  white-space: nowrap;
}

.trend-card-grid {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.trend-card {
  display: flex;
  width: 1410px;
  padding: 32px;
  align-items: flex-start;
  gap: 32px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  background: #FFF;
}
.trend-card__thumb {
  width: 169px;
  height: 240px;
  border-radius: 12px;
  flex-shrink: 0;
}
.trend-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.trend-card__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 12px;
  overflow: hidden;
}
.trend-card__title {
  line-height: 1;
  font-size: 19px;
  font-weight: 700;
}
.trend-card__title a {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  display: inline-block;

}
.trend-card__desc {
  padding-bottom: 8px;
}
.trend-card__desc a {
  color: #131416;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.trend-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.trend-card__meta dd+dt{
  margin-left: 52px;
}
.trend-card__meta dt {
  display: flex;
  height: 32px;
  padding: 0 8px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  border-radius: 4px;
  background: var(--g-05, #F4F5F6);
  color: var(--g-95, #131416);
  font-family: "Pretendard GOV";
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.trend-card__meta dd {
  font-size: 17px;
  color: #58616A;
  margin-left: 4px;
}

.trend-card__text-long{
  max-width: 400px;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;
}

.trend-card__preview {
  margin-top: 30px;
  padding-top: 20px;
  border-top: 1px solid var(--color-gray-100);
  display: flex;
  justify-content: flex-end;
}
.trend-card__preview .btn {
  padding: 7px 10px;
  font-size: 15px;
}
.trend-card__preview .btn:hover, .trend-card__preview .btn:focus {
  opacity: 0.9;
}
.trend-card__preview .btn:hover .icon, .trend-card__preview .btn:focus .icon {
  background-color: #fff;
}

.card-news-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 30px;
}

.card-news {
  display: flex;
  width: 330px;
  min-width: 330px;
  padding: 12px 12px 32px 12px;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  background: #FFF;
}
.card-news__thumb {
  border-radius: 20px;
  overflow: hidden;
  background: #FFF;
  height: 306px;
  flex-shrink: 0;
}
.card-news__thumb a {
  display: block;
}
.card-news__thumb a:hover img, .card-news__thumb a:focus img {
  transform: scale(1.05);
  transition: transform 5s ease;
}
.card-news__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
  transform: scale(1);
}
.card-news__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  width: 100%;
}
.card-news__title a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  
  font-size: 19px;
  height: 46px;
  line-height: 1.2;
}
.card-news__meta {
  padding-top: 20px;
  margin-top: 20px;
  border-top: 1px solid #E6E8EA;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-news__meta .card-news__date {
  
}
#cardNewsViewer {
  padding: 40px;
  border-radius: 20px;
  border: 1px solid #ddd;
  width: 880px;
  margin: 0 auto;
  position: relative;
}
#cardNewsViewer .swiper-button-prev,
#cardNewsViewer .swiper-button-next {
  color: #000;
}
#cardNewsViewer .swiper-button-prev::after,
#cardNewsViewer .swiper-button-next::after {
  font-size: 22px;
}
#cardNewsViewer .swiper-button-prev {
  left: -50px;
}
#cardNewsViewer .swiper-button-next {
  right: -50px;
}
#cardNewsViewer .swiper-pagination {
  text-align: center;
}
#cardNewsViewer .swiper-pagination .swiper-pagination-bullet {
  background: none;
  width: auto;
  height: auto;
}
#cardNewsViewer .swiper-pagination .swiper-pagination-bullet-active {
  text-decoration: underline;
  font-weight: 500;
}

.card-viewer .swiper-wrapper {
  display: flex;
}

.board-wrap .search-board-info {
  padding: 0;
  margin-bottom: 25px;
  position: relative;
}
.board-wrap .search-board-info .utility-button {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  gap: 0 8px;
  padding: 11px 16px;
  line-height: 1;
  font-size: 1.7rem;
  background-color: #F8F2FD;
}
.board-wrap .search-board-info .utility-button svg {
  width: 24px;
  height: 24px;
}
.board-wrap .search-board-info .search-info-inner {
  font-size: 19px;
}
.board-wrap .search-board-info .search-info-inner .search-result-count,
.board-wrap .search-board-info .search-info-inner .search-keyword {
  font-size: 1em;
}
.board-wrap .search-board-info .search-info-inner .search-result-count {
  color: #752FAE;
  font-size: 25PX;
}

.post {
  overflow: hidden;
}
.post .post-header {
  border-bottom: 1px solid #E6E8EA;
  padding-bottom: 40px;
}
.post .post-header-title {
  display: flex;
  align-items: center;
  gap: 12px;
  align-items: center;
}
.post .post-header-title .badge {
  height: 40px;
  padding: 0 24px;
}
.post .post-title {
  font-size: 32px;
}
.post .post-info {
  display: flex;
  gap: 20px;
  padding-top: 15px;
}
.post .post-info dl {
  display: flex;
  gap: 4px;
}
.post .post-info dl dt {
  color: #464C53;
  font-weight: 400;
}
.post .post-info dl dd + dt {
  margin-left: 40px;
}
.post .post-content {
  margin: 40px 0;
}
.post .post-answer {
  display: flex;
  padding: 24px 40px 40px 40px;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  align-self: stretch;
  border-radius: 12px 32px;
  border: 1px solid var(--g-20, #CDD1D5);
  background: var(--g-05, #F4F5F6);
}
.post .answer-header {
  display: flex;
  align-items: center;
  gap: 16px;
  border-bottom: 1px solid var(--g-10, #E6E8EA);
  padding-bottom: 24px;
  width: 100%;
}
.post .answer-avatar {
  display: flex;
  width: 56px;
  height: 56px;
  justify-content: center;
  align-items: center;
  border-radius: 40px;
  background: linear-gradient(135deg, #6719A6 0%, #FF004E 100%);
  color: var(--g-00, #FFF);
  font-size: 24px;
  font-weight: 700;
  line-height: 150%; /* 36px */
}
.post .answer-info {
  display: flex;
  flex-direction: column;
}
.post .answer-author {
  font-size: 24px;
  font-weight: 700;
}
.post .answer-author em {
  color: #6719A6;
}
.post .answer-date {
  font-size: 15px;
}
.post .answer-date-label {
  color: #464C53;
}
.post .answer-content {
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}
.post .answer-content p {
  margin: 0 0 12px;
}
.post .answer-content p:last-child {
  margin-bottom: 0;
}
.post .post-attachments {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 40px;
}
.post .post-attachments-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 8px;
  border: 1px solid #B1B8BE;
  background: #fff;
}
.post .post-attachments-item .post-attachments-item-name {
  font-size: 15px;
}
.post .post-attachments-item .post-attachments-item-actions {
  margin-left: auto;
}
.post .post-attachments-item .post-attachments-download {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #58616A;
  font-size: 13px;
}
.post .post-nav {
  display: flex;
  align-items: center;
  gap: 0 20px;
  border-top: 1px solid #CDD1D5;
  border-bottom: 1px solid #CDD1D5;
  padding: 8px 0;
  margin-bottom: 40px;
}
.post .post-nav .post-nav-item {
  width: calc(50% - 10px);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
}
.post .post-nav .post-nav-item .text {
  color: #464C53;
  font-size: 13px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.post .post-nav .post-nav-item .title {
  font-size: 15px;
  color: #464C53;
  flex: 1;
  text-align: center;
}
.post .post-nav .divider {
  flex-shrink: 0;
  border-radius: 50%;
  background-color: #E6E8EA;
  width: 6px;
  height: 6px;
}

.fab-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 40px;
}
.fab-actions.align-center {
  justify-content: center;
}
.fab-actions .btn {
  padding: 17px 24px;
  font-size: 19px;
  border-radius: 8px;
}
.fab-actions > div {
  display: flex;
  align-items: center;
  gap: 0 8px;
}

.required {
  color: #FF004E;
  font-size: 0;
}
.required::after {
  content: "*";
  font-size: 14px;
}

.board-form .board-form-note {
  margin-bottom: 24px;
  padding: 16px 20px;
  border-radius: 12px;
  background: var(--g-05, #F4F5F6);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.board-form .board-form-note p {
  margin: 0;
  font-size: 15px;
  color: #464C53;
  display: flex;
  align-items: center;
  gap: 6px;
}
.board-form .board-form-note .required {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #FF004E;
}
.board-form .board-form-note .required::after {
  content: none;
}
.board-form .form-group--inline .input {
  width: 250px;
}
.board-form .file-upload {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 20px;
  border-radius: 12px;
  border: 1px dashed rgba(103, 25, 166, 0.35);
  background: rgba(103, 25, 166, 0.05);
}
.board-form .file-upload .file-input {
  display: none;
}
.board-form .file-upload .file-label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6719A6 0%, #FF004E 100%);
  color: #fff;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.board-form .file-upload .file-label:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(103, 25, 166, 0.25);
}
.board-form .file-upload .file-label:active {
  transform: translateY(0);
  box-shadow: none;
}
.board-form .file-upload .file-name {
  flex: 1;
  min-width: 0;
  font-size: 15px;
  color: #2F1F3D;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.board-form .file-list {
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.board-form .file-list .file-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(103, 25, 166, 0.15);
  box-shadow: 0 3px 8px rgba(17, 24, 39, 0.05);
}
.board-form .file-list .file-item .file-item__name {
  flex: 1;
  min-width: 0;
  font-size: 14px;
  color: #2F1F3D;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.board-form .file-list .file-item .file-item__size {
  font-size: 13px;
  color: #6D7882;
}
.board-form .file-list .file-item .file-item__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 0, 78, 0.12);
  color: #FF004E;
  cursor: pointer;
  transition: background 0.2s ease;
}
.board-form .file-list .file-item .file-item__remove:hover {
  background: rgba(255, 0, 78, 0.2);
}
.board-form .file-note {
  margin-top: 10px;
  font-size: 13px;
  color: #6D7882;
}
.mb-40{
  margin-bottom: 40px;
}
.board_answer_complete,
.board_answer_waiting {
  display: flex;
  height: 24px;
  padding: 2px 4px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  border-radius: 4px;
}
.board_answer_complete {
  background-color: #F8F2FD;
  color: #6719A6;
}
.board_answer_waiting {
  border-radius: 4px;
background: var(--g-05, #F4F5F6);
color: #8A949E;
} 
.board-search {
  display: flex;
  flex-direction: column;
  gap: 12px 0;
  padding: 20px 32px;
  border-radius: 12px;
  background: var(--g-05, #F4F5F6);
}
.board-search__fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 40px;
  width: 100%;
  min-height: 48px;
}

.board-search__field-full {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 12px;
  width: 100%;
}
.board-search__field-full .select{
  width: 330px;
}
.board-search__field-full .input{
  width: 520px;
}
.board-search__field-full .board-search__actions{
  gap: 12px;
  padding-left: 40px;
  border: 0;
  margin-top: 0;
  padding-top: 0;
  width: auto;
}


.board-search__fields.three-fields{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.board-search__field {
  display: flex;
  align-items: center;
}
.board-search__field .label {
  font-weight: var(--font-weight-semibold);
  color: var(--color-gray-700);
  position: relative;
  padding-left: 8px;
  flex-shrink: 0;
  min-width: 155px;
  background: url("../../images/portal/bullet.svg") no-repeat left center;
}
.board-search__field.full-field {
  grid-column: span 2;
}
.board-search__field .form-group--inline {
  gap: 0 16px;
  width: 100%;
}
.board-search__actions {
  display: flex;
  gap: 0 16px;
  width: 100%;
  padding-top: 24px;
  border-top: 1px solid #CDD1D5;
  justify-content: center;
  margin-top: 8px;
}
.board-search__actions .btn {
  flex-direction: column;
  flex-direction: row;
  height: 48px;
  width: 77px;
}
.board-search__actions .btn span {
  font-size: 1.7rem;
  line-height: 150%;
}

.board-list-card {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.board-list-card .card-item {
  position: relative;
  padding: 25px;
  display: flex;
  flex-direction: column;
}
.board-list-card .card-item::after {
  content: "";
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  position: absolute;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  transition: border-color 0.25s;
  box-sizing: border-box;
}
.board-list-card .card-item:hover::after {
  border: 2px solid var(--brand-color);
}
.board-list-card .card-item .card-item_cate {
  font-size: 14px;
  margin-bottom: 10px;
  line-height: 1.25em;
}
.board-list-card .card-item .card-item_title {
  font-size: 18px;
  line-height: 1.1em;
  max-height: 2.2em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  
  text-overflow: ellipsis;
  overflow: hidden;
  height: auto;
}
.board-list-card .card-item .card-item_stat {
  position: absolute;
  right: 25px;
  top: 20px;
}
.board-list-card .card-item .card-item_thumn, .board-list-card .card-item .card-image-thumn {
  margin-top: 15px;
}
.board-list-card .card-item .card-item_summary {
  font-size: 16px;
  margin-top: 15px;
  line-height: 1.25em;
  font-weight: normal;
  overflow: hidden;
  box-sizing: border-box;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  
  text-overflow: ellipsis;
  height: auto;
}
.board-list-card .card-item .card-item_auth, .board-list-card .card-item .card-item_auth2 {
  border-bottom: 1px solid #e1e1e1;
  padding-top: 30px;
  display: flex;
  padding-bottom: 15px;
  margin-top: auto;
  margin-bottom: 0;
}
.board-list-card .card-item .card-item_auth .card-item_user, .board-list-card .card-item .card-item_auth2 .card-item_user {
  font-size: 16px;
  display: flex;
  align-items: center;
}
.board-list-card .card-item .card-item_auth .card-item_user i, .board-list-card .card-item .card-item_auth2 .card-item_user i {
  margin-right: 6px;
}
.board-list-card .card-item .card-item_auth .card-item_regdage, .board-list-card .card-item .card-item_auth2 .card-item_regdage {
  margin-left: auto;
  margin-right: 0;
  font-size: 14px;
  color: #616161;
  font-weight: normal;
}
.board-list-card .card-item .card-item_auth2 {
  border-bottom: 0;
  padding-bottom: 0;
  padding-top: 10px;
}
.board-list-card .card-item .card-item_auth2 .card-item_regdage {
  margin-left: 0;
  margin-right: auto;
}
.board-list-card .card-item .card-item_answer {
  display: flex;
  min-height: 28px;
  padding-top: 15px;
  align-items: center;
}
.board-list-card .card-item .card-item_answer span {
  margin-left: auto;
  margin-right: 0;
}


/* keyword-read */
.read-wrap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.read-wrap .fab-actions{
  padding-top: 0;
  margin-top: 8px;
}

.read-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 40px;
  border-bottom: 1px solid #E6E8EA;
}

.read-api-header{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.read-api-header .btn{
  height: 48px;
  padding-left: 16px;
  padding-right: 16px;
}

.read-api-url{
  display: flex;
  padding:  12px;
  border-radius: 12px;
  background: #F8F2FD;
  gap:0 20px;
  align-items: center;
}
.read-api-url strong{
  display: flex;
  align-items: center;
  flex-shrink: 0;
  font-size: 19px;
  color: #1E2124;
}

.read-api-url-content{
  font-size: 17px;
  color: #1E2124;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.read-api-url .utils{
  display: flex;
  align-items: center;
  gap: 0 8px;
}

.read-api-url .utils .btn{
  display: flex;
  height: 40px;
  min-width: 60px;
  padding: 0 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 6px;
  border: 1px solid #B1B8BE;
  background: #FFF;
  color: #131416;
  font-weight: 400;
  font-size: 15px;
}

.read-header > div {
  display: flex;
  align-items: center;
}
.read-header .badge {
  height: 40px;
  padding: 0 24px;
  font-size: 17px;
}
.read-header h2 {
  font-size: 32px;
  line-height: 150%;
  margin-left: 8px;
}
.read-header .utils {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.read-header .utils .btn {
  padding: 11px 16px;
  height: auto;
  line-height: 1;
  font-size: 17px;
  height: 48px;
}

.read-header-2 {
  text-align: center;
}
.read-header-2 span {
  position: relative;
  display: inline-block;
  color: #6719A6;
  font-weight: 700;
  font-size: 32px;
  padding-left: 20px;
  padding-right: 20px;
}
.read-header-2 span b {
  position: relative;
  z-index: 2;
}
.read-header-2 span::before, .read-header-2 span::after {
  position: absolute;
  width: 24px;
  height: 24px;
  content: "";
  display: block;
}
.read-header-2 span::before {
  left: 0;
  top: -2px;
  background: url("../../images/portal/icon-quote-left.png") no-repeat center center;
}
.read-header-2 span::after {
  right: 0;
  bottom: 2px;
  background: url("../../images/portal/icon-quote-right.png") no-repeat center center;
}

.read-header-3 {
  display: flex;
  gap: 0 16px;
  align-items: center;
}
.read-header-3 h3 {
  font-size: 40px;
}
.read-header-3 .title{
  font-size: 32px;
}
.read-header-3 .download-btn {
  display: flex;
  height: var(--size-height-7, 48px);
  min-width: 78px;
  padding: 0 var(--padding-6, 16px);
  justify-content: center;
  align-items: center;
  gap: var(--gap-2, 4px);
  border-radius: 100px;
  border: 1px solid #E0C5F6;
  background: #F8F2FD;
  color: #2F0B4B;
}
.read-header-3 .download-btn i {
  background-color: #2F0B4B;
}

.read-patent {
  padding: 40px;
  background: url("../../images/portal/keyword-read-patent-bg.svg") no-repeat center center;
  border-radius: 32px 12px 52px 12px;
  overflow: hidden;
}
.read-patent h2 {
  font-size: 32px;
  line-height: 150%;
}
.read-patent .link-area {
  display: flex;
  align-items: center;
  text-decoration: underline;
  margin-top: 15px;
}

.read-patent-2 {
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  background: #F8F2FD;
  padding: 40px;
}
.read-patent-2 .read-patent-2-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.read-patent-2 h2 {
  font-size: 24px;
  line-height: 150%;
}
.read-patent-2 .utils {
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.read-patent-2 .utils .btn {
  padding: 11px 16px;
  height: 40px;
  background-color: #fff;
  font-size: 15px;
}
.read-patent-2 .utils .btn:focus, .read-patent-2 .utils .btn:hover {
  color: #000;
}
.read-patent-2 .read-links-detail {
  margin-top: 32px;
  border-radius: 2px;
  background-color: #2F0B4B;
  color: #FFF;
  font-size: 19px;
  padding: 13px 16px;
}

.read-section {
  display: flex;
  padding: 40px;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  align-self: stretch;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
}

.read-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #E6E8EA;
  padding-bottom: 24px;
}
.read-section-header h3 {
  font-size: 24px;
  line-height: 1;
}

.chart-wrap{
  border-radius: 12px;
  border: 1px solid #C999F0;
  background: #FFF;
  box-shadow: 0 6px 6px 0 rgba(74, 18, 120, 0.10);
  padding: 20px;
}

.read-section-header-wrapper{
  display: flex;
  align-items: center;
  gap:0 40px;
}

.read-section2{
  background:rgb(248, 242, 253) url("../../images/portal/read-section-bg.png") no-repeat center 0;
  /* height: 380px; */
  display: flex;
  padding: 40px;
  flex-direction: column;
  align-items: flex-start;
  gap: 32px;
  align-self: stretch;
  border-radius: 12px;
  overflow: hidden;
}

.read-section2 .read-section-header{
  border-bottom: 1px solid #E0C5F6;
}

.read-section3-header{margin-bottom: 15px;}
.read-section3-header h2{
  color: var(--g-90, #1E2124);
  font-family: "Pretendard GOV";
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 150%; /* 36px */
}



.read-stats-grid{
  display: grid;
  grid-template-columns: 408px 408px 450px;
  gap: 0 32px;
}

.read-stats-column{
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.read-stat-card:not(.large){
  border-radius: 12px;
  border: 1px solid #C999F0;
  background: #FFF;
  box-shadow: 0 6px 6px 0 rgba(74, 18, 120, 0.10);
  display: flex;
  padding: 20px;
  align-items: center;
  justify-content: space-between;
}

.read-stat-card.large{
  border-radius: 12px;
  border: 1px solid #C999F0;
  background: #FFF;
  box-shadow: 0 6px 6px 0 rgba(74, 18, 120, 0.10);
  padding: 20px;
}

.stat-channel-list{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  padding: 13px 0;
}
.stat-channel-item{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  flex: 1 0 0;
}
.stat-channel-item:not(:last-child){
  border-right: 1px solid #E6E8EA;
}

.stat-channel-item .channel-name{
  color: #33363D;
  text-align: center;
  font-size: 15px;
  font-weight: 500;
  line-height: 150%;
}

.stat-channel-item .channel-icon{
  text-align: center;
}

.stat-channel-item .channel-info{
  color: #131416;
  text-align: center;
  font-size: 21px;
  font-weight: 900;
  line-height: 150%;
}
.stat-channel-item .channel-info small{
  font-size: 17px;
}

.read-stat-card.large .stat-title{
  color: var(--g-95, #131416);
  font-size: 19px;
  font-weight: 500;
  line-height: 150%; /* 28.5px */
}

.read-stat-card:not(.large) .stat-title{
  color: #131416;
  text-align: center;
  font-size: 19px;
  font-weight: 500;
  line-height: 150%;
}

.read-stat-card:not(.large) .stat-value{
  color: #131416;
  text-align: right;
  font-size: 25px;
  font-weight: 900;
  line-height: 150%;
}

.read-section-header-search{
  display: flex;
  gap:0 12px;
}
.read-section-header-search .select{
  width: 320px;
  height: 48px;
}
.read-section-header-utils .select{
  width: 160px;
  height: 36px;
}
.read-section-header-utils{
  
}

.read-section-header-search .btn{
  border-radius: 6px;
  background: #33363D;
  display: flex;
  height: 48px;
  min-width: 78px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  color: #fff;
}

.read-section-content .text{
  color: #131416;
  font-size: 19px;
  font-weight: 400;
  line-height: 150%;
}

.link-text {
  text-decoration: underline;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.chart-map {
  height: 660px;
  background-color: #F4F5F6;
  margin: -32px;
  border-radius: 12px;
}

.read-section-content {
  width: 100%;
}

.read-section-content .text + .read-list{
  margin-top: 32px;
}

.overflow-y {
  overflow-y: auto;
}

.read-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.read-list-group {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.read-list-item {
  display: flex;
  align-items: flex-start;
  gap: 0 8px;
}

.read-list-item-label {
  width: 200px;
  flex-shrink: 0;
  position: relative;
  font-size: 19px;
  font-weight: 700;
  padding-left: 26px;
  background: url("../../images/portal/icon-list-label.svg") no-repeat left center;
}

.read-list-item-label::after {
  content:"";
  width: 4px;
  height: 100%;
  background: #F4F5F6;
  position: absolute;
  right: 0;
  top: 0;
}

.read-list-item-content {
  flex: 1;
  color: #131416;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.34;
  padding-left: 12px;
  padding-top: 3px;
}

.full-chart-wrap {
  padding: 32px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
}

.full-chart {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid #D9D9D9;
}

.form-date-range-wrapper{
  display: flex;
  align-items: center;
  gap: 0 12px;
  flex: 1;
}

.period-wrapper.absolute {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  background-color: #F4F5F6;
}

.period-wrapper.absolute .period-btn{
  padding: 6px 40px;
  color: #6D7882;
  font-weight: 700;
}

.period-wrapper.absolute button.selected{
  color: #1E2124;
}

.read-section-content2{
  width: 100%;
}

.read-grid-wrap{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 32px;
  width: 100%;
}

.read-grid-item{
  border-radius: 12px;
  border: 1px solid #C999F0;
  background: #FFF;
  box-shadow: 0 6px 6px 0 rgba(74, 18, 120, 0.10);
  padding: 20px;
}

.price-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.price-stat-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #F4F5F6;
  border-radius: 4px;
  padding: 24px 0;
}

.price-stat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.price-stat-title {
  font-size: 15px;
  color: #33363D;
  font-weight: 400;
}

.price-stat-value {
  font-size: 21px;
  font-weight: 900;
  color: #131416;
  line-height: 1;
  display: flex;
  align-items: center;
}

.price-stat-value::before{
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 100% auto;
  margin-right: 4px;
}

.price-stat-value.up::before{
  background-image: url("../../images/portal/icon-price-1.svg");
}

.price-stat-value.down::before{
  background-image: url("../../images/portal/icon-price-2.svg");
}

.price-stat-value.default::before{
  background-image: url("../../images/portal/icon-price-3.svg");
}

.price-stat-value.difference::before{
  background-image: url("../../images/portal/icon-price-4.svg");
}


.read-grid-item.w-50p{
  width: 50%;
}

.no-result {
  text-align: center;
}

.no-result-title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1;
  color: #131416;
  font-size: 25px;
}
.no-result-title strong {
  display: inline-block;
  color: #6719A6;
  position: relative;
  font-size: 32px;
  padding: 0 18px;
  margin-right: 4px;
}
.no-result-title strong span {
  position: relative;
  z-index: 2;
}
.no-result-title strong::before, .no-result-title strong::after {
  position: absolute;
  width: 24px;
  height: 24px;
  content: "";
  display: block;
}
.no-result-title strong::before {
  left: 0;
  top: -2px;
  background: url("../../images/portal/icon-quote-left.png") no-repeat center center;
}
.no-result-title strong::after {
  right: 0;
  bottom: 2px;
  background: url("../../images/portal/icon-quote-right.png") no-repeat center center;
}

.no-result-list {
  background: url("../../images/portal/empty-bg-front.png") no-repeat center 0;
  padding-top: 140px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 25px;
}

.no-result:has(.highlight-nm) {
  padding-top: 75px;
}

.no-result-list li {
  color: #58616A;
  font-size: 17px;
  position: relative;
  padding-left: 10px;
  text-align: left;
}
.no-result-list li::before {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 8px;
  width: 3px;
  height: 3px;
  background: #58616A;
  border-radius: 50%;
}

.info-card-split.mt-32{margin-top: 32px;}

.info-card-split {
  display: flex;
  gap: 0;
  width: 100%;
  border-radius: 12px;
  border: 1px solid var(--g-20, #CDD1D5);
  background: var(--g-05, #F4F5F6);
  padding: 20px;
  align-items: center;
}
.info-card-split__aside {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-width: 160px;
  flex-shrink: 0;
}
.info-card-split__label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0px 32px;
  background: #fff;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 500;
  color: #58616A;
  white-space: nowrap;
  height: 32px;
}
.info-card-split__value {
  font-size: 40px;
  font-weight: 900;
  line-height: 150%;
  text-align: center;
}
.info-card-split__main {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
  padding-left: 20px;
  margin-left: 20px;
  border-left: 1px solid #B1B8BE;
}
.info-card-split__title {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.4;
  color: #6719A6;
  margin: 0;
}
.info-card-split__content {
  font-size: 15px;
  line-height: 150%;
  color: #131416;
  word-break: keep-all;
}

.table-sort {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-direction: column;
  vertical-align: middle;
  height: 20px;
}
.table-sort-btn {
  cursor: pointer;
  background: url("../../images/portal/arrow_drop_down.svg") no-repeat center center;
  width: 16px;
  height: 16px;
  background-size: 100% auto;
}
.table-sort-btn.up {
  transform: rotate(180deg);
}

.modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: var(--z-modal);
  display: none;
  align-items: center;
  justify-content: center;
  padding: var(--spacing-md);
  overflow-y: auto;
}
.modal.is-active {
  display: flex;
}
.modal--fade-in {
  animation: fadeIn var(--transition-base) ease-in-out;
}

.modal-backdrop {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(4px);
  z-index: var(--z-modal-backdrop);
}

.modal-content {
  position: relative;
  z-index: var(--z-modal);
  border-radius: 12px;
  box-shadow: var(--shadow-xl);
  animation: slideInUp var(--transition-base);
}


.modal--sm .modal-content {
  width: 560px;
}
.modal--sm .modal-content .modal-body {
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 20px;
}

.modal--md .modal-content {
  width: 600px;
}

.modal--lg .modal-content {
  width: 930px;
}

.modal--xl .modal-content {
  width: 1000px;
}

.modal--full .modal-content {
  max-width: 95vw;
  max-height: 95vh;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 12px 12px 0 0;
  background: linear-gradient(105deg, #4A1278 -10.99%, #6719A6 62.19%, #FF004E 135.37%), linear-gradient(90deg, #6719A6 0%, #FF004E 100%);
  overflow: hidden;
  padding: 24px 40px;
}
.modal-header h2, .modal-header h3, .modal-header h4 {
  margin: 0;
  color: #fff;
  line-height: 1;
  font-size: 23px;
}

.modal-close {
  color: var(--color-gray-500);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  background: url("../../images/portal/icon-modal-close.svg") center no-repeat;
  width: 32px;
  height: 32px;
}
.modal-close:hover {
  color: var(--color-gray-700);
}

.modal-body {
  padding: 20px 40px;
  max-height: 70vh;
  overflow-y: auto;
  background-color: #fff;
}
.modal-body::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.modal-body::-webkit-scrollbar-track {
  background: transparent;
}
.modal-body::-webkit-scrollbar-thumb {
  background: var(--color-gray-400);
  border-radius: 4px;
}
.modal-body:first-child {
  border-top-left-radius: var(--radius-lg);
  border-top-right-radius: var(--radius-lg);
}
.modal-body:last-child {
  border-bottom-left-radius: var(--radius-lg);
  border-bottom-right-radius: var(--radius-lg);
}

.modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  border-top: 1px solid var(--color-gray-200);
  padding: 24px 40px;
  border-radius: 0 0 12px 12px;
}
.modal-footer .btn {
  width: 78px;
  height: 48px;
  font-size: 17px;
}
.modal-footer > div {
  display: flex;
  gap: 8px;
}
.modal-footer--end{
  justify-content: flex-end;
  gap:0 10px;
}
.modal-footer--center{
  justify-content: center;
  gap:0 10px;
}

/** 모달 경고 **/
.modalalert_description{
  color: #464C53;
  font-size: 15px;
  font-weight: 400;
  line-height: 150%;
  text-align: center;
  margin-bottom: 24px;
}

/** 모달 검색 **/
.modal-single-search {
  display: flex;
  padding: 24px;
  border-radius: 12px;
  border: 1px solid var(--g-10, #E6E8EA);
  background: var(--g-05, #F4F5F6);
  width: 100%;
}
.modal-single-search .note {
  color: #464C53;
  font-size: 13px;
  margin-bottom: 8px;
}
.modal-single-search .search-bar {
  width: 100%;
  position: relative;
}
.modal-single-search .search-bar .input {
  width: 464px;
}
.modal-single-search .search-bar .submit {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
}

.icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}
.icon--xs {
  width: 14px;
  height: 14px;
}
.icon--sm {
  width: 16px;
  height: 16px;
}
.icon--md {
  width: 20px;
  height: 20px;
}
.icon--lg {
  width: 24px;
  height: 24px;
}
.icon--xl {
  width: 32px;
  height: 32px;
}
.icon--2xl {
  width: 40px;
  height: 40px;
}
.icon--primary {
  color: var(--color-primary);
}
.icon--secondary {
  color: var(--color-secondary);
}
.icon--success {
  color: var(--color-success);
}
.icon--danger {
  color: var(--color-danger);
}
.icon--warning {
  color: var(--color-warning);
}
.icon--info {
  color: var(--color-info);
}
.icon--muted {
  color: var(--color-gray-500);
}

.icon-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast);
}
.icon-btn:hover {
  background-color: var(--color-gray-100);
}
.icon-btn:active {
  background-color: var(--color-gray-200);
}
.icon-btn--sm {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast);
}
.icon-btn--sm:hover {
  background-color: var(--color-gray-100);
}
.icon-btn--sm:active {
  background-color: var(--color-gray-200);
}
.icon-btn--md {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast);
}
.icon-btn--md:hover {
  background-color: var(--color-gray-100);
}
.icon-btn--md:active {
  background-color: var(--color-gray-200);
}
.icon-btn--lg {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  border-radius: var(--radius-md);
  transition: background-color var(--transition-fast);
}
.icon-btn--lg:hover {
  background-color: var(--color-gray-100);
}
.icon-btn--lg:active {
  background-color: var(--color-gray-200);
}
.icon-btn--primary {
  color: var(--color-primary);
}
.icon-btn--primary:hover {
  background-color: rgba(59, 130, 246, 0.1);
}
.icon-btn--danger {
  color: var(--color-danger);
}
.icon-btn--danger:hover {
  background-color: rgba(239, 68, 68, 0.1);
}
.icon-btn--success {
  color: var(--color-success);
}
.icon-btn--success:hover {
  background-color: rgba(16, 185, 129, 0.1);
}

.icon-badge {
  position: relative;
  display: inline-block;
}
.icon-badge::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--color-danger);
  border: 2px solid var(--color-white);
}
.icon-badge--dot::after {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.icon-plus {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-plus.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-plus.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}
.icon-plus:hover {
  background-color: #000;
}

.icon-source {
  background: url("../../images/portal/system-info.png") no-repeat center center;
  width: 24px;
  height: 24px;
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
}
.icon-source2 {
  background: url("../../images/portal/icon-source.png") no-repeat center center;
  width: 19px;
  height: 15px;
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
}


.icon-share {
  display: inline-block;
  width: 14px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-share.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-share.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-print {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-print.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-print.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-search {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  background-image: url("../../images/portal/icon-search.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.icon-search2 {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-search2.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-search2.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-time {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  background-image: url("../../images/portal/icon-time.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
.icon-time2 {
  display: inline-block;
  width: 15px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  background-image: url("../../images/portal/icon-time2.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.icon-delete {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-delete.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-delete.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #6D7882;
}

.icon-help {
  display: inline-block;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-help.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-help.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #6D7882;
}

.icon-arrow-right {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-right.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-right.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}

.icon-arrow-right-bold {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-right-bold.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-right-bold.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}

.icon-hit {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-hit.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-hit.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}

.icon-blank {
  display: inline-block;
  width: 10px;
  height: 10px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-blank.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-blank.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #9940E2;
}

.icon-blank2 {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-blank2.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-blank2.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #1D1D1D;
}

.icon-input-search {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-input-search.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-input-search.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-reset {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-reset.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-reset.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #131416;
}

.icon-lock {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/lock.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/lock.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}

.icon-back {
  display: inline-block;
  width: 40px;
  height: 40px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-back.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-back.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #131416;
}

.icon-notice {
  display: inline-block;
  width: 12px;
  height: 12px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-notice.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-notice.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-arrow-left {
  display: inline-block;
  width: 26px;
  height: 12px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-left.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-left.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}

.icon-arrow-right2 {
  display: inline-block;
  width: 26px;
  height: 12px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-right2.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-right2.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}

.icon-map {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-map.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-map.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}


.icon-chart {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-chart.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-chart.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}


.icon-arrow-brandly {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-brandly.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-brandly.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #811FD0;
}

.icon-arrow-left-w {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-arrow-left-w.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-arrow-left-w.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}

.icon-monitor {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-monitor.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-monitor.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #fff;
}

.icon-download {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-download.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-download.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #000;
}

.icon-preview {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-preview.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-preview.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #4A1278;
}

.icon-preview2 {
  display: inline-block;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-preview2.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-preview2.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #58616A;
}


.icon-max {
  display: inline-block;
  width: 30px;
  height: 30px;
  vertical-align: middle;
  flex-shrink: 0;
  background : url("../../images/portal/icon-max.svg") no-repeat center center;
}

.btn:hover .icon-download {
  background-color: #fff;
}

.icon-badge-delete {
  display: inline-block;
  width: 7px;
  height: 7px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-badge-delete.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-badge-delete.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #33363D;
}

.icon-add {
  display: inline-block;
  width: 24px;
  height: 24px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url("../../images/portal/icon-item-add.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-item-add.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #4A1278;
}

.pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 8px;
  margin-top: 40px;
}
.pagination li {
  list-style: none;
}
.pagination .page-item {
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all var(--transition-fast);
  width: 40px;
  height: 40px;
  border-radius: 6px;
  font-size: 17px;
  color: #464C53;
  border: 0;
  padding: 0;
}
.pagination .page-item.ellipsis {
  font-size: 0;
  background: url("../../images/portal/ellipsis_horizontal.svg") no-repeat center center;
}
.pagination .page-item:hover {
  color: #000;
  box-shadow: var(--shadow-sm);
}
.pagination .page-item.prev, .pagination .page-item.next {
  border: 0;
  width: auto;
}
.pagination .page-item.prev .text, .pagination .page-item.next .text {
  color: #464C53;
  font-size: 17px;
}
.pagination .page-item.prev {
  background: url("../../images/portal/pagination_prev.svg") no-repeat 0 50%;
  padding-left: 20px;
}
.pagination .page-item.next {
  background: url("../../images/portal/pagination_next.svg") no-repeat right 50%;
  padding-right: 20px;
}
.pagination .page-item.active {
  color: var(--color-white);
  background-color: #2F0B4B;
  border-color: #2F0B4B;
  cursor: default;
  box-shadow: var(--shadow-sm);
}
.pagination .page-item.disabled {
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none;
}
.pagination .page-item.icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  padding: 0;
}
.pagination--sm .page-item {
  min-width: 28px;
  height: 28px;
  font-size: var(--font-size-xs);
}
.pagination--lg .page-item {
  min-width: 44px;
  height: 44px;
  font-size: var(--font-size-lg);
}
.pagination--rounded .page-item {
  border-radius: var(--radius-full);
}
.pagination--outline .page-item {
  background: transparent;
  border: 1px solid var(--color-gray-400);
  color: var(--color-gray-700);
}
.pagination--outline .page-item:hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.pagination--outline .page-item.active {
  background: var(--color-primary);
  color: var(--color-white);
}
.pagination--center {
  justify-content: center;
}
.pagination--right {
  justify-content: flex-end;
}

/*
<ul class="pagination pagination--center pagination--rounded">
  <li><button class="page-item icon" aria-label="이전">
    <svg viewBox="0 0 24 24"><path d="M15 18l-6-6 6-6"/></svg>
  </button></li>
  <li><button class="page-item">1</button></li>
  <li><button class="page-item active">2</button></li>
  <li><button class="page-item">3</button></li>
  <li><button class="page-item icon" aria-label="다음">
    <svg viewBox="0 0 24 24"><path d="M9 6l6 6-6 6"/></svg>
  </button></li>
</ul>
*/
.popover {
  position: relative;
  display: inline-block;
}
.popover .popover-trigger {
  padding: 0;
  border: none;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  outline: none;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xs);
  color: var(--color-primary);
  cursor: pointer;
}
.popover .popover-trigger:focus-visible {
  outline: 2px solid var(--color-primary);
}
.popover .popover-content {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  min-width: 200px;
  background-color: var(--color-gray-900);
  color: var(--color-white);
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-sm);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-fast);
  z-index: var(--z-tooltip);
}
.popover .popover-content[data-show=true] {
  opacity: 1;
  pointer-events: auto;
}

.dropdown {
  position: relative;
  display: inline-block;
}
.dropdown .dropdown-toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xs);
  cursor: pointer;
  padding: var(--spacing-sm) var(--spacing-md);
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-300);
  border-radius: var(--radius-md);
  transition: all var(--transition-fast);
}
.dropdown .dropdown-toggle:hover {
  background-color: var(--color-gray-50);
  border-color: var(--color-primary);
}
.dropdown .dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  min-width: 160px;
  background-color: var(--color-white);
  border: 1px solid var(--color-gray-200);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-md);
  padding: var(--spacing-xs) 0;
  z-index: var(--z-dropdown);
  display: none;
  animation: fadeIn var(--transition-fast) ease-in;
}
.dropdown .dropdown-menu[data-open=true] {
  display: block;
}
.dropdown .dropdown-menu .dropdown-item {
  display: block;
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-sm);
  color: var(--color-gray-700);
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  transition: background-color var(--transition-fast);
}
.dropdown .dropdown-menu .dropdown-item:hover, .dropdown .dropdown-menu .dropdown-item:focus {
  background-color: var(--color-gray-100);
  color: var(--color-primary);
}
.dropdown .dropdown-menu .dropdown-item:focus-visible {
  outline: 2px solid var(--color-primary);
}

.tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  border-radius: 12px 32px;
  background: var(--g-05, #F4F5F6);
  overflow: hidden;
}
.tabs .tab {
  text-align: center;
  position: relative;
  transition: color var(--transition-fast), background-color var(--transition-fast);
  cursor: pointer;
  font-size: 19px;
  padding: 24px 0;
  line-height: 1;
  border-radius: 12px;
}
.tabs .tab.current, .tabs .tab[aria-selected=true] {
  background-color: var(--color-brand-primary);
  color: #fff;
}
.tabs .tab:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.tabs-ui{
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 16px;
}

.tabs-ui .tab{
  border-radius: 20px;
  border: 2px solid var(--g-10, #E6E8EA);
  background: var(--g-00, #FFF);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
  display: flex;
  height: 76px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  flex: 1 0 0;
  font-size: 19px;
  color: #131416;
}

.tabs-ui .tab .icon-wrap{
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #fff;
}

.tabs-ui .tab .icon-wrap i{
  mask-size: contain;
  mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #464C53;
  width: 48px;
  height: 48px;
}

.tabs-ui .tab .icon-wrap i.icon1{
  mask-image: url("../../images/portal/icon-tab-status1.svg");
  -webkit-mask-image: url("../../images/portal/icon-tab-status1.svg");
}
.tabs-ui .tab .icon-wrap i.icon2{
  mask-image: url("../../images/portal/icon-tab-status2.svg");
  -webkit-mask-image: url("../../images/portal/icon-tab-status2.svg");
}
.tabs-ui .tab .icon-wrap i.icon3{
  mask-image: url("../../images/portal/icon-tab-status3.svg");
  -webkit-mask-image: url("../../images/portal/icon-tab-status3.svg");
}

.tabs-ui .tab.current{
  color: #9940E2;
  border-color: #9940E2;
}

.tabs-ui .tab.current .icon-wrap{
  background-color: #9940E2;
}
.tabs-ui .tab.current .icon-wrap i{
  background-color: #fff;
}

.tabs-ui2{
  display: flex;
  justify-content: center;
}
.tabs-ui2__item{
  display: flex;
  padding: 2px;
  align-items: center;
  border-radius: 100px;
  background: #F4F5F6;
}

.tabs-ui2__item .tab{
  display: flex;
  height: 68px;
  max-width: 285px;
  padding: 24px 52px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  color: #33363D;
  font-size: 25px;
}

.tabs-ui2__item .tab i{
  display: inline-block;
  vertical-align: top;
  width: 24px;
  height: 24px;
  background: url("../../images/portal/icon-tab-arrow.png") no-repeat center center;
}

.tabs-ui2__item .tab.current{
  border-radius: 100px;
  background: #FFF;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.16);
  color: #131416;
  font-weight: 700;
}

.tabs-ui2__item .tab.current i{
  background-image: url("../../images/portal/icon-tab-arrow-current.png");
}


.tab-panels {
  padding: var(--spacing-lg) 0;
}

.tab-panel {
  display: none;
}
.tab-panel[data-active=true] {
  display: block;
}

/* ========================================
// Scroll Tab
// ======================================== */
.scroll-tab-container {
  position: relative;
  border-bottom: 1px solid var(--g-30, #B1B8BE);
  padding: 0 52px;
  margin-bottom: 36px;
}
.scroll-tab-container::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 6px;
  background: #F4F5F6;
  pointer-events: none;
}
.scroll-tab-wrapper {
  position: relative;
  overflow: hidden;
}
.scroll-tab-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
}
.scroll-tab-item {
  flex-shrink: 0;
  padding: 12px 20px;
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-size: var(--font-size-lg);
  white-space: nowrap;
  transition: all 0.3s;
}
.scroll-tab-item:hover {
  color: #333;
}
.scroll-tab-item.active {
  color: var(--color-brand-primary);
  border-bottom-color: var(--color-brand-primary);
  font-weight: 700;
}
.scroll-tab {
  /* 네비게이션 버튼 - 기본적으로 숨김 */
}
.scroll-tab-nav-btn {
  display: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 36px;
  height: 36px;
  background: white;
  border: 1px solid #e0e0e0;
  border-radius: 50%;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #333;
}
.scroll-tab-nav-btn:hover {
  background: #f5f5f5;
  border-color: #ccc;
}
.scroll-tab-nav-btn:active {
  transform: translateY(-50%) scale(0.95);
}
.scroll-tab-nav-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}
.scroll-tab-nav-btn.prev {
  left: 10px;
}
.scroll-tab-nav-btn.next {
  right: 10px;
}
.scroll-tab {
  /* 1024px 이하에서만 버튼 표시 */
}

.scroll-tab {
  /* PC에서는 탭들이 균등하게 배치 */
}


.filter-sort-bar {
  display: flex;
  align-items: center;
  gap: 12px;
}

.filter-group {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #131416;
  font-size: 17px;
}


.filter-label {
  font-weight: 700;
  font-size: 1.7rem;
}

.filter-select {
  border: 0;
  background-color: transparent;
  color: #131416;
  padding: 0 20px 0 4px;
  cursor: pointer;
  font-size: 15px;
  appearance: none;
  background-image: url("../../images/portal/ui-select-arrow-black.svg");
  background-repeat: no-repeat;
  background-position: right 0 center;
}
/*
.filter-select option {
  background: #131416;
  color: #333;
}
*/

.divider {
  width: 1px;
  height: 16px;
  background: #E6E8EA;
}


.sort-group {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sort-label {
  color: #131416;
  font-weight: 700;
  font-size: 1.7rem;
}


.sort-buttons {
  display: flex;
  gap: 8px;
}


.sort-btn {
  color: #131416;
  font-size: 15px;
  height: 26px;
  padding: 0 4px;
}
.sort-btn.active {
  border-radius: 4px;
  border: 1px solid rgba(0, 0, 0, 0);
  background-color: #EEF2F7;
  color: #1E2124;
  text-decoration: underline;
}

.sort-select-mobile {
  display: none;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: #131416;
  padding: 8px 32px 8px 12px;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='white' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  min-width: 120px;
}
.sort-select-mobile option {
  background: #2a6a7c;
  color: white;
}


/* layouts */
:root {
  --dropmenu-height: 232px;
}

.skip-nav {
  position: absolute;
  left: -9999px;
  top: 0;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: #fff;
  padding: 12px 24px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  border-radius: 0 0 12px 12px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  z-index: 9999;
}

.skip-nav:focus {
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  outline: 3px solid #fff;
  outline-offset: 3px;
  box-shadow: 0 6px 20px rgba(102, 126, 234, 0.4);
}

#header {
  position: relative;
  z-index: 100;
}

.header {
  border-bottom: 1px solid #CDD1D5;
  z-index: 2;
  position: relative;
}

.header-top {
  background: #F4F5F6;
  height: 4rem;
}
.header-top .container {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.mi-group {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  height: 100%;
}
.mi-group a {
  background-repeat: no-repeat;
  display: block;
}
.mi-group .mi-foodpolis {
  background-image: url("../../images/portal/mi-foodpolis.png");
  width: 10.8rem;
  height: 2rem;
}
.mi-group .mi-dfip {
  background-image: url("../../images/portal/mi-dfip.png");
  width: 16.8rem;
  height: 1.8rem;
}
.mi-group .mi-food-e {
  background-image: url("../../images/portal/mi-food-e.png");
  width: 5.4rem;
  height: 2.4rem;
}
.mi-group .divider {
  width: 1px;
  height: 1.2rem;
  background: #CDD1D5;
}

.header-utils {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  height: 100%;
}
.header-utils .utils-list {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.header-utils .utils-list li {
  position: relative;
}
.header-utils .utils-list li:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 1.2rem;
  background: #CDD1D5;
}
.header-utils .utils-list button,
.header-utils .utils-list a {
  color: #666;
  font-size: 1.4rem;
  text-decoration: none;
  transition: color 0.3s ease;
}
.header-utils .utils-list button:hover,
.header-utils .utils-list a:hover {
  color: #333;
}
.header-utils .divider {
  width: 1px;
  height: 1.2rem;
  background: #CDD1D5;
}
.header-utils .zoom-controls {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.header-utils .zoom-controls .zoom-btn path {
  transition: fill 0.3s ease;
}
.header-utils .zoom-controls .zoom-btn:hover svg path, .header-utils .zoom-controls .zoom-btn:focus svg path {
  fill: var(--color-primary) !important;
}
.header-utils .zoom-controls .zoom-percentage {
  color: #58616A;
  width: 4rem;
  text-align: center;
  font-size: 1.5rem;
}

.header-menu .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 5.6rem;
}
.header-menu .logo a {
  display: block;
  width: 11.4rem;
  height: 4rem;
  background: url("../../images/portal/logo.svg");
}
.header-menu .nav {
  position: relative;
  z-index: 2;
}
.header-menu #gnb {
  display: flex;
  align-items: center;
}
.header-menu .gnb-lv1 {
  position: relative;
}
.header-menu .gnb-lv1:nth-child(2) .dropmenu, .header-menu .gnb-lv1:nth-child(3) .dropmenu, .header-menu .gnb-lv1:nth-child(4) .dropmenu {
  background: url("../../images/portal/line.svg") no-repeat right 3px;
}
.header-menu .gnb-lv1:hover .gnb-lv1-link, .header-menu .gnb-lv1:has(a:focus) .gnb-lv1-link {
  background: var(--gr-1, linear-gradient(90deg, #6719A6 0%, #FF004E 100%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background 0.3s ease;
}
.header-menu:hover .dropmenu, .header-menu.is-active .dropmenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
  transition: opacity 0.3s ease 0.24s, visibility 0s linear 0s, transform 0.3s ease 0.24s;
}
.header-menu:hover .gnb-lv1-link, .header-menu.is-active .gnb-lv1-link {
  padding: 0 45px;
  transition: padding 0.3s ease;
}
.header-menu:hover .gnb-lv1:hover .gnb-lv1-link,
.header-menu:hover .gnb-lv1:has(a:focus) .gnb-lv1-link, .header-menu.is-active .gnb-lv1:hover .gnb-lv1-link,
.header-menu.is-active .gnb-lv1:has(a:focus) .gnb-lv1-link {
  background: var(--gr-1, linear-gradient(90deg, #6719A6 0%, #FF004E 100%));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background 0.3s ease;
}
.header-menu:hover .gnb-lv1:hover .dropmenu ul,
.header-menu:hover .gnb-lv1:has(a:focus) .dropmenu ul, .header-menu.is-active .gnb-lv1:hover .dropmenu ul,
.header-menu.is-active .gnb-lv1:has(a:focus) .dropmenu ul {
  background: url("../../images/portal/gnb-line.png") no-repeat center 0;
}
.header-menu .gnb-lv1-link {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-semibold);
  height: 5.6rem;
  background-color: transparent;
  text-align: center;
  justify-content: center;
  padding: 0 20px;
  transition: all 0.3s ease;
  white-space: nowrap;
  max-width: 210px;
}
.header-menu .gnb-lv1-link .gnb-lv1-link-icon {
  display: inline-block;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  background: url("../../images/portal/gnb-arrow-icon.svg") no-repeat center center;
}
.header-menu .allin-menu {
  text-align: center;
  padding-top: 20px !important;
}
.header-menu .allin-menu a {
  font-size: 0;
  display: inline-block;
  vertical-align: top;
  width: 187px;
  height: 180px;
  background-repeat: no-repeat;
  background-position: 0 0;
}
.header-menu .allin-menu .allin-menu-link1 {
  background-image: url("../../images/portal/allin-menu-link1.svg");
}
.header-menu .dropmenu {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: var(--dropmenu-height);
  padding-top: 1px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  z-index: 1;
  transform: translateY(-10px);
}
.header-menu .dropmenu ul {
  width: 100%;
  padding-top: 20px;
  background: transparent;
  transition: all 0.3s ease;
  height: 100%;
}
.header-menu .dropmenu ul li {
  text-align: center;
}
.header-menu .dropmenu ul li a {
  display: inline-block;
  position: relative;
  padding: 10px 0;
  text-align: center;
  font-size: 1.7rem;
  transition: all 0.2s ease;
}
.header-menu .dropmenu ul li a:hover, .header-menu .dropmenu ul li a:focus {
  font-weight: 700;
  color: var(--color-brand-primary);
}
.header-menu .dropmenu ul li a:hover::after, .header-menu .dropmenu ul li a:focus::after {
  opacity: 1;
  left: -8px;
}
.header-menu .dropmenu ul li a::after {
  content: "";
  position: absolute;
  background: url("../../images/portal/dropmenu-dot.svg") no-repeat center 0;
  width: 6px;
  height: 6px;
  left: 0px;
  top: 10px;
  display: block;
  opacity: 0;
  transition: all 0.3s ease;
}
.header-menu .dropmenu .dropmenu-item a {
  display: block;
  padding: 0.8rem 2.2rem;
  border-radius: 100px;
  font-size: var(--font-size-base);
  color: #333;
  text-decoration: none;
}
.header-menu .dropmenu .dropmenu-item a:hover {
  background: #F4F5F6;
}
.header-menu .header-utils {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  position: relative;
}
.header-menu .header-utils .mypage-wrapper {
  position: relative;
}
.header-menu .header-utils #mypage-button {
  width: 3.2rem;
  height: 3.2rem;
  background: url("../../images/portal/gnb_icon_mypage.svg") no-repeat center center;
  display: block;
}
.header-menu .header-utils #mypage-button.active {
  border-radius: 100px;
  border: 1px solid #9940E2;
  background-color: #B16DE9;
  background-image: url("../../images/portal/gnb_icon_mypage-white.svg");
}
.header-menu .header-utils #mypage-button.active + .mypage-popup {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.header-menu .header-utils .search-button {
  width: 3.2rem;
  height: 3.2rem;
  background: url("../../images/portal/gnb_icon_search.svg") no-repeat center center;
}
.header-menu .header-utils #menu-button {
  width: 3.2rem;
  height: 3.2rem;
  background: url("../../images/portal/gnb_icon_menu.svg") no-repeat center center;
}

.mypage-popup {
  position: absolute;
  top: calc(100% + 12px);
  left: -162px;
  width: 354px;
  border-radius: 12px;
  border-radius: 20px 40px 20px 40px;
  border: 1px solid #9940E2;
  background: #FFF;
  box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.05), 0 4px 8px 0 rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 0.3s ease;
  z-index: 1000;
}
.mypage-popup::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 22px;
  height: 12px;
  background: url("../../images/portal/mpyage-arrow.svg") no-repeat center center;
}
.mypage-popup.is-open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mypage-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  padding-bottom: 8px;
}
.mypage-popup__welcome {
  font-size: 17px;
  font-weight: 400;
  color: #131416;
  line-height: 1.4;
}
.mypage-popup__welcome b {
  font-weight: 900;
}
.mypage-popup__logout {
  display: flex;
  height: 32px;
  min-width: 78px;
  padding: 0 16px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  color: #464C53;
  font-size: 14px;
  border-radius: 100px;
  border: 1px solid #E6E8EA;
  background: #FFF;
}
.mypage-popup__logout i {
  background: url("../../images/portal/icon-logout.svg") no-repeat center center;
  width: 15px;
  height: 15px;
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
}
.mypage-popup__notifications {
  display: flex;
  gap: 8px;
  margin-bottom: 16px;
  padding: 0 24px;
}
.mypage-popup__notification-card {
  padding: 8px 12px;
  flex: 1 0 0;
  border-radius: 8px;
  background: var(--g-05, #F4F5F6);
}
.mypage-popup__notification-card .notification-label {
  font-size: 15px;
  color: #131416;
  line-height: 1.4;
  background-repeat: no-repeat;
  background-position: 0 0;
  padding-left: 20px;
}
.mypage-popup__notification-card .notification-label.message {
  background-image: url("../../images/portal/icon-msg.svg");
}
.mypage-popup__notification-card .notification-label.note {
  background-image: url("../../images/portal/icon-note.svg");
}
.mypage-popup__notification-card .notification-count {
  font-size: 15px;
  font-weight: 400;
  color: #131416;
  line-height: 1.2;
  text-align: right;
}
.mypage-popup__notification-card .notification-count b {
  font-weight: 700;
  font-size: 25px;
}
.mypage-popup__info {
  padding: 16px 24px;
  border-radius: 32px 32px 23px 39px;
  background: linear-gradient(90deg, #F4F5F6 0%, #F8F2FD 100%);
}
.mypage-popup__info div {
  margin: 0;
  font-size: 15px;
  color: #33363D;
  line-height: 1.6;
  text-align: center;
}
.mypage-popup__info div i {
  width: 6px;
  height: 10px;
  background: url("../../images/portal/icon-black-arrow.svg") no-repeat center center;
  display: inline-block;
  vertical-align: middle;
  transform: translateY(-2px);
}
.mypage-popup__info div a {
  color: #131416;
  text-decoration: underline;
}
.mypage-popup__info div a:hover {
  color: #811FD0;
}
.mypage-popup .mypage-popup__link {
  margin-top: 15px;
  display: flex;
  height: 40px;
  padding: 10px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  align-self: stretch;
  border-radius: 100px;
  background: #6719A6;
  font-size: 15px;
  font-weight: 900;
  color: #fff;
}
.mypage-popup .mypage-popup__link span {
  font-weight: 600;
  padding-right: 2px;
}
.mypage-popup .mypage-popup__link i {
  display: inline-block;
  vertical-align: top;
  flex-shrink: 0;
  width: 12px;
  height: 12px;
  background: url("../../images/portal/mypage-popup-link.png") no-repeat center center;
}

.header-bg {
  position: absolute;
  top: 97px;
  left: 0;
  width: 100%;
  height: 0;
  background: url("../../images/portal/dropmenu-bg.svg") no-repeat center center;
  overflow: hidden;
  z-index: 0;
  opacity: 0;
  visibility: hidden;
  transition: height 0.3s ease 0s, opacity 0.3s ease 0s, visibility 0s linear 0.3s;
}

.header.has-dropdown .header-bg,
.header-menu:hover ~ .header-bg {
  height: var(--dropmenu-height);
  opacity: 1;
  visibility: visible;
  transition: height 0.3s ease 0.24s, opacity 0.3s ease 0.24s, visibility 0s linear 0s;
}

.related-sites {
  border: 1px solid #E4E4E4;
  border-left: 0;
  border-right: 0;
}
.related-sites .container {
  display: flex;
  border-left: 1px solid #E4E4E4;
}
.related-sites .related-sites-button {
  padding: 1.5rem 2.4rem;
  border-right: 1px solid #E4E4E4;
  display: flex;
  gap: 0 0.8rem;
  align-items: center;
}
.related-sites .related-sites-button span {
  width: 16.6rem;
  text-align: left;
}

.footer {
  background-color: #F4F5F6;
}

.footer-logos {
  padding: 4rem 0;
}
.footer-logos .mi-group {
  gap: 0 4rem;
}

.footer-logos .mi-24 {
  background: url("../../images/portal/mi-24.svg") no-repeat center center;
  width: 114px;
  height: 40px;
  font-size: 0;
}

.footer-info{
  position: relative;
}
.footer-support{
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  gap: 0 1.6rem;
}

.footer-support .support-item{
  border-radius: 20px 52px 20px 20px;
  background: #FFF;
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

.footer-support .support-item strong{
  display: block;
  color: #33363D;
  background-repeat: no-repeat;
  background-position: 0 50%;
  padding-left: 24px;
}
.footer-support .support-item strong.support-phone1{
  background-image: url("../../images/portal/icon-phone1.svg");
}
.footer-support .support-item strong.support-phone2{
  background-image: url("../../images/portal/icon-phone2.svg");
}

.footer-support .support-item .support-phone{
  display: block;
  color: #131416;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.6;
  text-align: left;
}

.footer-support .support-item .support-phone em{
  font-size: 17px;
  color: #33363D;
  font-weight: 400;
  font-style: normal;
}

.footer-info .info-row {
  display: flex;
  align-items: center;
  gap: 0 1.6rem;
  color: #131416;
  margin-bottom: 1.6rem;
}
.footer-info .info-row:last-child {
  margin-bottom: 0;
}
.footer-info .info-label {
  font-weight: var(--font-weight-bold);
  color: #33363D;
}
.footer-info .divider {
  width: 1px;
  height: 1.2rem;
  background: #6D7882;
}

.footer-last {
  position: relative;
  border-top: 1px solid #E4E4E4;
  margin-top: 2.4rem;
  padding: 1.6rem 0;
}

.footer-last .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.footer-links {
  display: flex;
  align-items: center;
  gap: 0 2.4rem;
}
.footer-links a {
  color: #2F0B4B;
  font-weight: 700;
}
.footer-links a.bold {
  color: #FF004E;
}
.footer-links .divider {
  width: 1px;
  height: 1.2rem;
  background: #6D7882;
}

.footer-copyright p {
  color: #464C53;
  font-size: var(--font-size-sm);
}



.floating-buttons {
  position: fixed;
  right: 40px;
  bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 1000;
}
.floating-buttons .button {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  overflow: hidden;
}
.floating-buttons .button .icon {
  width: 100%;
  height: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
}
.floating-buttons .button.button-chatbot .icon {
  background-image: url("../../images/portal/chatbot.svg");
}
.floating-buttons .button.button-top .icon {
  background-image: url("../../images/portal/top.svg");
}

.floating-buttons .button.button-util-area{
  display: none;
  border-radius: 9999px;
  overflow: visible;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.25);
}
.floating-buttons .button.button-util-area .icon {
  background-image: url("../../images/portal/util.png");
  
}



.layout-sub {
  background: url("../../images/portal/subtop-bg-new.png") no-repeat center 0;
}
.layout-sub.search {
  background: url("../../images/portal/search__bg.png") no-repeat center 0;
}

.search .sub-layout{padding-top: 30px;}

.subtop {
  height: 12rem;
  display: flex;
  align-items: center;
}
.subtop .container {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.document-utils {
  display: flex;
  align-items: center;
  gap: 32px;
}
.document-utils button {
  display: flex;
  height: 32px;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #33363D;
}
.document-utils button .icon {
  background-color: #58616A;
  transition: background-color 0.3s ease;
}
.document-utils button:hover, .document-utils button:focus {
  text-decoration: underline;
}
.document-utils .divider {
  width: 1px;
  height: 12px;
  background: #8A949E;
}

.search .document-utils{
  gap: 10px;
}

.search .document-utils button{
  width: 40px;height: 40px;
  border-radius: 20px;
  border: 1px solid #E0C5F6;
  background: #FFF;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search .document-utils button .icon {
  background: #6719A6;
}


.subtop-title {
  font-size: var(--font-size-4xl);
  font-weight: var(--font-weight-bold);
  color: #2F0B4B;
}

.sub-layout {
  padding: 6.4rem 0;
  width: var(--container-width);
  margin: 0 auto;
}

.subtop-utils {
  position: absolute;
  right: 0;
  bottom: 5rem;
  display: flex;
  align-items: center;
  gap: 0 1.6rem;
}
.subtop-utils button {
  display: flex;
  width: 40px;
  height: 40px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #FE195F;
  border-radius: 50%;
}

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0 0.4rem;
}
.breadcrumb li:first-child a {
  padding-left: 20px;
  background: url("../../images/portal/breadcrumb-home-icon.svg") no-repeat left center;
}
.breadcrumb li + li {
  padding-left: 20px;
  background: url("../../images/portal/breadcrumb-arrow-icon.svg") no-repeat left center;
}
.breadcrumb li a {
  color: #33363D;
  font-size: 15px;
  text-decoration: underline;
}
.breadcrumb li span {
  color: #33363D;
  font-size: 15px;
  text-decoration: underline;
}

/* pages */
.home {
  /* background: url("../../images/portal/home/top-bg.png") no-repeat center 0; */
}

.hero-visual {
  height: 784px;
  padding-top: 80px;
  background: linear-gradient(to right, #EBE8F6, #FFE6ED);
  position: relative;
  border-radius: 0 0 0 250px;
}
.shape{position: absolute;}
.shape-1{bottom: -100px;left: -90px;}
.shape-2{bottom: -200px;right: -460px;}

.hero-container {
  width: 1110px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}

.hero-search-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap:0 16px;
  padding-top: 56px;
}

.hero-search-title {
  font-size: 21px;
  font-weight: 800;
  color: #6719A6;
  font-family: 'Paperozi';
  background: url("../../images/portal/hero-search-title.png") no-repeat left center;
  white-space: nowrap;
  padding-left: 28px;
}

.hero-search-container .hero-search-box {
  position: relative;
  display: flex;
  align-items: center;
  display: flex;
  width: 688px;
  height: 56px;
  padding: 3px;
  border-radius: 28px;
  gap: 8px;
  background: linear-gradient(to right, #6719A6, #F90152);
}
.hero-search-box-inner{
   background-color: #fff;
   flex: 1;
   height: 100%;
   border-radius: 28px;
   padding: 0 32px;
   display: flex;
   align-items: center;
   gap: 8px;
   justify-content: space-between;
}
.konan-box-msg{text-align: center;}
.hero-search-container .hero-search-box.is-active{
  border-radius: 28px 28px 0 0;
}
body:has(.hero-search-box.is-active) .hero-visual{
  z-index: 3;
}
.hero-search-container .hero-search-box.is-active .search-dropdown{
  display: block;
}
.hero-search-container .hero-search-box .search-dropdown{
  top: 56px;
  width: inherit;
  left: 0px;
  right: 0px;
}
.hero-search-container .hero-search-box .label {
  font-size: 20px;
  font-weight: 700;
  width: 220px;
  color: #6848aa;
  font-size: 25px;
}
.hero-search-container .hero-search-box .search-input {
  height: 100%;
  flex: 1;
  font-size: 19px;
  color: #1d1d1d;
  border: 0;
  outline: none;
}
.hero-search-container .hero-search-box .hero-search-button {
  background: url("../../images/portal/hero-search.svg") no-repeat center center;
  width: 24px;
  height: 24px;
  font-size: 0;
}
.hero-search-container .hero-search-tags {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-search-container .hero-search-tags .tag {
  font-size: 15px;
  font-weight: 500;
  background-color: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  border-radius: 100px;
  padding: 7px 10px;
  line-height: 1;
}

.hero-cards-wrapper {
  position: relative;
}
.hero-cards-wrapper .btn-prev,
.hero-cards-wrapper .btn-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.hero-cards-wrapper .btn-prev {
  left: -120px;
  background: #fff url("../../images/portal/home/prev.png") no-repeat center center;
}
.hero-cards-wrapper .btn-next {
  right: -120px;
  background: #fff url("../../images/portal/home/next.png") no-repeat center center;
}

.carousel {
  position: relative;
  width: 420px;
  height: 480px;
  margin: 0 auto;
  perspective-origin: center;
  transform-style: preserve-3d;
  perspective: 8000px;
  margin: 0 auto;
}

.carousel-card {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: transform 0.8s ease, opacity 0.8s ease;
  transform-style: preserve-3d;
  display: flex;
  padding: 40px 32px;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  border-radius: 40px;
  box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.20);
  text-align: center;
}
.carousel-card-title{
  color: #fff;
  font-family: 'Paperozi';
  font-size: 21px;
}
.carousel-card-image{
  padding: 25px 0;
}
.carousel-card-description{
  color: #fff;
  font-family: 'Paperozi';
  font-size: 32px;
  font-weight: 800;
}
.carousel-card-description2{
  font-size: 16px;
  font-weight: 600;
  color: #fff;
  height: 96px;
}

.carousel-card-links{
  padding-top: 10px;
  display: flex;
  justify-content: center;
  gap:0 10px;
}

.carousel-card-links a{
  display: flex;
  height: 44px;
  padding: 0 12px 0 20px;
  justify-content: center;
  align-items: center;
  border-radius: 100px;
  background: #FFF;
  font-family: 'Paperozi';
  font-weight: 700;
  color: #6719A6;
}
.carousel-card-links a.v1{
  color: #6719A6;
}
.carousel-card-links a.v2{
  color: #CC003E;
}
.carousel-card-links a.v3{
  color: #299347;
}

.carousel-card-controls{
  display: flex;
  justify-content: center;
  gap:8px;
  padding-top: 16px;
}
.carousel-card-controls{
  
}

.carousel-card-controls-paging{
  display: flex;
  height: 40px;
  padding: 16px;
  align-items: center;
  gap: 4px;
  border-radius: 1000px;
  background: #FFF;
}
.carousel-card-controls-paging button{
  font-size: 0;
  border-radius: 50%;
  width: 8px;height: 8px;background-color: #6D7882;
}
.carousel-card-controls-paging button.active{
  color: #6719A6;
  background: #6719A6;
  width: 20px;
  border-radius: 8px;
}



.carousel-card-controls-btn{
  display: flex;
  width: 40px;
  height:40px;
  justify-content: center;
  align-items: center;
  border-radius: 1000px;
  border: 1px solid #CDD1D5;
  background: #FFF url("../../images/portal/stop.svg") no-repeat center center;
}
.carousel-card-controls-btn.play{
  background-image: url("../../images/portal/play.svg");
}

.hero-dashboard {
  padding: 120px 0 64px;
  position: relative;
  z-index: 2;
}

.hero-dashboard-container {
  margin: 0 auto;
  width: 1410px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}

.hero-dashboard-card {
  border: 1px solid #E6E8EA;
  padding: 40px;
  border-radius: 20px;
  
  /* box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1); */
}
.hero-dashboard-card .hgroup {
  padding-bottom: 15px;
}
.hero-dashboard-card .hgroup .hgroup-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.hero-dashboard-card .hgroup .hgroup-title h3 {
  font-size: 25px;
  font-weight: 700;
  line-height: 1;
}
.hero-dashboard-card .hgroup .hgroup-title .link-more {
  color: #58616A;
  background: url("../../images/portal/icon-more2.png") no-repeat right center;
  padding-right: 20px;
  font-size: 15px;
}
.hero-dashboard-card .hgroup .period {
  font-size: 15px;
  color: #000;
  line-height: 1;
  margin-top: 15px;
}
.hero-dashboard-card .tab-buttons {
  display: flex;
  gap: 10px;
  padding-bottom: 30px;
}
.hero-dashboard-card .tab-buttons .tab-btn {
  padding: 10px 20px;
  border-radius: 100px;
  background-color: #F4F5F6;
  color: #131416;
}
.hero-dashboard-card .tab-buttons .tab-btn.current {
  color: #fff;
  font-weight: 700;
  background: linear-gradient(114deg, #6719A6 0%, rgba(47, 11, 75, 0.80) 80%);
}

.rnk-change{
  display: flex;
  align-items: center;
  gap:8px;
  padding-bottom: 16px;
}

.rnk-change .tab-buttons{
  padding-bottom: 0;
}


.table-placeholder table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}
.table-placeholder table td {
  border-bottom: 1px solid #e3e5e8;
  padding: 12px 4px;
  text-align: center;
}
.table-placeholder table .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: top;
  background-color: #f4f5f6;
  color: #6719a6;
  font-size: 15px;
  font-weight: 900;
  font-family: var(--font-family-secondary);
  width: 32px;
  height: 32px;
}
.table-placeholder table .rate {
  position: relative;
  padding-right: 24px;
  display: inline-block;
  vertical-align: top;
  color: #1E2124;
  font-size: 21px;
  font-weight: 700;
}
.table-placeholder table .rate.up {
  background: url("../../images/portal/up.svg") no-repeat right center;
}
.table-placeholder table .rate.down {
  background: url("../../images/portal/down.svg") no-repeat right center;
}
.table-placeholder table .rate.same {
  background: url("../../images/portal/same.svg") no-repeat right center;
}

.hero-dashboard-filters {
  display: flex;
  align-items: center;
  gap: 10px;
}
.hero-dashboard-filters select,
.hero-dashboard-filters button {
  height: 40px;
}
.hero-dashboard-filters button {
  width: 40px;
  height: 40px;
  background: #30364d url("../../images/portal/icon-search-ds.png") no-repeat center center;
  border-radius: 50%;
  font-size: 0;
  flex-shrink: 0;
}
.hero-dashboard-filters select {
  border: 1px solid #e3e5e8;
  border-radius: 50px;
  width: 131px;
  padding: 0 20px;
  background-color: #F4F5F6;
  background-image: url("../../images/portal/home/icon-select.png");
  background-repeat: no-repeat;
  background-position: right 13px center;
  appearance: none;
}

.channel-comparison {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 16px;
}
.channel-comparison__item {
  display: flex;
  align-items: center;
  gap: 24px;
  border-radius: 10px;
  padding: 10px 20px;
}
.channel-comparison__item.v1 {
  background-color: #fff6f5;
}
.channel-comparison__item.v1 .channel-comparison__label {
  background-color: #fc8270;
}
.channel-comparison__item.v2 {
  background-color: #f4fbf5;
}
.channel-comparison__item.v2 .channel-comparison__label {
  background-color: #66bc6d;
}
.channel-comparison__item.v3 {
  background-color: #f4f8fd;
}
.channel-comparison__item.v3 .channel-comparison__label {
  background-color: #68a1e6;
}
.channel-comparison__label {
  line-height: 1.1;
  flex-shrink: 0;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 15px;
  flex-shrink: 0;
  font-weight: 700;
}
.channel-comparison__data {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px 20px;
  flex: 1;
}
.channel-comparison__metric {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.channel-comparison .text {
  font-size: 15px;
  line-height: 1;
  display: flex;
  align-items: center;
  gap: 4px;
}
.channel-comparison .text::before {
  content: "";
  display: inline-block;
  width: 3px;
  height: 3px;
  background-color: #9e9d9d;
  border-radius: 50%;
}
.channel-comparison .value {
  font-size: 15px;
  font-weight: 700;
}

.hero-trade {
  padding-bottom: 80px;
}

.trade-container {
  width: 1410px;
  margin: 0 auto;
  padding: 52px;
  background-color: #eff0f2;
  border: 1px solid #e3e5e8;
  border-radius: 12px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.trade-container .section-title {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
  font-family: 'Paperozi';
}
.trade-container .section-subtitle {
  text-align: center;
  font-size: 16px;
  color: #464C53;
  font-family: 'Paperozi';
  line-height: 1;
  padding: 8px 0 40px;
}

.trade-filters {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.trade-filters select {
  border: 1px solid #e3e5e8;
  border-radius: 50px;
  padding: 0 45px 0 20px;
  height: 50px;
  width: 282px;
  background-color: #fafafa;
  background-image: url("../../images/portal/home/icon-select.png");
  background-repeat: no-repeat;
  background-position: right 13px center;
  appearance: none;
}

.hero-trade-display {
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
.hero-trade-display .hero-trade-table,
.hero-trade-display .hero-trade-map {
  width: 50%;
  border-radius: 20px;
  border: 1px solid #E6E8EA;
  background: #FFF;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}
.hero-trade-display .hero-trade-table {
  padding: 40px;
}
.hero-trade-display .hero-trade-table .hero-trade-tabs {
  margin-bottom: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.hero-trade-display .hero-trade-table .hero-trade-tabs .hero-trade-tab {
  padding: 10px 30px;
  border-radius: 100px;
  background-color: #f3f3f3;
}
.hero-trade-display .hero-trade-table .hero-trade-tabs .hero-trade-tab.active {
  color: #fff;
  background: linear-gradient(180deg, #7d6bd2 0%, #4e7dd9 100%);
}
.hero-trade-display .hero-trade-table table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}
.hero-trade-display .hero-trade-table thead {
  background-color: #f1eff7;
}
.hero-trade-display .hero-trade-table thead tr th {
  padding: 12px 0;
}
.hero-trade-display .hero-trade-table tbody tr td {
  border-bottom: 1px solid #e3e5e8;
  text-align: center;
  padding: 10px 0;
}
.hero-trade-period-container{
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
}
.hero-trade-display .hero-trade-period {
  color: #000;
  font-size: 17px;
}
.hero-trade-display .table-detail {
}
.hero-trade-display .table-detail a {
  display: inline-block;
  color: #58616A;
  font-size: 15px;
  padding-right: 20px;
  background: url(../../images/portal/icon-more2.png) no-repeat right center;
}

.mix-background {
  position: relative;
  background: url("../../images/portal/bg_bottom.png") no-repeat center 0;
  height: 1344px;
}
.mix-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #eaf1fa 0%, #f2edf1 100%);
  z-index: -1;
}

.hero-regulations {
  padding: 104px 0 0;
}

.regulation-card.is-hidden {
  display: none;
}
.more-btn.is-expanded .icon-arrow-down {
  transform: rotate(180deg);
}

.regulations-container {
  width: 1410px;
  margin: 0 auto;
  position: relative;
}
.regulations-container .section-title {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 150%;
  font-family: 'Paperozi';
}
.regulations-container .section-subtitle {
  font-family: 'Paperozi';
  text-align: center;
  font-size: 16px;
  color: #464C53;
  font-weight: 600;
  line-height: 150%;
  padding: 8px 0 32px;
}

.regulation-tabs {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.regulation-tabs .reg-tab {
  padding: 10px 55px;
  border-radius: 100px;
  background-color: #ffffff;
  border: 1px solid #7b6dd2;
}
.regulation-tabs .reg-tab.active {
  color: #fff;
  background: linear-gradient(180deg, #7d6bd2 0%, #4e7dd9 100%);
}

.regulation-swiper-button-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding-top: 80px;
}

.regulation-swiper-pagination{
  text-align: center;
  background-color: #fff;
  display: flex;
  height: 40px;
  padding: 16px;
  align-items: center;
  gap: 4px;
  width: auto !important;
  border-radius: 1000px;
}

.regulation-swiper-pagination .swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  background-color: #6D7882;
  border-radius: 50%;
  margin: 0 !important;
}
.regulation-swiper-pagination .swiper-pagination-bullet-active {
  background-color: #6719A6;
  width: 20px;
  border-radius: 100px;
}
.regulation-autoplay-btn{
  display: flex;
  width: 40px;
  height:40px;
  justify-content: center;
  align-items: center;
  border-radius: 1000px;
  border: 1px solid #CDD1D5;
  background: #FFF url("../../images/portal/stop.svg") no-repeat center center;
  font-size: 0;
}
.regulation-autoplay-btn.is-paused{
  background-image: url("../../images/portal/play.svg");
}

.regulation-swiper-button-next,
.regulation-swiper-button-prev{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0;
  cursor: pointer;
  z-index: 2;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
}
.regulation-swiper-button-next{
  right: -30px;
  background: #fff url("../../images/portal/home/next.png") no-repeat center center;
}
.regulation-swiper-button-prev{
  left: -30px;
  background: #fff url("../../images/portal/home/prev.png") no-repeat center center;
}

body:has(.hero-regulations) {
  overflow-x: hidden;
}

/* 1번, 5번, 9번... (1번부터 시작해서 4개마다 반복) */
.regulation-swiper .swiper-slide:nth-child(4n + 1) { 
  transform: translateY(40px); 
}

/* 2번, 6번, 10번... */
.regulation-swiper .swiper-slide:nth-child(4n + 2) { 
  transform: translateY(100px); 
}

/* 3번, 7번, 11번... */
.regulation-swiper .swiper-slide:nth-child(4n + 3) { 
  transform: translateY(0px); 
}

/* 4번, 8번, 12번... (4의 배수 전체) */
.regulation-swiper .swiper-slide:nth-child(4n) { 
  transform: translateY(60px); 
}
.regulation-swiper .swiper-slide{padding-bottom: 60px;}

.regulation-card {
  overflow: hidden;
  /* background: #fff url("../../images/portal/regulation-info-bg.png") no-repeat center bottom; */
  background: #fff;
  display: flex;
  width: 330px;
  padding-top: 20px;
  flex-direction: column;
  align-items: flex-start;
  border-radius: 40px 12px;
  background: var(--g-00, #FFF);
  box-shadow: 0 8px 8px 0 rgba(74, 18, 120, 0.20);
}
.regulation-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 32px;
  margin-bottom: 12px;
  width: 100%;
}
.regulation-card-header .badge {
  flex-shrink: 0;
  color: #6719A6;
  background-color: #F8F2FD;
  border-radius: 4px;
  padding: 0 8px;
  height: 32px;
  line-height: 32px;
}
.regulation-title {
  padding: 0 32px;  
}
.regulation-title a {
  overflow: hidden;
  color: var(--g  -95, #131416);
  text-overflow: ellipsis;
  font-family: "Pretendard GOV";
  font-size: 19px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
}
.regulation-info {
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 24px 32px 35px;
}
.regulation-info .regulation-info-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.regulation-info .regulation-info-item .label {
  display: flex;
width: 60px;
height: 32px;
padding: 0 8px;
justify-content: center;
align-items: center;
gap: 10px;border-radius: 4px;
background: var(--g-05, #F4F5F6);
color: var(--g-95, #131416);
font-family: "Pretendard GOV";
font-size: 15px;
font-style: normal;
font-weight: 700;
line-height: normal;
}
.regulation-info .regulation-info-item .value {
  color: var(--g-95, #131416);
font-family: "Pretendard GOV";
font-size: 17px;
font-style: normal;
font-weight: 400;
line-height: normal;
}

.regulation-links {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  padding-top: 30px;
  width: 100%;  
  padding: 20px 32px;
  background-color: #F8F2FD;
}
.regulation-links:has(.regulation-link.one) {
  grid-template-columns: repeat(1, 1fr);
}
.regulation-links .regulation-link {
  display: flex;
height: 32px;
min-width: 60px;
padding: 0 12px;
justify-content: space-between;
align-items: center;
flex: 1 0 0;
border-radius: 50px;
border: 1px solid var(--24-24_p-10, #E0C5F6);
font-size: 15px;
color: #1E2124;
}
.regulation-links .regulation-link .icon{
  background-color: #1E2124;
  width: 10px;
  height: 10px;
}
.regulation-links .regulation-link:hover,
.regulation-links .regulation-link:focus {
  color: #6719A6;
}
.regulation-links .regulation-link:hover .icon,
.regulation-links .regulation-link:focus .icon{
  background-color: #6719A6;
}





.hero-support {
  padding-top: 150px;
}

.support-container {
  width: 1410px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  display: flex;
}

.support-content,
.notice-content {
  width: 50%;
}

.support-content .section-title {
  font-size: 40px;
  font-weight: 700;
  font-family: 'Paperozi';
  line-height: 120%;
}
.support-content .support-grid {
  display: flex;
  align-items: center;
  gap: 25px;
  margin-top: 55px;
}
.support-content .support-grid .support-icon {
  width: 110px;
  height: 110px;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 30px 2px rgba(0, 0, 0, 0.14);
}
.support-content .support-grid .support-icon.v1 {
  background-image: url("../../images/portal/home/icon-support1.png");
}
.support-content .support-grid .support-icon.v2 {
  background-image: url("../../images/portal/home/icon-support2.png");
}
.support-content .support-grid .support-icon.v3 {
  background-image: url("../../images/portal/home/icon-support3.png");
}
.support-content .support-grid .support-icon.v4 {
  background-image: url("../../images/portal/home/icon-support4.png");
}
.support-content .support-grid .support-label {
  padding-top: 20px;
  text-align: center;
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  color: #30364d;
}

.notice-content {
  padding-left: 80px;
}
.notice-content .notice-title {
  font-size: 40px;
  font-weight: 700;
  font-family: 'Paperozi';
  line-height: 150%;
  padding-top: 24px;
}
.notice-content .notice-list {
  margin-top: 35px;
}
.notice-content .notice-list .notice-item {
  padding: 20px;
  border-bottom: 1px solid #e3e5e8;
  line-height: 1;
}
.notice-content .notice-list .notice-item a {
  color: #131416;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  position: relative;
  padding-left: 16px;
}
.notice-content .notice-list .notice-item a:after {
  content: '';
  position: absolute;
  top: 6px;
  left: 0;
  width: 6px;
  height: 6px;
  background: #E0C5F6;
  border-radius: 50%;
}
.notice-content .notice-list .notice-item .notice-text {
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  color: #30364d;
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}
.notice-content .notice-list .notice-item .notice-date {
  color: #464C53;
  font-size: 15px;
  line-height: 1;
}

.card .card-title a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
  display: inline-block;
}

.search-modal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
}
.search-modal.is-active {
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-modal__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../../images/portal/search-modal-overlay.svg") center no-repeat;
  background-size: cover;
}
.search-modal__container {
  position: relative;
  z-index: 10000;
}
.search-modal__header {
  text-align: center;
  margin-bottom: 30px;
}
.search-modal__title {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
  font-family: var(--font-family-secondary);
  font-size: 52px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.search-modal__title i {
  display: inline-block;
  margin-left: 10px;
  font-size: 0;
  width: 60px;
  height: 60px;
  background: url("../../images/portal/icon-search-title.svg") center no-repeat;
}
.search-modal__search-bar .search-input-section .search-input-wrapper input {
  width: 540px;
}

.search-modal__content {
/*  display: grid;
*/  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 30px;
}
.search-modal__section {
  padding: 32px;
  border-radius: 12px;
  background: #E0C5F6;
  box-shadow: 0 20px 40px 0 rgba(0, 0, 0, 0.2);
  margin-top: 24px;
}
.search-modal__section-title {
  color: #6719A6;
  font-family: var(--font-family-secondary);
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 15px;
}
.search-modal__list, .search-modal__ranking-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.search-modal__list-item,
.search-modal .ranking-list .ranking-item {
  display: flex;
  height: 32px;
  padding: 0 12px;
  align-items: center;
  gap: 4px;
  align-self: stretch;
  border-radius: 8px;
  background: var(--g-00, #FFF);
}
.search-modal__list-item button {
  display: flex;
  align-items: center;
  gap: 0 4px;
  color: #131416;
  font-size: 15px;
}
.search-modal__list-item .hash {
  color: #C999F0;
}
.search-modal .ranking-list .ranking-item .num {
  background-color: #F4F5F6;
  color: #131416;
  font-family: var(--font-family-secondary);
  font-size: 15px;
  font-weight: 900;
}
.search-modal .ranking-list .ranking-item .word {
  color: var(--color-primary);
}
.search-modal__close-btn {
  display: block;
  margin: 10vh auto 0;
  font-size: 1.5rem;
  transition: transform 0.2s;
  width: 56px;
  height: 56px;
  gap: 10px;
  border-radius: 100px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.1) url("../../images/portal/search-modal-close.svg") center no-repeat;
}
.search-modal__close-btn:hover {
  transform: rotate(90deg);
}

.search .subtop {
  height: auto;
  padding-bottom: 4rem;
}
.search .subtop .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.search .document-utils button {
  color: #fff;
}
.search .document-utils .divider {
  background: rgba(255, 255, 255, 0.3);
}
.search .document-utils .icon {
  background-color: #fff;
}

.search-section {
  position: relative;
  z-index: 2;
}
.search-section:has(.is-active) .search-input-section {
  border-radius: 28px 28px 0 0;
  background: #fff;
}
.search-section:has(.is-active) .search-input-section .search-input-wrapper {
  border-radius: 28px 28px 0 0;
}

.search-header {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}

.search-research {
  color: #fff;
}


.search-input-section {
  position: relative;
  background: white;
  border-radius: 50px;
  padding: 3px;
  background: linear-gradient(to right, #6719A6, #FC0050);
}
.search-input-section .search-input-wrapper {
  background-color: #fff;
  border-radius: 48px;
  padding: 3px;
  display: flex;
  align-items: center;
  padding-right: 16px;
  gap: 8px;
}
.search-input-section .search-input-wrapper input {
  padding-left: 32px;
  width: 540px;
  height: 50px;
  outline: none;
}

.search-dropdown {
  display: none;
  position: absolute;
  top: 56px;
  left: 0;
  width: 100%;
  background-color: #fff;
  padding: 8px 32px 16px 32px;
  border-radius: 0 0 28px 28px;
  border: 1px solid var(--g-10, #e6e8ea);
  background: #fff;
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.1);
}
.search-dropdown.is-active {
  display: block;
}

.search-suggestions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0 16px 0;
}
.search-suggestions .suggestion-item {
  display: flex;
  align-items: center;
  cursor: pointer;
  gap: 0 4px;
}
.search-suggestions .suggestion-item:hover {
  text-decoration: underline;
}
.search-suggestions .suggestion-item .suggestion-text {
  font-size: 1.5rem;
  color: #333;
}
.search-suggestions .suggestion-item .highlight {
  font-weight: 700;
}

.search-settings {
  padding: 8px 32px;
  margin: 0 -32px;
  border-top: 1px solid #e6e8ea;
}
.search-settings .setting-item {
  display: flex;
  align-items: center;
  gap: 0 8px;
  justify-content: space-between;
}
.search-settings .setting-item .setting-label {
  color: #000;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.search-settings .setting-item .switch {
  margin-left: 0;
}
.search-settings .setting-item .close-btn {
  font-size: 1.5rem;
  color: #33363d;
}

.search-history {
  padding: 8px 32px 0;
  margin: 0 -32px;
  border-top: 1px solid #e6e8ea;
  display: flex;
  flex-direction: column;
  gap: 8px 0;
}
.search-history .setting-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 16px;
}
.search-history .clear-btn {
  color: #6d7882;
  font-size: 1.5rem;
  text-decoration: underline;
}
.search-history .setting-label {
  color: #000;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 0 8px;
}
.search-history .history-item {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.search-history .history-item .history-text {
  font-size: 1.4rem;
  color: #333;
  flex: 1;
}
.search-detail-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3px;
  height: 56px;
  padding: 0 24px;
  border-radius: 100px;
  border: 1px solid rgba(19, 20, 22, 0.2);
  background: var(--color-brand-primary);
  border: 1px solid rgba(19, 20, 22, 0.2);
}
.search-detail-btn .text {
  color: #fff;
  font-size: 1.7rem;
}

.ranking-container {
  position: relative;
}

.ranking-wrapper-clone {
  z-index: 2;
  position: absolute;
  top: -10px;
  left: 0;
  display: none;
  width: 200px;
  min-width: 200px;
  padding: 16px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  border-radius: 12px;
  border: 2px solid #2F0B4B;
  background: #FFF;
}
.ranking-wrapper-clone.is-open {
  display: flex;
}

.ranking-wrapper-clone-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.ranking-wrapper-clone-header strong {
  color: #000;
  font-size: 1.5rem;
  font-weight: 700;
}
.ranking-wrapper-clone-header span {
  color: #58616A;
  font-size: 1.3rem;
  font-weight: 400;
}
.ranking-wrapper-clone-header button {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  background: url("../../images/portal/ui-close-icon.svg") center no-repeat;
  font-size: 0;
}

#rankingListClone {
  width: 100%;
}
#rankingListClone .ranking-item {
  width: 100%;
  border-bottom: 1px solid var(--g-20, #CDD1D5);
}
#rankingListClone .num {
  background-color: #F4F5F6;
  color: #811FD0;
}
#rankingListClone .word {
  color: #131416;
}

.ranking-wrapper {
  overflow: hidden;
  height: 24px;
  position: relative;
}

.ranking-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 8px;
  will-change: transform;
}
.ranking-list .ranking-item {
  flex-shrink: 0;
}
.ranking-list .ranking-item button {
  display: flex;
  align-items: center;
  width: 100%;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}
.ranking-list .ranking-item .num {
  display: flex;
  width: 24px;
  height: 24px;
  padding: 2px 4px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  font-weight: 900;
  color: #fff;
  font-size: 15px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.3);
}
.ranking-list .ranking-item .word {
  font-size: 15px;
  color: #fff;
  display: flex;
  vertical-align: top;
  line-height: 24px;
}
.ranking-list .ranking-item .word::before {
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  width: 24px;
  height: 24px;
  font-size: 0;
}
.ranking-list .ranking-item .word.up::before {
  content: "상승";
  background-image: url("../../images/portal/up.svg");
}
.ranking-list .ranking-item .word.down::before {
  content: "하락";
  background-image: url("../../images/portal/down.svg");
}
.ranking-list .ranking-item .word.same::before {
  content: "동일";
  background-image: url("../../images/portal/same.svg");
}

/* .search .search-info .search-info-inner {
  color: #fff;
}
.search .filter-select,
.search .filter-group {
  color: #fff;
}
.search .sort-label,
.search .sort-buttons .sort-btn {
  color: #fff;
}
.search .sort-buttons .sort-btn.active {
  color: #000;
}
.search .filter-select {
  background-image: url("../../images/portal/ui-select-arrow.svg");
}
*/
.search .search-info{padding-bottom: 0;}
.search .subtop-title {
  color: #fff;
}
.search .breadcrumb li + li {
  background-image: url("../../images/portal/breadcrumb-arrow-right-white.svg");
}
.search .breadcrumb li a {
  color: #fff;
}
.search .breadcrumb li span {
  color: #fff;
}
.search .breadcrumb li:first-child a {
  background-image: url("../../images/portal/breadcrumb-home-icon-white.svg");
}

.search-category {
  margin-top: 32px;
}

.tabSwiper {
  border-radius: 32px 12px;
  overflow: hidden;
  position: relative;
}

.tabSwiper .swiper-button-prev::after,
.tabSwiper .swiper-button-next::after {
  color: #333;
  font-size: 1.5rem;
}
.tabSwiper .swiper-button-prev {
  left: 0;
}
.tabSwiper .swiper-button-next {
  right: 0;
}
.tabSwiper .swiper-slide {
  background-color: rgb(217, 217, 217);
}

.tabSwiper .swiper-slide button {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 68px;
  width: 100%;
  font-size: 19px;
  white-space: nowrap;
}
.tabSwiper .swiper-slide button[aria-pressed=true] {
  border-radius: 12px;
  background-color: var(--color-brand-primary);
  color: #fff;
  font-weight: 700;
}

.search-info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 0 24px;
}

.search-info .search-info-inner {
  color: #131416;
  font-size: 1.9rem;
}
.search-info .search-info-inner span {
  font-weight: 700;
  font-size: 25px;
  color: #6719A6;
}


.accordion-container {
  border-radius: 20px;
  border: 1px solid #6719A6;
  background: linear-gradient(90deg, rgba(103, 25, 166, 0.05) 0%, rgba(153, 0, 47, 0.05) 100%), #FFF;
  border-radius: 16px;
  padding: 33px 52px;
}

.accordion-container .accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}
.accordion-container .accordion-title {
  background: linear-gradient(90deg, #6719A6 0%, #FF004E 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-family: var(--font-family-secondary);
  font-size: 25px;
  font-weight: 900;
}

.accordion-container .accordion-icon {
  transition: transform 0.3s ease;
}
.accordion-container .accordion-icon.open {
  transform: rotate(180deg);
}
.accordion-container .accordion-content {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
  max-height: 0;
  overflow: hidden;
  transition: all 0.3s ease;
}

.accordion-container .accordion-content.open {
  max-height: 1000px;
  margin-top: 16px;
}

.search-result-list {
  display: flex;
  flex-direction: column;
  margin-top: 36px;
  gap: 32px;
}
.search-result-list .section {
  border-radius: 12px;
  border: 1px solid #e6e8ea;
  background: #fff;
}
.search-result-list .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px 52px;
}

.search-result-list .section-title {
  font-size: 32px;
  line-height: 1;
}
.search-result-list .section-count {
  color: #58616a;
  font-size: 19px;
}
.search-result-list .section-count .number {
  color: #FF004E;
  font-size: 25px;
  font-weight: 700;
}

.card-grid {
  padding: 0 52px 32px 52px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.card-grid.full-width {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.card {
  background: #fff;
  border: 1px solid #cdd1d5;
  border-radius: 12px;
  padding: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card:has(.card-thumbnail) {
  flex-direction: row;
  gap: 24px;
}
.card:has(.card-thumbnail) .card-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.card .card-thumbnail {
  width: 200px;
  height: 150px;
}
.card .card-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card .card-badge {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0 8px;
}
.card .card-title {
  color: var(--g-95, #131416);
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
}
.card .card-subtitle {
  line-height: 1.34;
  font-size: 15px;
  color: #58616A;
}
.card .card-subtext {
  display: flex;
  flex-direction: column;
  gap: 4px 0;
  padding-top: 12px;
}
.card .card-subtext .item {
  display: flex;
  align-items: center;
  gap: 4px;
}
.card .card-subtext .item b {
  font-weight: 400;
  color: var(--color-tertiary);
  font-size: 1.5rem;
}
.card .card-subtext .item em {
  color: var(--color-secondary);
  font-style: normal;
}
.card .card-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding-top: 16px;
  border-top: 1px solid #e6e8ea;
}

.more-link {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  border-top: 1px solid #e6e8ea;
}
.more-link-text {
  display: flex;
  align-items: center;
  gap: 3px;
  font-size: 19px;
  transition: all 0.3s ease;
}
.more-link-text i {
  transition: all 0.3s ease;
  transform: translateX(0);
}
.more-link:hover, .more-link:focus {
  text-decoration: underline;
}
.more-link:hover .icon-arrow-right, .more-link:focus .icon-arrow-right {
  transform: translateX(4px);
}

.search-detail-filter {
  width: 812px;
}


.filter-content {
  display: flex;
  flex-direction: column;
  gap: 16px 0;
}
.filter-content .divider {
  background-color: #e6e8ea;
  height: 1px;
}
.filter-content .filter-row {
  display: flex;
  align-items: center;
}

.filter-content .filter-row .filter-title {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  width: 160px;
  padding: 7px 0;
  flex-shrink: 0;
  font-weight: 600;
  background: #f4f5f6;
  border-radius: 8px;
  font-size: 1.7rem;
}

.filter-content .filter-row .filter-column {
  position: relative;
  padding-left: 32px;
  display: flex;
  flex: 1;
}
.filter-content .filter-row .filter-column::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 0;
  width: 1px;
  height: 100%;
  background-color: #e6e8ea;
  z-index: 1;
}
  

.filter-footer {
  padding-top: 40px;
  border-top: 1px solid #e6e8ea;
}

.form-checkbox {
  display: inline-flex;
  align-items: center;
  gap: 0 4px;
}

.form-checkbox-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  flex: 1;
  gap: 8px 0;
}
.form-checkbox-group.length-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

/*
  .history-list
*/
.history-list .konan-recent li {
  display: flex;
  align-items: center;
  gap: 0 4px;
  padding-left: 24px;
  background: url(../../images/portal/icon-time.png) no-repeat left center;
}
.history-list .konan-recent li a {
  font-size: 1.4rem;
  color: #333;
  flex: 1;
}
.history-list .konan-recent li .ui-icon {
  display: inline-block;
  width: 20px;
  height: 20px;
  vertical-align: middle;
  flex-shrink: 0;
  mask-image: url(../../images/portal/icon-delete.svg);
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url(../../images/portal/icon-delete.svg);
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
  background-color: #6D7882;
}

.keyword .search-info {
  padding-top: 40px;
}

.keyword-search {
  margin-bottom: 40px;
}
.keyword-search:has(.is-open) {
  padding-bottom: 0;
}

.keyword-selector {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
.keyword-selector h3 {
  font-size: 32px;
}

.keyword-selector-utils {
  display: flex;
  gap: 0 12px;
  align-items: center;
}
.keyword-selector-utils .info-text {
  color: #6d7882;
  font-size: 15px;
}
.keyword-selector-utils .divider {
  width: 1px;
  height: 12px;
  background: #b1b8be;
}
.keyword-selector-utils .auto {
  display: flex;
  align-items: center;
  gap: 0 12px;
}
.keyword-selector-utils .auto .text {
  color: #33363d;
}

.keyword-search-form {
  display: flex;
  justify-content: center;
}
.keyword-search-form .search-bar-wraps {
  width: 688px;
  height: 62px;
  background: url("../../images/portal/input.png") no-repeat center center;
  display: flex;
  align-items: center;
  border-radius: 100px;
  box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.3);
  overflow: hidden;
}
.keyword-search-form .search-bar-wraps input[type=text] {
  width: 100%;
  flex: 1;
  height: 100%;
  background: transparent;
  border: none;
  outline: none;
  padding: 0 32px;
  border: 0;
}
.keyword-search-form .btn-search {
  display: flex;
  height: 40px;
  padding: 0 16px;
  align-items: center;
  gap: 8px;
}
.keyword-search-form .btn-search .text {
  font-size: 19px;
  color: #fff;
}
.keyword-search-form .btn-search i {
  display: block;
  width: 20px;
  height: 20px;
  background: url("../../images/portal/icon-search-k.svg") no-repeat center center;
}

.recommand-keywords {
  display: flex;
  justify-content: center;
  padding-top: 27px;
  gap: 0 10px;
}
.recommand-keywords strong {
  font-weight: 700;
  font-size: 17px;
  color: #6719a6;
}
.recommand-keywords ul {
  display: flex;
  gap: 0 10px;
  align-items: center;
}

.tags {
  display: flex;
  padding: 8px 12px;
  justify-content: center;
  align-items: center;
  gap: 2px;
  line-height: 1;
  border-radius: 1000px;
  border: 1px solid #cdd1d5;
  background: #fff;
}
.tags em {
  color: #c999f0;
  font-weight: 700;
}

.keyword-category {
  display: flex;
  justify-content: center;
  gap: 0 16px;
  margin-bottom: 40px;
}
.keyword-category .keyword-category-btn {
  display: flex;
  width: 160px;
  padding: 12px 0 16px 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 20px;
  border: 2px solid var(--g-10, #E6E8EA);
  background: var(--g-00, #FFF);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
}
.keyword-category .keyword-category-btn .icon-wrap {
  display: flex;
  width: 52px;
  height: 52px;
  padding: 2px;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border-radius: 50%;
}
.keyword-category .keyword-category-btn .text {
  font-size: 19px;
  transition: color 0.3s ease;
}
.keyword-category .keyword-category-btn.selected {
  border-color: #811FD0;
}
.keyword-category .keyword-category-btn.selected .icon-wrap {
  background-color: #811FD0;
}
.keyword-category .keyword-category-btn.selected .icon-wrap svg path {
  fill: #fff !important;
}
.keyword-category .keyword-category-btn.selected span {
  color: #6719a6;
}

.popular-container {
  display: flex;
  gap: 0 32px;
}
.popular-container .l {
  display: flex;
  width: 329px;
  padding: 32px;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  flex-shrink: 0;
  border-radius: 52px 12px 12px 12px;
  border: 1px solid #b1b8be;
  background: #fff;
  box-shadow: 0 4px 0 0 #e6e8ea;
}
.popular-container .r {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  flex: 1 0 0;
  border-radius: 12px 12px 52px 12px;
  border: 1px solid #b1b8be;
  background: #fff;
  box-shadow: 0 4px 0 0 #e6e8ea;
}
.popular-container .popular-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: 1.7rem;
  line-height: 1;
  margin-bottom: 15px;
}
.popular-container .popular-header span {
  color: #58616a;
  position: relative;
  padding-left: 12px;
}
.popular-container .popular-header span::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1px;
  height: 12px;
  background: #b1b8be;
}

.keyword-ranking {
  width: 100%;
}
.keyword-ranking .ranking-item {
  width: 100%;
  border-bottom: 1px solid #cdd1d5;
  padding: 12px 0;
}
.keyword-ranking .ranking-item button {
  width: 100%;
}
.keyword-ranking .ranking-item .num {
  background-color: #f4f5f6;
  color: #6719a6;
  font-size: 15px;
  font-weight: 900;
  font-family: var(--font-family-secondary);
  width: 32px;
  height: 32px;
}
.keyword-ranking .ranking-item .word {
  color: #131416;
  font-size: 17px;
}

.popular-hits-list {
  width: 100%;
}

.popular-hits-rows {
  width: 100%;
}
.popular-hits-rows li {
  display: flex;
  height: 64px;
  padding: 12px 0;
  align-items: center;
  gap: 12px;
  align-self: stretch;
  border-bottom: 1px solid #cdd1d5;
  background: #fff;
  overflow: hidden;
  width: 985px;
}
.popular-hits-rows li .num {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #f4f5f6;
  color: #6719a6;
  font-size: 15px;
  font-weight: 900;
  font-family: var(--font-family-secondary);
  width: 32px;
  height: 32px;
}
.popular-hits-rows li .tags {
  display: flex;
  height: 40px;
  padding: 0 24px;
  justify-content: center;
  align-items: center;
  border-radius: 20px;
  border: 1px solid #E0C5F6;
  background: #FFF;
  color: #4A1278;
  font-size: 17px;
  flex-shrink: 0;
}
.popular-hits-rows li .text {
  overflow: hidden;
  color: #131416;
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1 0 0;
  min-width: 0;
  max-width: 100%;
}
.popular-hits-rows li .hit {
  display: flex;
  align-items: center;
  gap: 4px;
  color: #6D7882;
  font-size: 15px;
  flex-shrink: 0;
}

.search-info.default .search-result-count,
.search-info.default .search-keyword {
  color: var(--color-brand-primary);
}

.search-result-wrap {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.search-result-wrap .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.search-result-wrap .section-header h4 {
  font-size: 32px;
  line-height: 1;
}
.search-result-wrap .section-header h4:has(em) {
  display: flex;
  align-items: center;
  gap: 4px;
}
.search-result-wrap .section-header h4:has(em) em {
  color: #58616A;
  font-weight: 400;
  font-size: 17px;
  padding-left: 12px;
  margin-left: 12px;
  position: relative;
  display: inline-block;
  vertical-align: top;
}
.search-result-wrap .section-header h4:has(em) em::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1px;
  height: 16px;
  background: #CDD1D5;
}
.search-result-wrap .section-header .section-header-right {
  display: flex;
  align-items: center;
  font-size: 19px;
  color: #58616A;
}
.search-result-wrap .section-header .section-header-right .btn {
  padding: 17px 24px;
  line-height: 1;
  border-radius: 100px;
  font-size: 19px;
  color: #1E2124;
}
.search-result-wrap .section-header .section-header-right .btn .icon-download {
  width: 24px;
  height: 24px;
  transition: all var(--transition-fast);
}
.search-result-wrap .section-header .section-header-right .btn:hover, .search-result-wrap .section-header .section-header-right .btn:focus {
  color: #fff;
}
.search-result-wrap .section-header .count {
  color: #FF004E;
  font-weight: 700;
  font-size: 25px;
  padding: 5px;
}
.search-result-wrap .section-header .more {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 700;
  line-height: 1;
  border-radius: 100px;
  border: 1px solid #E6E8EA;
  padding: 12px 24px;
  font-size: 19px;
  margin-left: 20px;
}
.search-result-wrap .section-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  align-self: stretch;
  gap: 30px;
}

.source-info {
  /* height: 58px;
  padding: var(--padding-6, 16px); */
  /* border-radius: 8px;
  border: 1px solid #E6E8EA;
  background: #F4F5F6; */
  color: #1E2124;
  /* margin-bottom: 25px; */
}

.source-info.nice-info {
  color: #58616A;
}

.source-info a{
  display: inline-flex;
  vertical-align: top;
  align-items: center;
  gap:0 4px;
  color: #0B78CB;
  font-weight: 600;
  text-decoration: underline;
  position: relative;
  padding-right: 28px;
}
.source-info a::after{
  content: "";
  position: absolute;
  right: 0;
  width: 24px;
  height: 24px;
  background: url("../../images/portal/link.png") no-repeat center center;
}

.alert-message{
  margin-bottom: 24px;
  display: flex;
  width: 100%;
  padding: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 12px;
  border-radius: 8px;
  border: 1px solid #E6E8EA;
  background: #F4F5F6;
}
.alert-message-title{
  font-size: 17px;
  font-weight: 700;
  line-height: 1;
  color: #1E2124;
  background: url("../../images/portal/system-info.svg") no-repeat left center;
  padding-left: 32px;
  display: block;
  height: 24px;
  line-height: 24px;
}
.alert-message-content{
  padding-left: 32px;
}
.alert-message-content p{
  font-size: 15px;
  line-height: 150%;
  color: #1E2124;
  position: relative;
  padding-left: 10px;
  margin-left: 10px;
}
.alert-message-content p::after{
  content: "";
  display: block;
  width: 3px;
  height: 3px;
  background: #1E2124;
  border-radius: 50%;
  position: absolute;
  top: 10px;
  left: 0;
}

.keyword-card {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  gap: 12px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  background: #FFF;
  transition: all var(--transition-fast);
  position: relative;
}

.keyword-card:hover, .keyword-card:focus {
  border: 1px solid #9940E2;
  background: #FFF;
  box-shadow: 0 8px 8px 0 rgba(74, 18, 120, 0.2);
}
.keyword-card:hover .subeject,
.keyword-card:focus .subeject {
  color: #6719A6;
}
.keyword-card .subeject{
  font-size: 19px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
  max-width: 100%;
  vertical-align: middle;
  line-height: 1;
  color: #131416;
}
.subeject-path{
  color: #58616A;
  font-size: 15px;
}
.subject-tags{
  position: absolute;
  right: 32px;
  top: 32px;
  display: flex;
  align-items: center;
  gap:0 8px;
}

.min-max-wrap{
  position: absolute;
  right: 32px;
  top: 32px;
  display: flex;
  align-items: center;
  gap:0 32px;
}

.min-max-divider{
  width: 1px;
  height: 65px;
  background: #CDD1D5;
}

.min-max-item{

}
.min-max-item span{
  text-align: right;
  display: block;
}
.min-max-title{
  color: #33363D;
  font-size: 21px;
  gap:0 10px;
  display: flex !important;
  align-items: center;
}
.min-max-title b{
  font-size: 15px;
}

.min-max-title b.brand-color{
  color: var(--color-brand-primary);
}



.min-max-title{
  
}
.keyword-card .info{position: relative;width: 100%;}
.keyword-card .info dl+dl{
  margin-top: 10px;
}
.keyword-card .info dl {
  display: flex;
  align-items: center;
  gap: 8px;
}
.keyword-card .info dl dt {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: #131416;
  padding: 7px 8px;
  border-radius: 4px;
  background: #F4F5F6;
}

.label-about{
  position: relative;
}
.label-about dl{
  display: flex;
  align-items: center;
  gap: 4px;
}
.label-about dl dd+dt{margin-left: 10px;}
.label-about dl dt{
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: #131416;
  padding: 7px 8px;
  border-radius: 4px;
  background: #F4F5F6;
}
.label-about dl dd{
  font-size: 15px;
  line-height: 1;
  color: #58616A;
}

.keyword-card .info dl .label-badge {
  display: flex;
  height: 32px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  border: 1px solid #E0C5F6;
  background: #F8F2FD;
  width: 128px;
  margin-right: 12px;
}
.keyword-card .info dl .label-badge .icon {
  width: 20px;
  height: 20px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.icon-store1{
  background-image: url("../../images/portal/icon-store1.svg");
}
.icon-store2{
  background-image: url("../../images/portal/icon-store2.svg");
}

.icon-store3{
  background-image: url("../../images/portal/icon-store3.svg");
}

.keyword-card .info dl dd {
  font-size: 17px;
  line-height: 1;
  color: #131416;
}
.keyword-card .info dl dd + dt {
  margin-left: 52px;
}

.keyword-card .link-area {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #9940E2;
  font-size: 15px;
  text-decoration: underline;
}
.keyword-card .link-area *:not(:first-child) {
  padding-left: 12px;
  background: url("../../images/portal/icon-arrow-right-brand.svg") no-repeat left center;
  background-size: 10px 6px;
}

.keyword-card-buttons {
  display: flex;
  gap: 20px 12px;
  align-self: stretch;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
}
.keyword-card-buttons .btn {
  display: flex;
  height: 56px;
  padding: 0 20px 0 8px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  font-size: 19px;
  color: #131416;
  border-radius: 100px;
  border: 1px solid #B1B8BE;
  background: #F4F5F6;
  font-weight: 400;
  
}
.keyword-card-buttons .btn::before {
  content: "";
  display: block;
  width: 32px;
  height: 32px;
  background: url("../../images/portal/chick.svg") no-repeat center center;
}
.keyword-card-buttons .btn:hover, .keyword-card-buttons .btn:focus, .keyword-card-buttons .btn.selected {
  border-radius: 100px;
  border: 1px solid #9940E2;
  background: #B16DE9;
  color: #fff;
}
.keyword-card-buttons .btn:hover::before, .keyword-card-buttons .btn:focus::before, .keyword-card-buttons .btn.selected::before {
  background: url("../../images/portal/chick-on.svg") no-repeat center center;
}

.keyword-filters {
  position: relative;
  padding: 20px 32px;
  border-radius: 20px;
  background: #F4F5F6;
}
.keyword-filters .keyword-filters-inner {
  position: relative;
}
.btn-extend {
  position: absolute;
  bottom: 0;
  right: 0;
  display: flex;
  height: 48px;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}
.btn-extend .text {
  font-size: 17px;
  color: #2F0B4B;
  border-bottom: 1px solid #2F0B4B;
}
.btn-extend .text::before{
  content:'';
  display: inline-block;
  transform: rotate(0deg);
  transition: all var(--transition-fast);
  width: 12px;
  height: 7px;
  background: url("../../images/portal/icon-more-arrow.svg") no-repeat center center;
  margin-right: 6px;
}
.btn-extend i {
  background: url("../../images/portal/icon-more.svg") no-repeat center center;
  width: 24px;
  height: 24px;

}
.btn-extend.active .text::before {
  transform: rotate(180deg);
}
.btn-extend.active i {
  background-image: url("../../images/portal/icon-more-active.svg");
}
.keyword-filters .board-search {
  padding: 20px 0 0;
  margin-top: 20px;
  border-top: 1px solid #CDD1D5;
  border-radius: 0;
}

.board-search._extend{
  position: relative;
}
.board-search._extend .board-search__fields,
.board-search._extend .board-search__actions{
  display: none;
}
.board-search._extend .board-search__fields:first-child{
  display: grid;
}
.board-search._extend .btn-extend{
  bottom: 20px;
  right: 20px;
}

.board-search._extend.open .board-search__fields{
  display: grid;
}
.board-search._extend.open .board-search__actions{
  display: flex;
}

.keyword-filters-form {
  display: none;
}
.keyword-filters-form.is-open {
  display: block;
}

.form-group--inline .date-input {
  width: 36rem;
}

.info-cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  margin-top: 20px;
}


.info-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding: 24px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid #E6E8EA;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.info-card-label {
  display: inline-block;
  padding: 6px 14px;
  background: #F3F4F6;
  color: #6B7280;
  font-size: 14px;
  font-weight: 500;
  border-radius: 9999px;
  line-height: 1;
}

.info-card-value {
  display: block;
  width: 100%;
  text-align: right;
  font-size: 24px;
  font-weight: 700;
  color: #131416;
  line-height: 1.2;
}

.category-selector {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  min-height: 400px;
  border: 1px solid #E6E8EA;
}

.category-column {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #fff;
  min-width: 0;
  max-height: 464px;
}
.category-column:last-child .category-header,
.category-column:last-child .category-list {
  border-right: none;
}

.category-header {
  color: #fff;
  height: 48px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #6719A6;
  background: #2F0B4B;
}

.category-list {
  flex: 1;
  overflow-y: auto;
  padding: 12px;
  border-right: 1px solid #E6E8EA;
}

.category-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  font-size: 15px;
  color: #131416;
  cursor: pointer;
  transition: background-color 0.2s;
  gap: 0 8px;
  border-radius: 6px;
}
.category-item.selected {
  background-color: #F8F2FD;
  color: #6719A6;
  font-weight: 600;
}
.category-item span {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.category-placeholder {
  display: flex;
  gap: 8px;
  padding: 8px 0;
  color: #58616A;
  font-size: 15px;
}
.category-placeholder em {
  color: var(--color-brand-primary);
}

.product-selector {
  background-color: #fff;
  border-radius: 12px;
  overflow: hidden;
  min-height: 400px;
  border: 1px solid #E6E8EA;
}

.product-selector-header {
  color: #fff;
  height: 48px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid #6719A6;
  background: #2F0B4B;
}

.product-selector-list {
  padding: 12px 24px;
  flex: 1;
  overflow-y: auto;
}
.product-selector-list li {
  padding: 12px 0;
}
.product-selector-list li .code {
  color: var(--color-brand-primary);
}

.row-wrap {
  width: 100%;
  display: flex;
  gap: 0 32px;
}
.row-wrap.mt-32{margin-top: 32px;}
.row-wrap .col-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.row-wrap .col-header h5 {
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}
.row-wrap .col-header h5 em {
  color: var(--color-brand-primary);
  font-weight: 700;
}
.row-wrap .col-header h5 small {
  font-weight: 400;
  font-size: 17px;
}
.row-wrap .col-header .unit {
  font-size: 17px;
  color: var(--color-gray-500);
  font-weight: 400;
  line-height: 1;
  padding-left: 12px;
  position: relative;
}
.row-wrap .col-header .unit::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 0;
  width: 1px;
  height: 12px;
  background: #B1B8BE;
}
.row-wrap .col-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.border-col {
  border-radius: 12px;
  border: 1px solid #B1B8BE;
  background: #FFF;
  box-shadow: 0 4px 0 0 #E6E8EA;
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.border-col.p0 {
  padding: 0;
}

.number-list .number-item {
  padding: 16px 0;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid #B1B8BE;
}
.number-list .number-item .number-item-title {
  display: flex;
  align-items: center;
  gap: 0 4px;
}
.number-list .number-item .num {
  display: flex;
  width: 32px;
  height: 32px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #F4F5F6;
  font-family: var(--font-family-secondary);
  color: #811FD0;
  font-weight: 900;
  font-size: 15px;
}
.number-list .number-item .value {
  text-align: right;
  font-weight: 700;
  color: #811FD0;
  font-size: 21px;
}

.tags-controls {
  display: flex;
  gap: 0 20px;
  align-items: flex-start;
}
.tags-controls .tags-control__adder {
  padding: 11px 16px;
  font-size: 17px;
}

.tags-controls-wrap{
  padding-top: 8px;
}

.tags-control__list {
  margin-top: 4px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.tags-control__list .badge {
  background-color: #fff;
  border-color: #CDD1D5;
}
.tags-control__list .badge__close {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background-color: #CDD1D5;
}

#detailChart{
  margin-bottom: 32px;
}

.detail-title{
  margin-bottom: 20px;
}

.detail-title strong{
  color: #4A1278;
  font-size: 21px;
  font-weight: 700;
  line-height: 150%;
  padding-left: 20px;
  background: url("../../images/portal/icon-detail-title.svg") no-repeat left center;
}
.financial-stats-row.mt-32{margin-top: 32px;}
.financial-stats-row{
  display: flex;
  padding: 20px 32px;
  align-items: flex-start;
  gap: 12px;
  align-self: stretch;
  border-radius: 12px;
  border: 1px solid #B1B8BE;
  background: #FFF;
  box-shadow: 0 4px 0 0 #F4F5F6;
}

.financial-stat-card-separator{
  width: 1px;
  height: 76px;
  background-color: #B1B8BE;
}

.financial-stat-card{
  display: flex;
  padding: 0 40px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
}

.financial-stat-card .stat-label{
  color: #1E2124;
  font-size: 19px;
  font-weight: 700;
}

.financial-stat-card .stat-value{
  color: #1E2124;
  font-size: 32px;
  font-weight: 700;
}

.financial-stat-card .stat-unit{
  color: #1E2124;
  font-size: 17px;
  font-weight: 700;
}

.risk-info-section{
  margin-top: 32px;
}

.risk-info-grid{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.risk-info-card{
  min-height: 32px;
  padding: 20px 30px;
  border-radius: 12px;
  border: 1px solid #CDD1D5;
  position: relative;
}

.risk-info-card::before{
  content:"";
  width: 4px;
  height: 70px;
  border-radius: 0 4px 4px 0;
  background: #E0C5F6;
  position: absolute;
  left: 6px;
  top: 20px;
}

.risk-info-label{
  color: #33363D;
  font-size: 19px;
  font-weight: 700;
}

.risk-info-value{
  text-align: right;
  color: #131416;
  font-size: 25px;
  font-weight: 700;
  line-height: 150%;
}

.risk-badge {
  display: inline-flex;
  height: 32px;
  padding: 0 12px;
  justify-content: center;
  align-items: center;
  font-weight: 600;
  font-size: 17px;
  border-radius: 100px;
}
.risk-badge--excellent{
  background-color: #F8F2FD;
  color: #811FD0;
}
.risk-badge--good{
  background-color: #FFF8EB;
  color: #C78500;
}
.risk-badge--not-evaluated{
  background-color: #E6E8EA;
  color: #6D7882;
}

/*
  keyword-read2
*/
.sitemap-wrap {
  width: 100%;
}

.sitemap-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 32px;
  width: 100%;
}

.sitemap-column {
  display: flex;
  flex-direction: column;
}
.sitemap-column__title {
  border-radius: 12px;
  border: 1px solid #C999F0;
  background: #F8F2FD;
  display: flex;
  height: 56px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  color: #2F0B4B;
  text-align: center;
  font-family: "Pretendard GOV";
  font-size: 21px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.sitemap-column__list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
}
.sitemap-column__list > li {
  border-bottom: 1px solid #E6E8EA;
  position: relative;
}
.sitemap-column__list > li > a {
  display: flex;
  height: 48px;
  padding: 10px 10px 10px 20px;
  align-items: center;
  gap: 10px;
  align-self: stretch;
  transition: color 0.4s ease;
  font-size: 17px;
  color: #131416;
}
.sitemap-column__list > li > a:hover, .sitemap-column__list > li > a:focus {
  color: #2F0B4B;
  font-weight: 500;
}
.sitemap-column__sublist {
  display: flex;
  padding: 16px 20px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 10px;
  align-self: stretch;
  border-top: 1px solid #E6E8EA;
  background: #F4F5F6;
}
.sitemap-column__sublist li {
  position: relative;
  padding-left: 12px;
}
.sitemap-column__sublist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  background: url("../../images/portal/sitemap-dot.svg") no-repeat center center;
  line-height: 1;
  width: 4px;
  height: 4px;
}
.sitemap-column__sublist li a {
  display: block;
  font-size: 17px;
  color: #464C53;
  text-decoration: none;
  transition: color 0.2s ease;
}
.sitemap-column__sublist li a:hover, .sitemap-column__sublist li a:focus {
  color: #6719A6;
}

.max-min-ui{
  position: absolute;
  right: 32px;
  top: 32px;
}

/*
  식품산업관련 통계
*/
.sta_list_ul button {
  display: block;
  position: relative;
  width: 100%;
  border-radius: 8px;
  height: 56px;
  text-align: left;
}


.sta_list_ul .dep1 + .dep1 {
  margin-top: 10px;
}

.sta_list_ul .dep1 > button {
  background: url("../../images/portal/icon-sta-1.png") no-repeat 20px center;
  border: 1px solid #58616A;
  padding-left: 52px;
  font-size: 19px;
  font-weight: 400;
}

.sta_list_ul .dep1 > button::after {
  content: "";
  display: block;
  position: absolute;
}
/* 
.sta_list_ul .dep1 > button::before {
  background: url("../images/data/bullet.png") no-repeat 0 0;
  width: 24px;
  height: 24px;
  left: 35px;
  top: 50%;
  transform: translateY(-50%);
} */

.sta_list_ul .dep1 > button::after {
  background: url("../../images/portal/icon-sta-arrow.png") no-repeat 0 0;
  transform: translateY(-50%) rotate(0deg);
  transition: all 0.15s;
  width: 24px;
  height: 24px;
  right: 20px;
  top: 50%;
}

.sta_list_ul .dep1.active > button {
  border-color: #6719A6;
  background-image: url("../../images/portal/icon-sta-1-active.png");
}

.sta_list_ul .dep1.active > button::after {
  transform: translateY(-50%) rotate(180deg);
}

.sta_list_ul .dep2 {
  margin-top: 10px;
}

.sta_list_ul .dep2 > button {
  background: #fff url("../../images/portal/icon-sta-2.png") no-repeat 24px center;
  padding-left: 52px;
  border: 1px solid #58616A;
  font-size: 19px;
  font-weight: 400;
  color: #58616A;
}


.sta_list_ul .dep2 > button::after {
  background: url("../../images/portal/icon-sta-arrow.png") no-repeat 0 0;
  transform: translateY(-50%) rotate(180deg);
  transition: all 0.15s;
  width: 24px;
  height: 24px;
  right: 20px;
  top: 50%;
}
.sta_list_ul .dep2.active > button {
  background-image: url("../../images/portal/icon-sta-2-active.png");
  color: #131416;
}
.sta_list_ul .dep2.active > button::after {
  transform: translateY(-50%) rotate(0deg);
}

.sta_list_ul .dep3 {
  margin-top: 10px;
}

.sta_list_ul .dep3 > button {
  background: #fff url("../../images/portal/icon-sta-3.png") no-repeat 32px center;
  border: 1px solid #58616A;
  border-radius: 8px;
  padding-left: 52px;
  font-size: 19px;
  font-weight: 400;
  color: #58616A;
}

.sta_list_ul .dep3.active > button {
  background-image: url("../../images/portal/icon-sta-3-active.png");
  color: #131416;
}



.sta_list_ul .dep4 {
  margin-top: 4px;
}

.sta_list_ul .dep4 > button {
  background: #f8f8f8;
  padding-left: 70px;
  font-size: 16px;
  font-weight: 600;
  color: #222;
}

.sta_list_ul .dep4 > button::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #005d2f;
  border-radius: 50%;
  left: 50px;
  top: 50%;
  transform: translateY(-50%);
}
.sta_list_ul .dep5 {
  margin-top: 4px;
}

.sta_list_ul .dep5 > button {
  background: #f8f8f8;
  padding-left: 70px;
  font-size: 14px;
  font-weight: 600;
  color: #222;
}

.sta_list_ul .dep5 > button::before {
  content: "";
  display: block;
  position: absolute;
  width: 8px;
  height: 8px;
  background-color: #829e40;
  border-radius: 50%;
  left: 50px;
  top: 50%;
  transform: translateY(-50%);
}

.sta_list_ul .last li {
  padding-left: 74px;
  background: url("../../images/portal/sta-last.png") no-repeat 52px center;
  border-bottom: 1px solid var(--g-20, #CDD1D5);
}

.sta_list_ul .last li button {
  color: #58616A;
  font-size: 17px;
}

.sta_list_ul .last li button a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: #131416;
  font-size: 17px;
  height: 42px;
  font-weight: 400;
  line-height: 1;
  background: url("../../images/portal/sta-arrow-right.svg") no-repeat right 10px center;
  border-radius: var(--radius-small3, 4px);
  border: 1px solid #58616A;
  padding-right: 28px;
  padding-left: 10px;
  margin-left: 32px;
}
.sta_view .last > li {
  padding-left: 10px;
}

.single-fields{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 12px;
}
.single-fields .input{
  width: 45rem;
}
.switch-group{
  display: flex;
  align-items: center;
  gap: 0 8px;
  margin-bottom: 0;
}
.switch-group span{
  white-space: nowrap;
}

.echarts{
  display: flex;
  padding: 40px;
  border-radius: 12px;
  border: 1px solid var(--g-20, #CDD1D5);
  background-color: #fff;
  gap:30px;
}
.echarts .mapChartDiv{
 border: 1px solid #CDD1D5;
 border-radius: 12px;
 background-color: #fff;
}

.echarts .barChartDiv{
  border: 1px solid #CDD1D5;
 border-radius: 12px;
 background-color: #fff;
}
.keyword-card .link-groups{
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  gap:0 36px;
}
.keyword-card .link-groups a{
  display: flex;
  height: var(--size-height-5, 32px);
  min-width: 60px;
  padding: 0 var(--padding-4, 10px);
  justify-content: center;
  align-items: center;
  gap: var(--gap-1, 2px);
  border-radius: var(--radius-small3, 4px);
  border: 1px solid var(--g-60, #58616A);
  background: url("../../images/portal/icon-blank-black.png") no-repeat right 10px center;
  color: #1E2124;
  font-size: 15px;
  padding-right: 28px;
}


.commend-list {}

.commend-list .swiper-slide > a {
  display: block;
  background-color: #fff;
  border-radius: 5px;
  border: 1px solid #e1e1e1;
  padding: 20px;
}

table caption{display: none;}

.download-group{
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.btn-download-common{
  display: flex;
  height: var(--size-height-6, 40px);
  min-width: 64px;
  padding: 0 var(--padding-5, 12px);
  justify-content: center;
  align-items: center;
  gap: var(--gap-2, 4px);
  border-radius: var(--radius-medium1, 6px);
  background: var(--g-80, #33363D);
  font-size: 15px;
  color: #FFF;
}
.btn-download-common i{
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("../../images/portal/icon-download-white.png") no-repeat center center;
}



.credit-flex-wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;   /* 테이블 사이 간격 */
  width: 100%;
}
.blur-contents-inner{
position: relative;
border: 1px solid #eee;
border-radius: 10px;
margin-top: 20px;
}
.blur-contents-inner-text{
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.blur-contents-inner-text p{
color: #131416;
font-size: 19px;
font-weight: 700;
white-space: nowrap;
opacity: .9;
margin-bottom: 20px;
}
.blur-contents-inner-text a{
padding: 15px 32px;
height: 48px;
background: var(--color-brand-primary);
color: #fff;
font-size: 15px;
font-weight: 700;
border-radius: 100px;
display: inline-block;
line-height: 1;
}

.left-line {
border-left: 1px solid #B1B8BE;
}

.table td.left-line {
padding: 12px;
}

/*
  통합검색
*/


.card .info{}
.card .info dl {
  display: flex;
  align-items: center;
  gap: 8px;
}
.card .info dl dt {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  color: #131416;
  padding: 7px 8px;
  border-radius: 4px;
  background: #F4F5F6;
}
.card .info dl dd+dt{
  margin-left: 52px;
}
.card .info dl .label-badge {
  display: flex;
  height: 32px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  border-radius: 100px;
  border: 1px solid #E0C5F6;
  background: #F8F2FD;
  width: 128px;
  margin-right: 12px;
}

.table-sales{
  width: 100%;
  border-collapse: collapse;
}
.table-sales th{
  border-top: 1px solid #E6E8EA;
  border-bottom: 1px solid #E6E8EA;
  background: #F4F5F6;
  font-weight: 400;
  color: #58616A;
  font-size: 15px;
  padding: 11px 0;
  text-align: center;
  line-height: 1;
}

.table-sales td{
  height: 48px;
  text-align: center;
  font-size: 17px;
  color: #131416;
  border-bottom: 1px solid #F4F5F6;
}

.prod-table-name{
  padding-left: 28px;
  background-repeat: no-repeat;
  background-position: left center;
  color: #131416;
  width: 90px;
  display: inline-block;
  text-align: left;
}
.prod-table-name.supermarket{
  background-image: url("../../images/portal/supermarket.png");
}
.prod-table-name.convenience{
  background-image: url("../../images/portal/convenience.png");
}
.prod-table-name.mart{
  background-image: url("../../images/portal/mart.png");
}

.board-categorys{
 display: grid;
 grid-template-columns: repeat(8, minmax(0, 1fr));
 gap: 16px;
 padding-bottom: 20px;
}

.board-categorys .board-category-btn{
  border-radius: 20px;
  border: 2px solid var(--g-10, #E6E8EA);
  background: var(--g-00, #FFF);
  box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.12);
  display: flex;
  padding: 12px 0 16px 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  position: relative;
}

.board-categorys .board-category-btn input[type="radio"] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  margin: 0;
  padding: 0;
}

.board-categorys .board-category-btn .icon-wrap{
  display: flex;
  width: 52px;
  height: 52px;
  padding: 2px;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background-color: #fff;
}

.board-categorys .board-category-btn .icon-wrap i{
  width: 48px;
  height: 48px;
  background-color:  #464C53;
}

.board-categorys .board-category-btn .text{
  font-size: 19px;
  font-weight: 700;
  transition: color 0.3s ease;
}

.board-categorys .board-category-btn.selected,
.board-categorys .board-category-btn:has(input[type="radio"]:checked) {
  border-color: #9940E2;
}

.board-categorys .board-category-btn.selected .text,
.board-categorys .board-category-btn:has(input[type="radio"]:checked) .text {
  color: #9940E2;
}

.board-categorys .board-category-btn.selected .icon-wrap,
.board-categorys .board-category-btn:has(input[type="radio"]:checked) .icon-wrap {
  background-color: #9940E2;
}

.board-categorys .board-category-btn.selected .icon-wrap i,
.board-categorys .board-category-btn:has(input[type="radio"]:checked) .icon-wrap i {
  background-color: #fff;
}

.icon-all{
  mask-image: url("../../images/portal/icon-cate-1.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-1.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-company{
  mask-image: url("../../images/portal/icon-cate-2.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-2.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-material{
  mask-image: url("../../images/portal/icon-cate-3.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-3.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-license{
  mask-image: url("../../images/portal/icon-cate-4.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-4.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-technology{
  mask-image: url("../../images/portal/icon-cate-5.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-5.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-law{
  mask-image: url("../../images/portal/icon-cate-6.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-6.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-statistics{
  mask-image: url("../../images/portal/icon-cate-7.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-7.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
}
.icon-etc{
  mask-image: url("../../images/portal/icon-cate-8.svg");
  mask-size: contain;
  mask-position: center;
  -webkit-mask-image: url("../../images/portal/icon-cate-8.svg");
  -webkit-mask-size: contain;
  -webkit-mask-position: center;
} 

.board-card__info{
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.board-card__info.row{
  display: flex;
  flex-direction: row;
  gap: 42px;
}

.board-card__info+.board-card__info{
  margin-top: 10px;
}

.board-card__info dl{
  display: flex;
  align-items: center;
  gap: 8px;
}
.board-card__info dl dt{
  display: flex;
  height: 32px;
  padding: 0 8px;
  justify-content: center;
  align-items: center;
  border-radius: 4px;
  background: #F4F5F6;
  font-weight: 700;
}
.board-card__info dl dd{
  color: #131416;
  font-size: 15px;
}

.commend-slider{
  padding: 60px 0;
  position: relative;
}

.commend-slider::after{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  height: 100%;
  background-color: #F8F2FD;
}
@media (max-width: 1410px) {
  .commend-slider::after {
    left: 50%;
    /* vw 대신 100%를 써서 부모 너비에 딱 맞춤 */
    width: 100%; 
    /* 미세하게 남는 1px 오차까지 잡기 위해 살짝 키움 (선택사항) */
    width: calc(100% + 2px); 
  }
}
.commend-slider .swiper-button-prev,
.commend-slider .swiper-button-next{
  border-radius: var(--radius-max, 1000px);
  border: 1px solid #CDD1D5;
  background: #FFF;
  width: 40px;
  height: 40px;
  color: #33363D;
}

.commend-slider .swiper-button-prev:after,
.commend-slider .swiper-button-next:after{
  font-size: 20px;
}

.commend-slider .swiper-pagination-bullet{
  background-color: #6D7882;
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.commend-slider .swiper-pagination-bullet-active{
  width: 20px;
  background-color: #4A1278;
  border-radius: 15px;
}
.commend-slider .swiper-pagination{
  position: static;
}

.commend-title{
  text-align: center;
  color: #1E2124;
  font-size: 24px;
  font-weight: 700;
  position: relative;
  z-index: 2;
  margin-bottom: 20px;
}

.commend-swiper .swiper-slide > a {
  display: block;
  border-radius: 12px;
  padding: 32px;
  background: #FFF;
  box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.10);
}

.commend-card__title{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

.dataTables_wrapper{
  overflow-x: auto;
}
.dataTables_wrapper .table{
  table-layout: auto;
}

.dataTables_wrapper th,
.dataTables_wrapper td {
  white-space: nowrap;
  padding-left: 10px;
  padding-right: 10px;
  width: auto !important
}


.board-list{
  position: relative;
}

.board-list .fab-actions{
  display: flex;
  justify-content: flex-end;
}

.board-list .fab-actions .btn{
  font-size: 17px;
  padding: 11px 16px;
}

.board-list__utils{
  display: flex;
  justify-content: flex-end;
  margin-bottom: 24px;
}

.board-list__utils .switch-group span{
  font-weight: 700;
  font-size: 19px;
}

.single-searchs{
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.single-searchs .search-inputs{
  width: 626px;
}

/*
  서비스 소개.
*/

.about-intro{
  position: relative;
}
.about-intro::after{
  content: "";
  position: absolute;
  top: 26px;
  left: calc((100vw - 1410px) / -2);
  width: calc(50vw + 320px);
  height: 280px;
  background-color: #F8F2FD;
  border-radius: 0 200px 200px 0;
}
.about-container{
  position: relative;
  z-index: 2;
}
.about-title{
  color: #131416;
  font-weight: 900;
  font-size: 40px;
}
.accent-color{
  background: var(--24-24_gr, linear-gradient(90deg, #6719A6 0%, #FF004E 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.about-description{
  margin-top: 10px;
  font-size: 25px;
  color: #131416;
}

.about-logo{
  display: flex;
  justify-content: center;
}

.about-logo .logo-circle{
  width: 180px;
  height: 180px;
  background: url("../../images/portal/about-logo.svg") no-repeat center center;
}

.about-targets{
  padding-top: 32px;
  display: flex;
  justify-content: center;
}
.target-cards{
  display: flex;
  justify-content: center;
  gap:0 90px;
  position: relative;
}

.target-cards::after{
  content: "";
  position: absolute;
  top: 6px;
  left: 173px;
  width: 823px;
  height: 3px;
  background: #B16DE9;
}

.target-card{
  position: relative;z-index: 2;
}

.target-title{
  text-align: center;
  position: relative;
  padding: 22px 0 12px;
}
.target-title::after{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background:#fff url('../../images/portal/about-dot.png') no-repeat center 0;
  padding: 0 32px;
  height:16px;
}

.target-description{
  text-align: center;
  font-size: 17px;
  color: #000;
}

.about-services{
  position: relative;
  margin: 64px 0;
  padding: 64px 0;
}
/*  */
.about-services::after{
  content: "";
  position: absolute;
  top: 0;
  left: calc(-50vw + 700px);
  width: 100vw;
  height: 100%;
  background: linear-gradient(to right, #6719A6 , rgba(89,59,112,1) );
  border-radius: 200px 0 0 0;
}

.about-services .about-title{
  color: #fff;
  font-weight: 700;
}

.services-subtitle{
  padding-top: 70px;
  color: #fff;
  font-size: 32px;
  font-weight: 700;
}
.services-description{
  color: #fff;
  font-size: 19px;
  padding: 20px 0 32px;
}

.services-demo{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 32px;
}

.services-action{
  text-align: center;
  padding-top: 35px;
}
.services-action a{
  display: inline-flex;
  height: 56px;
  min-width: 78px;
  padding: 0 32px;
  justify-content: center;
  align-items: center;
  gap: var(--gap-2, 4px);
  border-radius: 100px;
  background: var(--g-00, #FFF);
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.20);
  color: #6719A6;
  font-size: 19px;
}

.services-action a svg{
  width: 15.467px;
  height: 26.666px;
}

.about-container{}
.about-container .section-header{
  padding-bottom: 32px;
}
.about-container .section-title{
  color: #131416;
  font-size: 32px;
  font-weight: 700;
  line-height: normal;
  padding-bottom: 20px;
}
.about-container .section-description{
  font-size: 19px;
  color: #33363D;
}
.analysis-cards{
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 32px;
}

.analysis-card{
  display: block;
  width: 353px;
  height: 264px;
  padding: 30px 42px;
  background: url("../../images/portal/analysis-card.png") no-repeat center center;
  transition: all 0.3s ease;
}
.analysis-card:hover,
.analysis-card:focus{
  background-image: url("../../images/portal/analysis-card-hover.png");
}

.data-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 32px;
}
.data-card{
  display: flex;
  padding: 32px 40px;
  align-items: center;
  gap: 16px;
  border-radius: 40px;
  background: #F4F5F6;
}
.data-card .card-icon{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.data-card .card-title{
  font-size: 21px;
  font-weight: 700;
  color: #131416;
  line-height: 1;
  padding: 12px 0;
}

.data-card .card-title svg{
  vertical-align: middle;
  transform: translateY(-2px);
}

.data-card .card-description{
  font-size: 15px;
  color: #33363D;
  line-height: 150%;
}

.analysis-card .card-title{
  font-size: 21px;
  font-weight: 700;
  color: #131416;
  line-height: 1;
  padding: 12px 0;
}
.analysis-card .card-description{
  font-size: 15px;
  color: #33363D;
  line-height: 150%;
}

.about-info{
  background: url("../../images/portal/about-info-bg.png") no-repeat center center;
  height: 420px;
  padding: 50px 0;
  text-align: center;
  border-radius: 55px;
  overflow: hidden;
  margin-bottom:64px;
}
.about-info .section-title{
  color: #fff;
}
.about-info .section-description{
  color: #fff;
}

.about-info-cards{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 0 120px;
}

.about-info-cards .info-card{
  background: #fff;
  border-radius: 8px;
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.20);
}

.about-info-cards .info-card .card-title{
  font-size: 19px;
  font-weight: 700;
  color: #131416;
  line-height: 1;
}

.about-info-cards .info-card .card-description{
  font-size: 17px;
  color: #131416;
  line-height: 1.2;
  flex: 1;
}

.about-info-cards .info-card .card-btn{
  display: flex;
  height: var(--size-height-6, 40px);
  min-width: 64px;
  padding: 0 var(--padding-5, 12px);
  justify-content: center;
  align-items: center;
  gap: var(--gap-2, 4px);
  border-radius: var(--radius-medium1, 6px);
  border: 1px solid var(--g-60, #58616A);
  background: var(--g-00, #FFF);
}


.about-data{
  padding: 80px 0;
}

.about-data-table{
  position: relative;
  padding-top: 64px;
}

.about-data-table::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100vw;
  bottom: -64px;
  background-color: #FCF9FE;
  z-index: -1;
}
.data-table{
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  border-collapse: collapse;
}
.data-table thead{
  border-bottom: 2px solid #F8F2FD;
}
.data-table thead th{
  background: #6719A6;
  height: 56px;
  color: #fff;
  font-size: 17px;
}
.data-table thead th:first-child{
  border-radius: 8px 0 0 8px;
}
.data-table thead th:last-child{
  border-radius: 0 8px 8px 0;
}
.data-table tbody tr td:last-child{
  border-right: 0;
  text-align: center;
}
.data-table tbody tr th{
  font-size: 15px;
  border-bottom: 1px solid #C999F0;
}
.data-table tbody td{
  padding: 16px 12px;
  border: 1px solid #C999F0;
  color: #131416;
  font-size: 15px;
}

.data-table-row{
  background-color: #F8F2FD;
}

/* 데이터 시각화 */
.dataview{
  position: relative;
}

.dataview::after{
  content: "";
  position: absolute;
  width: 100vw;
  height: 280px;
  top: 26px;
  z-index: -1;
  transform: translateX(-50%);
  background-color: #F8F2FD;
  border-radius: 0 200px 200px 0;
}

.dataview-header{
  text-align: center;  
  font-size: 40px;
  font-weight: 900;
  line-height: 1.1;
  
}
.dataview-header b{
  background: var(--24-24_gr, linear-gradient(90deg, #6719A6 0%, #FF004E 100%));
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.dataview-content{
  padding: 128px 0 32px;
}
.dataview-content h3{
  font-size: 32px;
  padding-bottom: 20px;
}
.dataview-content p{
  font-size: 19px;
  color: #33363D;
  padding-bottom: 48px;
}
.dataview-content ul{
  font-size: 19px;
  color: #33363D;
  line-height: 1.5;
}

.dataview-content ul li{
  position: relative;
  padding-left: 10px;
}
.dataview-content ul li a span{
  text-decoration: underline;
  color: #9940E2;
}
.dataview-content ul li::after{
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 4px;
  background-color: #6719A6;
  border-radius: 50%;
}

.dataview .fab-actions{
  justify-content: flex-end;
}

/* 브라우저 업데이트 섹션 */
.browser-update-section {
  padding: 0;
}

.browser-update-header {
  margin-bottom: 24px;
}

.browser-update-title {
  font-size: 24px;
  font-weight: 700;
  color: #131416;
  line-height: 1.4;
}

.browser-update-content {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* 호환성 안내 섹션 */
.browser-compatibility-section {
  padding: 24px;
  background-color: #F8F2FD;
  border-radius: 12px;
}

.browser-compatibility-header {
  margin-bottom: 16px;
}

.browser-compatibility-title {
  font-size: 20px;
  font-weight: 700;
  color: #131416;
  line-height: 1.4;
}

.browser-compatibility-text {
  font-size: 17px;
  color: #33363D;
  line-height: 1.6;
}

/* 브라우저 다운로드 섹션 */
.browser-download-section {
  padding: 0;
}

.browser-download-header {
  margin-bottom: 24px;
}

.browser-download-title {
  font-size: 20px;
  font-weight: 700;
  color: #131416;
  line-height: 1.4;
}

.browser-download-content {
  padding: 0;
}

/* 브라우저 리스트 */
.browser-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
}

.browser-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background-color: #fff;
  border: 1px solid #E5E8EB;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  color: inherit;
}

.browser-item:hover {
  border-color: #6719A6;
  box-shadow: 0 4px 12px rgba(103, 25, 166, 0.15);
  transform: translateY(-2px);
}

.browser-icon {
  display: inline-block;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-icon-chrome {
  background-image: url("../../images/portal/browser_chrome.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-icon-firefox {
  background-image: url("../../images/portal/browser_firefox.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-icon-whale {
  background-image: url("../../images/portal/browser_whale.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-icon-edge {
  background-image: url("../../images/portal/browser_edge.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-icon-safari {
  background-image: url("../../images/portal/browser_safari.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.browser-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}

.browser-name {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: #131416;
  line-height: 1.4;
}

.browser-name-en {
  display: block;
  font-size: 15px;
  color: #58616A;
  line-height: 1.4;
}

.browser-item:hover .browser-name {
  color: #6719A6;
}

@media (max-width: 768px) {
  .browser-list {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  
  .browser-item {
    padding: 16px;
  }
  
  .browser-icon {
    width: 40px;
    height: 40px;
  }
  
  .browser-name {
    font-size: 16px;
  }
  
  .browser-name-en {
    font-size: 14px;
  }
}

.related-sites{
  position: relative;
  z-index: 3;
}

.related-sites-container{
  position: relative;
}

.related-sites .related-sites-list {
  position: absolute;
  bottom: 100%;
  left: -1px;
  right: -1px;
  background: #fff;
  border: 1px solid #ddd;
  z-index: 100;
  padding: 16px 0;
  margin: 0;
  list-style: none;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.related-sites .related-sites-list li {
  padding: 0;
  margin: 0;
}
.related-sites .related-sites-list li a {
  display: block;
  padding: 12px 24px;
  color: #131416;
  text-decoration: none;
  font-size: 15px;
  transition: background-color 0.3s ease, color 0.3s ease;
  background: url(../../images/portal/gnb-arrow-icon.svg) no-repeat right 10px center;
}
.related-sites .related-sites-list li a:hover {
  text-decoration: underline;
}
