/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: oklch(97.1% 0.013 17.38);
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-300: oklch(80.8% 0.114 19.571);
    --color-red-400: oklch(70.4% 0.191 22.216);
    --color-red-500: oklch(63.7% 0.237 25.331);
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-orange-100: oklch(95.4% 0.038 75.164);
    --color-orange-200: oklch(90.1% 0.076 70.697);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-600: oklch(64.6% 0.222 41.116);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-yellow-50: oklch(98.7% 0.026 102.212);
    --color-yellow-100: oklch(97.3% 0.071 103.193);
    --color-yellow-200: oklch(94.5% 0.129 101.54);
    --color-yellow-600: oklch(68.1% 0.162 75.834);
    --color-yellow-700: oklch(55.4% 0.135 66.442);
    --color-green-50: oklch(98.2% 0.018 155.826);
    --color-green-100: oklch(96.2% 0.044 156.743);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-green-700: oklch(52.7% 0.154 150.069);
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-200: oklch(88.2% 0.059 254.128);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-indigo-50: oklch(96.2% 0.018 272.314);
    --color-indigo-400: oklch(67.3% 0.182 276.935);
    --color-indigo-600: oklch(51.1% 0.262 276.966);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-100: oklch(94.6% 0.033 307.174);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-purple-900: oklch(38.1% 0.176 304.987);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --breakpoint-sm: 40rem;
    --breakpoint-md: 48rem;
    --breakpoint-lg: 64rem;
    --breakpoint-xl: 80rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-6xl: 72rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --leading-relaxed: 1.625;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
    --shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
    --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
    --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
      -o-tab-size: 4;
         tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::-moz-placeholder {
    opacity: 1;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button))  or
    (contain-intrinsic-size: 1px) {
    ::-moz-placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type="button"], [type="reset"], [type="submit"]),
  ::file-selector-button {
    -webkit-appearance: button;
       -moz-appearance: button;
            appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .visible {
    visibility: visible;
  }
  .fixed {
    position: fixed;
  }
  .static {
    position: static;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .z-50 {
    z-index: 50;
  }
  .col-3 {
    grid-column: 3;
  }
  .col-4 {
    grid-column: 4;
  }
  .col-6 {
    grid-column: 6;
  }
  .col-span-2 {
    grid-column: span 2 / span 2;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .m-1 {
    margin: calc(var(--spacing) * 1);
  }
  .m-2 {
    margin: calc(var(--spacing) * 2);
  }
  .m-3 {
    margin: calc(var(--spacing) * 3);
  }
  .m-4 {
    margin: calc(var(--spacing) * 4);
  }
  .m-5 {
    margin: calc(var(--spacing) * 5);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .mt-0 {
    margin-top: calc(var(--spacing) * 0);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-8 {
    margin-bottom: calc(var(--spacing) * 8);
  }
  .ml-1 {
    margin-left: calc(var(--spacing) * 1);
  }
  .ml-4 {
    margin-left: calc(var(--spacing) * 4);
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table-cell {
    display: table-cell;
  }
  .table-row {
    display: table-row;
  }
  .h-8 {
    height: calc(var(--spacing) * 8);
  }
  .h-16 {
    height: calc(var(--spacing) * 16);
  }
  .h-\[600px\] {
    height: 600px;
  }
  .h-\[calc\(100vh-64px\)\] {
    height: calc(100vh - 64px);
  }
  .h-full {
    height: 100%;
  }
  .max-h-screen {
    max-height: 100vh;
  }
  .min-h-\[calc\(100vh-64px\)\] {
    min-height: calc(100vh - 64px);
  }
  .min-h-screen {
    min-height: 100vh;
  }
  .w-8 {
    width: calc(var(--spacing) * 8);
  }
  .w-16 {
    width: calc(var(--spacing) * 16);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-full {
    width: 100%;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-6xl {
    max-width: var(--container-6xl);
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink {
    flex-shrink: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .flex-grow {
    flex-grow: 1;
  }
  .border-collapse {
    border-collapse: collapse;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .resize-none {
    resize: none;
  }
  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-row {
    flex-direction: row;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-center {
    align-items: center;
  }
  .items-end {
    align-items: flex-end;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .justify-start {
    justify-content: flex-start;
  }
  .gap-0 {
    gap: calc(var(--spacing) * 0);
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-6 {
    -moz-column-gap: calc(var(--spacing) * 6);
         column-gap: calc(var(--spacing) * 6);
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .self-center {
    align-self: center;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-b-2 {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 2px;
  }
  .border-blue-200 {
    border-color: var(--color-blue-200);
  }
  .border-blue-500 {
    border-color: var(--color-blue-500);
  }
  .border-blue-600 {
    border-color: var(--color-blue-600);
  }
  .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-purple-200 {
    border-color: var(--color-purple-200);
  }
  .border-red-300 {
    border-color: var(--color-red-300);
  }
  .border-transparent {
    border-color: transparent;
  }
  .border-yellow-200 {
    border-color: var(--color-yellow-200);
  }
  .bg-black {
    background-color: var(--color-black);
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .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-green-50 {
    background-color: var(--color-green-50);
  }
  .bg-green-100 {
    background-color: var(--color-green-100);
  }
  .bg-green-600 {
    background-color: var(--color-green-600);
  }
  .bg-indigo-50 {
    background-color: var(--color-indigo-50);
  }
  .bg-orange-100 {
    background-color: var(--color-orange-100);
  }
  .bg-orange-500 {
    background-color: var(--color-orange-500);
  }
  .bg-purple-50 {
    background-color: var(--color-purple-50);
  }
  .bg-purple-100 {
    background-color: var(--color-purple-100);
  }
  .bg-purple-600 {
    background-color: var(--color-purple-600);
  }
  .bg-red-50 {
    background-color: var(--color-red-50);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-red-500 {
    background-color: var(--color-red-500);
  }
  .bg-red-600 {
    background-color: var(--color-red-600);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-yellow-50 {
    background-color: var(--color-yellow-50);
  }
  .bg-yellow-100 {
    background-color: var(--color-yellow-100);
  }
  .p-0 {
    padding: calc(var(--spacing) * 0);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-4 {
    padding: calc(var(--spacing) * 4);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-8 {
    padding: calc(var(--spacing) * 8);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }
  .py-5 {
    padding-block: calc(var(--spacing) * 5);
  }
  .py-8 {
    padding-block: calc(var(--spacing) * 8);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .py-16 {
    padding-block: calc(var(--spacing) * 16);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }
  .text-center {
    text-align: center;
  }
  .text-justify {
    text-align: justify;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }
  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }
  .text-4xl {
    font-size: var(--text-4xl);
    line-height: var(--tw-leading, var(--text-4xl--line-height));
  }
  .text-5xl {
    font-size: var(--text-5xl);
    line-height: var(--tw-leading, var(--text-5xl--line-height));
  }
  .text-base {
    font-size: var(--text-base);
    line-height: var(--tw-leading, var(--text-base--line-height));
  }
  .text-lg {
    font-size: var(--text-lg);
    line-height: var(--tw-leading, var(--text-lg--line-height));
  }
  .text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
  .text-xl {
    font-size: var(--text-xl);
    line-height: var(--tw-leading, var(--text-xl--line-height));
  }
  .text-xs {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }
  .font-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .whitespace-pre-line {
    white-space: pre-line;
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .text-blue-500 {
    color: var(--color-blue-500);
  }
  .text-blue-600 {
    color: var(--color-blue-600);
  }
  .text-blue-700 {
    color: var(--color-blue-700);
  }
  .text-blue-900 {
    color: var(--color-blue-900);
  }
  .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-green-600 {
    color: var(--color-green-600);
  }
  .text-green-700 {
    color: var(--color-green-700);
  }
  .text-indigo-400 {
    color: var(--color-indigo-400);
  }
  .text-indigo-700 {
    color: var(--color-indigo-700);
  }
  .text-orange-700 {
    color: var(--color-orange-700);
  }
  .text-purple-600 {
    color: var(--color-purple-600);
  }
  .text-purple-700 {
    color: var(--color-purple-700);
  }
  .text-purple-900 {
    color: var(--color-purple-900);
  }
  .text-red-400 {
    color: var(--color-red-400);
  }
  .text-red-500 {
    color: var(--color-red-500);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-yellow-600 {
    color: var(--color-yellow-600);
  }
  .text-yellow-700 {
    color: var(--color-yellow-700);
  }
  .italic {
    font-style: italic;
  }
  .underline {
    text-decoration-line: underline;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-colors {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .\[program\:api-server\] {
    program: api-server;
  }
  .\[rpcinterface\:supervisor\] {
    rpcinterface: supervisor;
  }
  .hover\:bg-blue-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-50);
      }
    }
  }
  .hover\:bg-blue-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-700);
      }
    }
  }
  .hover\:bg-gray-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-50);
      }
    }
  }
  .hover\:bg-gray-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-gray-300);
      }
    }
  }
  .hover\:bg-green-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-green-700);
      }
    }
  }
  .hover\:bg-orange-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-orange-200);
      }
    }
  }
  .hover\:bg-orange-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-orange-600);
      }
    }
  }
  .hover\:bg-purple-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-purple-200);
      }
    }
  }
  .hover\:bg-purple-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-purple-700);
      }
    }
  }
  .hover\:bg-red-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-50);
      }
    }
  }
  .hover\:bg-red-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-700);
      }
    }
  }
  .hover\:text-blue-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-600);
      }
    }
  }
  .hover\:text-gray-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gray-600);
      }
    }
  }
  .hover\:text-gray-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-gray-700);
      }
    }
  }
  .hover\:text-indigo-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-indigo-600);
      }
    }
  }
  .hover\:underline {
    &:hover {
      @media (hover: hover) {
        text-decoration-line: underline;
      }
    }
  }
  .focus\:ring-2 {
    &:focus {
      --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .focus\:ring-blue-400 {
    &:focus {
      --tw-ring-color: var(--color-blue-400);
    }
  }
  .focus\:ring-blue-500 {
    &:focus {
      --tw-ring-color: var(--color-blue-500);
    }
  }
  .focus\:ring-red-400 {
    &:focus {
      --tw-ring-color: var(--color-red-400);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .disabled\:bg-gray-100 {
    &:disabled {
      background-color: var(--color-gray-100);
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .md\:grid-cols-4 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.app-container {
  font-family: 'Noto Sans KR', sans-serif;
  max-width: 1200px;
  margin: 0 auto;
  color: #333;
  background-color: #f8f9fa;
  min-height: 100vh;
}
.main-content {
  padding: 0 0 40px 0;
  max-width: 1200px;
  margin: 0 auto;
  overflow: hidden;
}
.content-container {
  display: flex;
  gap: 20px;
  padding: 20px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.loading-container,
.error-container,
.empty-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 0;
  grid-column: 1 / -1;
  text-align: center;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  margin: 10px 0;
}
.loader {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3273dc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.loading-spinner {
  width: 50px;
  height: 50px;
  border: 5px solid #f3f3f3;
  border-top: 5px solid #3273dc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 20px;
}
.error-icon,
.empty-icon {
  font-size: 3.5rem;
  margin-bottom: 15px;
  color: #ced4da;
}
.error-message {
  color: #fa5252;
  margin-bottom: 15px;
  text-align: center;
}
.retry-btn {
  background-color: #3273dc;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 0.9rem;
  margin-top: 5px;
}
.retry-btn:hover {
  background-color: #2860b5;
}
footer {
  background-color: #f9f9f9;
  color: #495057;
  padding: 40px 20px;
  margin-top: auto;
}
.main-footer {
  background-color: #f9f9f9;
  padding: 40px 20px;
  margin-top: auto;
}
.company-info h3 {
  font-size: 1.2rem;
  margin-bottom: 15px;
  color: #555;
}
.company-info p {
  color: #777;
  margin-bottom: 8px;
  font-size: 0.9rem;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.search-bar-container {
  padding: 30px 20px;
  background-color: #f1f3f5;
}
.search-bar {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  overflow: hidden;
}
.search-bar input {
  flex: 1;
  padding: 15px 20px;
  border: none;
  font-size: 1rem;
}
.search-bar input:focus {
  outline: none;
}
.search-button {
  background-color: #3273dc;
  color: white;
  border: none;
  padding: 15px 25px;
  font-size: 1rem;
  cursor: pointer;
  transition: background-color 0.3s;
}
.search-button:hover {
  background-color: #2860b5;
}
@media (max-width: 992px) {
  .content-container {
    flex-direction: column;
    max-width: 900px;
  }
}
@media (max-width: 768px) {
  .main-content {
    padding: 0 0 20px 0;
  }
  .content-container {
    padding: 10px;
  }
}
@media (max-width: 576px) {
  .app-container {
    min-height: auto;
  }
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-space-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-ease: initial;
    }
  }
}
/* ======================
   헤더 및 네비게이션 스타일
   ====================== */

/* 헤더 공통 스타일은 Header.svelte 컴포넌트에 포함됨 */

/* 모바일 메뉴 공통 스타일은 MobileMenu.svelte 컴포넌트에 포함됨 */

/* 검색바 공통 스타일은 SearchBar.svelte 컴포넌트에 포함됨 */

/* ======================
   필터 사이드바 스타일  
   ====================== */

/* 필터 관련 스타일은 ProjectFilters.svelte 컴포넌트에 포함됨 */

/* ======================
   프로젝트 관련 레이아웃
   ====================== */

/* 프로젝트 목록 스타일은 ProjectList.svelte 컴포넌트에 포함됨 */

/* 프로젝트 상세 스타일은 ProjectDetail.svelte 컴포넌트에 포함됨 */

/* ======================
   마이페이지 레이아웃
   ====================== */

/* 마이페이지 스타일은 MyPage.svelte 컴포넌트에 포함됨 */

/* ======================
   모달 공통 스타일
   ====================== */

.detail-section {
  margin-bottom: 30px;
}

.detail-section h4 {
  font-size: 1.1rem;
  margin-bottom: 15px;
  color: #333;
  padding-bottom: 8px;
  border-bottom: 1px solid #e9ecef;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 15px;
}

.detail-item {
  display: flex;
  flex-direction: column;
}

.detail-label {
  color: #6c757d;
  font-size: 0.9rem;
  margin-bottom: 5px;
}

.detail-value {
  font-size: 1rem;
  color: #333;
}

.message-box {
  background-color: #f8f9fa;
  border-radius: 4px;
  padding: 15px;
  white-space: pre-wrap;
  line-height: 1.5;
  max-height: 150px;
  overflow-y: auto;
}

.detail-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

/* ======================
   반응형 레이아웃 스타일
   ====================== */

@media (max-width: 992px) {
  .detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 576px) {
  .detail-grid {
    grid-template-columns: 1fr;
  }
}
.error-message.svelte-1mlkeif.svelte-1mlkeif{padding:12px 16px;border-radius:6px;margin-bottom:16px;border:1px solid;font-size:0.95rem;line-height:1.4}.error-content.svelte-1mlkeif.svelte-1mlkeif{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.error-text.svelte-1mlkeif.svelte-1mlkeif{flex:1}.error-dismiss.svelte-1mlkeif.svelte-1mlkeif{background:none;border:none;font-size:1.2rem;cursor:pointer;padding:0;line-height:1;opacity:0.7;transition:opacity 0.2s ease;min-width:20px;height:20px;display:flex;align-items:center;justify-content:center}.error-dismiss.svelte-1mlkeif.svelte-1mlkeif:hover{opacity:1}.error-message-error.svelte-1mlkeif.svelte-1mlkeif{background-color:#fff5f5;color:#e03131;border-color:#ffc9c9}.error-message-error.svelte-1mlkeif .error-dismiss.svelte-1mlkeif{color:#e03131}.error-message-warning.svelte-1mlkeif.svelte-1mlkeif{background-color:#fff9db;color:#f59f00;border-color:#ffec99}.error-message-warning.svelte-1mlkeif .error-dismiss.svelte-1mlkeif{color:#f59f00}.error-message-info.svelte-1mlkeif.svelte-1mlkeif{background-color:#e7f5ff;color:#3273dc;border-color:#a5d8ff}.error-message-info.svelte-1mlkeif .error-dismiss.svelte-1mlkeif{color:#3273dc}.error-message-success.svelte-1mlkeif.svelte-1mlkeif{background-color:#d3f9d8;color:#2b8a3e;border-color:#8ce99a}.error-message-success.svelte-1mlkeif .error-dismiss.svelte-1mlkeif{color:#2b8a3e}
.btn-icon.svelte-1l2b55i{display:inline-flex;align-items:center;justify-content:center}.btn-icon-left.svelte-1l2b55i{margin-right:8px}.btn-icon-right.svelte-1l2b55i{margin-left:8px}.btn-spinner.svelte-1l2b55i{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:svelte-1l2b55i-btn-spin 1s linear infinite;margin-right:8px}@keyframes svelte-1l2b55i-btn-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.btn-text.svelte-1l2b55i{display:inline-block}.btn:not(:has(.btn-text)) .btn-icon.svelte-1l2b55i{margin:0}@media(prefers-reduced-motion: reduce){.btn-spinner.svelte-1l2b55i{animation:none;border:2px solid currentColor}}
.modal-overlay.svelte-1obxqr2{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:var(--z-modal);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.modal.svelte-1obxqr2{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;height:auto;max-height:90vh;overflow:hidden;position:relative;display:flex;flex-direction:column}.modal-centered.svelte-1obxqr2{margin:auto}.modal-sm.svelte-1obxqr2{max-width:300px}.modal-md.svelte-1obxqr2{max-width:500px}.modal-lg.svelte-1obxqr2{max-width:800px}.modal-xl.svelte-1obxqr2{max-width:1200px}.modal-header.svelte-1obxqr2{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--border-color);background-color:var(--primary-color)}.modal-title.svelte-1obxqr2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:white}.modal-close.svelte-1obxqr2{background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:white;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-md);transition:all 0.3s ease}.modal-close.svelte-1obxqr2:hover{background-color:rgba(255, 255, 255, 0.2);color:white;transform:scale(1.1)}.modal-body.svelte-1obxqr2{padding:var(--spacing-lg);overflow-y:auto;flex-grow:0}.modal-footer.svelte-1obxqr2{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-lg);border-top:1px solid var(--border-color);background-color:var(--color-gray-50)}@media(max-width: 768px){.modal.svelte-1obxqr2{width:95%;max-width:95vw;max-height:95vh;margin:var(--spacing-sm)}.modal-lg.svelte-1obxqr2,.modal-xl.svelte-1obxqr2{max-width:95vw}.modal-header.svelte-1obxqr2{padding:var(--spacing-md)}.modal-body.svelte-1obxqr2{padding:var(--spacing-md)}.modal-footer.svelte-1obxqr2{padding:var(--spacing-md);flex-direction:column;gap:var(--spacing-xs)}}@media(max-width: 480px){.modal-overlay.svelte-1obxqr2{padding:var(--spacing-xs);align-items:flex-start;padding-top:10vh}.modal.svelte-1obxqr2{width:100%;max-width:100%;margin:0}}.modal.svelte-1obxqr2:focus{outline:none}.modal-close.svelte-1obxqr2:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media(prefers-reduced-motion: reduce){.modal.svelte-1obxqr2{transition:none}}
.info-content.svelte-r883d6{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-lg)}.info-icon.svelte-r883d6{font-size:3rem}.info-icon-info.svelte-r883d6{color:var(--info-color)}.info-icon-success.svelte-r883d6{color:var(--success-color)}.info-icon-warning.svelte-r883d6{color:var(--warning-color)}.info-icon-error.svelte-r883d6{color:var(--danger-color)}.info-message.svelte-r883d6{font-size:var(--font-size-base);color:var(--text-color);line-height:var(--line-height-relaxed);text-align:center}.info-actions.svelte-r883d6{display:flex;justify-content:center;width:100%}.info-modal-header{background-color:#3273dc;color:white;border-bottom:none}.info-modal-header .modal-title{color:white}.info-modal-header .modal-close{color:white;opacity:0.8}.info-modal-header .modal-close:hover{opacity:1;background-color:rgba(255, 255, 255, 0.15)}
.file-upload-container.svelte-6ntfsn.svelte-6ntfsn{width:100%;max-width:100%;margin:1rem 0}.file-upload-header.svelte-6ntfsn h4.svelte-6ntfsn{margin:0 0 0.5rem 0;color:#333;font-size:1.1rem;font-weight:600}.description.svelte-6ntfsn.svelte-6ntfsn{margin:0 0 1rem 0;color:#666;font-size:0.9rem}.file-drop-zone.svelte-6ntfsn.svelte-6ntfsn{border:2px dashed #d1d5db;border-radius:8px;padding:2rem;text-align:center;transition:all 0.3s ease;background:#f9fafb;cursor:pointer;position:relative}.file-drop-zone.svelte-6ntfsn.svelte-6ntfsn:hover{border-color:#3b82f6;background:#eff6ff}.file-drop-zone.drag-over.svelte-6ntfsn.svelte-6ntfsn{border-color:#3b82f6;background:#dbeafe;transform:scale(1.02)}.file-drop-zone.disabled.svelte-6ntfsn.svelte-6ntfsn{opacity:0.5;cursor:not-allowed}.file-input.svelte-6ntfsn.svelte-6ntfsn{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-input.svelte-6ntfsn.svelte-6ntfsn:disabled{cursor:not-allowed}.drop-zone-content.svelte-6ntfsn.svelte-6ntfsn{pointer-events:none}.upload-icon.svelte-6ntfsn.svelte-6ntfsn{font-size:2rem;margin-bottom:1rem}.drop-text.svelte-6ntfsn.svelte-6ntfsn{margin:0 0 0.5rem 0;color:#374151;font-size:1rem}.browse-button.svelte-6ntfsn.svelte-6ntfsn{color:#3b82f6;text-decoration:underline;background:none;border:none;cursor:pointer;pointer-events:all;font-size:inherit}.browse-button.svelte-6ntfsn.svelte-6ntfsn:hover{color:#2563eb}.file-info.svelte-6ntfsn.svelte-6ntfsn{margin:0;color:#6b7280;font-size:0.875rem}.error-messages.svelte-6ntfsn.svelte-6ntfsn{margin:1rem 0}.error-message.svelte-6ntfsn.svelte-6ntfsn{color:#dc2626;font-size:0.875rem;margin:0.5rem 0}.selected-files.svelte-6ntfsn.svelte-6ntfsn,.existing-files.svelte-6ntfsn.svelte-6ntfsn{margin:1rem 0}.selected-files.svelte-6ntfsn h5.svelte-6ntfsn,.existing-files.svelte-6ntfsn h5.svelte-6ntfsn{margin:0 0 0.5rem 0;color:#374151;font-size:1rem;font-weight:600}.file-item.svelte-6ntfsn.svelte-6ntfsn{display:flex;align-items:center;padding:0.75rem;border:1px solid #e5e7eb;border-radius:6px;margin:0.5rem 0;background:white}.file-item.existing.svelte-6ntfsn.svelte-6ntfsn{background:#f3f4f6}.file-icon.svelte-6ntfsn.svelte-6ntfsn{font-size:1.5rem;margin-right:0.75rem}.file-details.svelte-6ntfsn.svelte-6ntfsn{flex:1;display:flex;flex-direction:column;gap:0.25rem}.file-name.svelte-6ntfsn.svelte-6ntfsn{font-weight:500;color:#374151;font-size:0.9rem}.file-size.svelte-6ntfsn.svelte-6ntfsn,.file-date.svelte-6ntfsn.svelte-6ntfsn{color:#6b7280;font-size:0.8rem}.remove-button.svelte-6ntfsn.svelte-6ntfsn,.download-button.svelte-6ntfsn.svelte-6ntfsn{background:none;border:none;font-size:1rem;cursor:pointer;padding:0.25rem;margin-left:0.5rem}.remove-button.svelte-6ntfsn.svelte-6ntfsn:hover{color:#dc2626}.download-button.svelte-6ntfsn.svelte-6ntfsn:hover{color:#3b82f6}.upload-actions.svelte-6ntfsn.svelte-6ntfsn{margin:1rem 0;text-align:center}.upload-button.svelte-6ntfsn.svelte-6ntfsn{background:#3b82f6;color:white;border:none;padding:0.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;gap:0.5rem;transition:background-color 0.2s}.upload-button.svelte-6ntfsn.svelte-6ntfsn:hover:not(:disabled){background:#2563eb}.upload-button.svelte-6ntfsn.svelte-6ntfsn:disabled{background:#9ca3af;cursor:not-allowed}.spinner.svelte-6ntfsn.svelte-6ntfsn{display:inline-block;width:1rem;height:1rem;border:2px solid #ffffff;border-radius:50%;border-top-color:transparent;animation:svelte-6ntfsn-spin 1s linear infinite}@keyframes svelte-6ntfsn-spin{to{transform:rotate(360deg)}}.debug-logs.svelte-6ntfsn.svelte-6ntfsn{margin:1rem 0;padding:1rem;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px}.debug-logs.svelte-6ntfsn h5.svelte-6ntfsn{margin:0 0 1rem 0;color:#495057;font-size:1rem;font-weight:600}.debug-log-item.svelte-6ntfsn.svelte-6ntfsn{background:white;border:1px solid #dee2e6;border-radius:4px;padding:1rem;margin:0.5rem 0}.debug-timestamp.svelte-6ntfsn.svelte-6ntfsn{color:#6c757d;font-size:0.85rem;margin-bottom:0.5rem}.debug-message.svelte-6ntfsn.svelte-6ntfsn{color:#dc3545;margin:0.5rem 0;font-size:0.9rem}.debug-details.svelte-6ntfsn.svelte-6ntfsn{color:#495057;margin:0.25rem 0;font-size:0.85rem}.debug-file.svelte-6ntfsn.svelte-6ntfsn{margin-left:1rem;color:#6c757d;font-size:0.8rem}.debug-stack.svelte-6ntfsn.svelte-6ntfsn{margin:0.5rem 0}.debug-stack.svelte-6ntfsn summary.svelte-6ntfsn{cursor:pointer;color:#007bff;font-size:0.85rem}.stack-trace.svelte-6ntfsn.svelte-6ntfsn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:3px;padding:0.5rem;margin:0.5rem 0;font-size:0.75rem;overflow-x:auto;white-space:pre-wrap;color:#495057}.clear-logs-button.svelte-6ntfsn.svelte-6ntfsn{background:#6c757d;color:white;border:none;padding:0.5rem 1rem;border-radius:4px;font-size:0.85rem;cursor:pointer;margin-top:0.5rem}.clear-logs-button.svelte-6ntfsn.svelte-6ntfsn:hover{background:#5a6268}@media(max-width: 768px){.file-drop-zone.svelte-6ntfsn.svelte-6ntfsn{padding:1.5rem}.file-item.svelte-6ntfsn.svelte-6ntfsn{flex-direction:column;align-items:flex-start;gap:0.5rem}.file-details.svelte-6ntfsn.svelte-6ntfsn{width:100%}.remove-button.svelte-6ntfsn.svelte-6ntfsn,.download-button.svelte-6ntfsn.svelte-6ntfsn{align-self:flex-end;margin-left:0}.debug-logs.svelte-6ntfsn.svelte-6ntfsn{padding:0.75rem}.debug-log-item.svelte-6ntfsn.svelte-6ntfsn{padding:0.75rem}.stack-trace.svelte-6ntfsn.svelte-6ntfsn{font-size:0.7rem}}
.logo.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{text-align:center;margin-bottom:20px}.logo.svelte-rnat0x h1.svelte-rnat0x.svelte-rnat0x{color:#3273dc;font-size:2.2rem;font-weight:700}h2.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{font-size:1.8rem;font-weight:600;color:#333;margin-bottom:30px}.signup-step.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.step.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{padding:8px 15px;font-size:0.9rem;color:#999}.step.active.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{color:#3273dc;font-weight:500}.step-divider.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{color:#ccc;margin:0 5px}.terms-section.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{margin-bottom:30px;border:1px solid #eee;border-radius:5px}.terms-header.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{padding:15px;border-bottom:1px solid #eee}.terms-list.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{padding:15px}.terms-item.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.terms-item.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x:last-child{margin-bottom:0}.checkbox-container.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;align-items:center;position:relative;cursor:pointer;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-container.svelte-rnat0x input.svelte-rnat0x.svelte-rnat0x{position:absolute;opacity:0;height:0;width:0}.checkmark.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{height:20px;width:20px;background-color:#fff;border:1px solid #ddd;border-radius:3px;margin-right:10px}.checkbox-container.svelte-rnat0x:hover input.svelte-rnat0x~.checkmark.svelte-rnat0x{border-color:#3273dc}.checkbox-container.svelte-rnat0x input.svelte-rnat0x:checked~.checkmark.svelte-rnat0x{background-color:#3273dc;border-color:#3273dc}.checkmark.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x:after{content:"";position:absolute;display:none}.checkbox-container.svelte-rnat0x input.svelte-rnat0x:checked~.checkmark.svelte-rnat0x:after{display:block}.checkbox-container.svelte-rnat0x .checkmark.svelte-rnat0x.svelte-rnat0x:after{left:7px;top:3px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.label-text.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{font-size:0.95rem}.signup-form.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{margin-bottom:30px}.radio-group.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;gap:20px;align-items:center;padding:0 10px;flex-wrap:wrap}.form-group.svelte-rnat0x:has([name="educationLevel"]) .radio-group.svelte-rnat0x.svelte-rnat0x{flex-direction:row;align-items:center;gap:15px;flex-wrap:wrap}.radio-container.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;align-items:center;position:relative;cursor:pointer;font-size:1rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.radio-container.svelte-rnat0x input.svelte-rnat0x.svelte-rnat0x{position:absolute;opacity:0;height:0;width:0}.radio-custom.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{height:18px;width:18px;background-color:#fff;border:1px solid #ddd;border-radius:50%;margin-right:10px;position:relative}.radio-container.svelte-rnat0x:hover input.svelte-rnat0x~.radio-custom.svelte-rnat0x{border-color:#3273dc}.radio-container.svelte-rnat0x input.svelte-rnat0x:checked~.radio-custom.svelte-rnat0x{background-color:#fff;border-color:#3273dc}.radio-custom.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x:after{content:"";position:absolute;display:none}.radio-container.svelte-rnat0x input.svelte-rnat0x:checked~.radio-custom.svelte-rnat0x:after{display:block}.radio-container.svelte-rnat0x .radio-custom.svelte-rnat0x.svelte-rnat0x:after{top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:50%;background:#3273dc}.signup-complete.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{text-align:center;padding:40px 0}.complete-icon.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:#3273dc;color:white;font-size:2.5rem;border-radius:50%;margin-bottom:20px}.signup-complete.svelte-rnat0x h3.svelte-rnat0x.svelte-rnat0x{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:15px}.signup-complete.svelte-rnat0x p.svelte-rnat0x.svelte-rnat0x{color:#666;font-size:1.1rem;margin-bottom:30px}.file-upload-section.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{max-width:500px;margin:0 auto;text-align:left}.file-upload-section.svelte-rnat0x h4.svelte-rnat0x.svelte-rnat0x{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:10px;text-align:center}.upload-description.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{color:#666;font-size:0.95rem;line-height:1.5;text-align:center;margin-bottom:25px}.upload-actions.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;justify-content:center;gap:15px;margin-top:25px}.checkbox-container.svelte-rnat0x input.svelte-rnat0x:disabled~.checkmark.svelte-rnat0x{background-color:#f0f0f0;border-color:#ccc;cursor:not-allowed}.age-display.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;align-items:center;padding:10px 15px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:5px}.age-text.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{font-size:1rem;font-weight:500;color:#3273dc}.career-input-group.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;align-items:center;gap:15px}.career-input-item.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;align-items:center;gap:5px}.career-input-item.svelte-rnat0x input.svelte-rnat0x.svelte-rnat0x{width:80px;text-align:center}.career-unit.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{font-size:0.9rem;color:#666;font-weight:500}.address-input-group.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{display:flex;flex-direction:column;gap:10px}#detail-address.svelte-rnat0x.svelte-rnat0x.svelte-rnat0x{height:40px}
.complete-container.svelte-hfvryk.svelte-hfvryk{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f9f9f9;font-family:'Noto Sans KR', sans-serif;padding:40px 20px}.complete-box.svelte-hfvryk.svelte-hfvryk{background-color:white;border-radius:10px;box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);padding:40px;width:100%;max-width:600px;text-align:center}.logo.svelte-hfvryk.svelte-hfvryk{text-align:center;margin-bottom:20px}.logo.svelte-hfvryk h1.svelte-hfvryk{color:#3273dc;font-size:2.2rem;font-weight:700}h2.svelte-hfvryk.svelte-hfvryk{font-size:1.8rem;font-weight:600;color:#333;margin-bottom:30px}.signup-step.svelte-hfvryk.svelte-hfvryk{display:flex;justify-content:center;align-items:center;margin-bottom:30px}.step.svelte-hfvryk.svelte-hfvryk{padding:8px 15px;font-size:0.9rem;color:#999}.step.active.svelte-hfvryk.svelte-hfvryk{color:#3273dc;font-weight:500}.step-divider.svelte-hfvryk.svelte-hfvryk{color:#ccc;margin:0 5px}.complete-icon.svelte-hfvryk.svelte-hfvryk{margin:30px 0}.complete-message.svelte-hfvryk.svelte-hfvryk{margin-bottom:40px}.complete-message.svelte-hfvryk h3.svelte-hfvryk{font-size:1.4rem;font-weight:600;color:#333;margin-bottom:15px}.complete-message.svelte-hfvryk p.svelte-hfvryk{color:#666;line-height:1.6;font-size:1rem}.button-group.svelte-hfvryk.svelte-hfvryk{display:flex;justify-content:center;gap:15px}.home-btn.svelte-hfvryk.svelte-hfvryk{background-color:#f0f0f0;color:#666;border:none;border-radius:5px;padding:14px 30px;font-size:1rem;font-weight:500;cursor:pointer}.home-btn.svelte-hfvryk.svelte-hfvryk:hover{background-color:#e4e4e4}.login-btn.svelte-hfvryk.svelte-hfvryk{background-color:#3273dc;color:white;border:none;border-radius:5px;padding:14px 30px;font-size:1rem;font-weight:500;cursor:pointer}.login-btn.svelte-hfvryk.svelte-hfvryk:hover{background-color:#2860b5}@media(max-width: 768px){.complete-box.svelte-hfvryk.svelte-hfvryk{padding:30px 20px}.button-group.svelte-hfvryk.svelte-hfvryk{flex-direction:column}.home-btn.svelte-hfvryk.svelte-hfvryk,.login-btn.svelte-hfvryk.svelte-hfvryk{width:100%}}
 /* 헤더 스타일 */
 header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background-color: white;
  border-bottom: 1px solid #e9ecef;
  position: sticky;
  top: 0;
  z-index: 100;
}
 .logo h1 {
  color: #3273dc;
  font-size: 2rem;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}
 .desktop-nav ul {
  display: flex;
  list-style: none;
}
 .desktop-nav li {
  margin-left: 30px;
}
 .desktop-nav a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  padding: 8px 0;
  position: relative;
}
 .desktop-nav a:hover,
.desktop-nav a.active {
  color: #3273dc;
}
 .desktop-nav a.active:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #3273dc;
}
 .auth-buttons {
  display: flex;
  gap: 10px;
}
 .login-btn {
  background-color: white;
  border: 1px solid #333;
  color: #333;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.9rem;
}
 .login-btn:hover {
  background-color: #f8f9fa;
}
 .menu-btn {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
 .user-dropdown {
  position: relative;
}
 .user-btn {
  display: flex;
  align-items: center;
  background-color: white;
  border: 1px solid #3273dc;
  color: #3273dc;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.9rem;
}
 .dropdown-arrow {
  font-size: 0.8rem;
  margin-left: 8px;
}
 .dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: white;
  border: 1px solid #eee;
  border-radius: 4px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  width: 180px;
  margin-top: 8px;
  z-index: 100;
}
 .dropdown-menu button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 15px;
  background: none;
  border: none;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  font-size: 0.9rem;
}
 .dropdown-menu button:last-child {
  border-bottom: none;
}
 .dropdown-menu button:hover {
  background-color: #f5f5f5;
  color: #3273dc;
}
 /* 모바일 메뉴 */
 .mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: -300px;
  width: 300px;
  height: 100vh;
  background-color: white;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  transition: right 0.3s ease-in-out;
  z-index: 1000;
  padding: 20px;
}
 .mobile-menu.open {
  right: 0;
}
 .close-btn {
  background: none;
  border: none;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 1.5rem;
  cursor: pointer;
}
 .mobile-menu ul {
  list-style: none;
  margin-top: 60px;
}
 .mobile-menu li {
  margin-bottom: 20px;
}
 .mobile-menu a {
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 500;
}
 .user-info {
  font-weight: bold;
  color: #3273dc;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
}
 .howto-container {
  font-family: 'Noto Sans KR', sans-serif;
  max-width: 1200px;
  margin: 0 auto;
  color: #333;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
 .howto-container .content-container {
  padding: 20px;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}
 .howto-container h2 {
  font-size: 2rem;
  font-weight: 600;
  margin-bottom: 30px;
  text-align: center;
}
 /* 탭 영역 - 상단 고정 */
 .howto-container .tabs {
  display: flex;
  justify-content: center;
  margin-bottom: 0;
  border-bottom: 1px solid #eee;
  background-color: white;
  position: sticky;
  top: 81px; /* 헤더 높이만큼 조정 */
  z-index: 50;
  padding: 20px 0 0 0;
}
 .howto-container .tab-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border: none;
  background: none;
  cursor: pointer;
  font-size: 16px;
  color: #666;
  transition: color 0.3s;
  position: relative;
}
 .howto-container .tab-btn span {
  display: block;
  text-align: center;
  line-height: 1.4;
}
 .howto-container .tab-btn.active {
  color: #3273dc;
  font-weight: bold;
}
 .howto-container .tab-btn:hover {
  color: #3273dc;
  background-color: #f8f9ff;
}
 .howto-container .tab-btn.active::after {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #3273dc;
}
 /* 탭 콘텐츠 영역 - 하단 배치 */
 .howto-container .tab-content {
  max-width: 800px;
  margin: 0 auto;
  padding: 40px 20px;
  flex-grow: 1;
  background-color: white;
  min-height: 500px;
}
 .howto-container .guide {
  padding: 20px 0;
}
 .howto-container .guide h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-bottom: 20px;
  text-align: center;
  line-height: 1.4;
}
 .howto-container .guide p {
  font-size: 1.1rem;
  color: #666;
  line-height: 1.6;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 50px;
}
 .howto-container .guide-image {
  display: flex;
  justify-content: center;
  margin: 40px 0;
}
 .howto-container .guide-info {
  background-color: #f9f9f9;
  border-radius: 10px;
  padding: 25px;
  margin: 30px 0;
}
 .howto-container .guide-info h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 15px;
  color: #333;
}
 .howto-container .guide-info p {
  text-align: left;
  margin-bottom: 10px;
}
 .howto-container .guide-info p:last-child {
  margin-bottom: 0;
}
 .howto-container .highlight {
  color: #3273dc;
  font-weight: 500;
  margin-top: 5px;
  margin-bottom: 5px;
}
 .howto-container .highlight-small {
  color: #3273dc;
  font-weight: 500;
  font-size: 0.7rem;
  margin-top: 5px;
  margin-bottom: 5px;
}
 .howto-container .step-container {
  margin: 40px 0;
}
 .howto-container .step-item {
  display: flex;
  margin-bottom: 50px;
}
 .howto-container .step-number {
  width: 40px;
  height: 40px;
  background-color: #3273dc;
  color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 600;
  margin-right: 20px;
  flex-shrink: 0;
}
 .howto-container .step-content {
  flex-grow: 1;
}
 .howto-container .step-content h4 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333;
}
 .howto-container .step-content p {
  text-align: left;
  margin-bottom: 0;
}
 .howto-container footer {
  background-color: #f9f9f9;
  padding: 40px 20px;
  margin-top: auto;
}
 .howto-container .company-info h3 {
  font-size: 1.2rem;
  margin-bottom: 15px;
  color: #555;
}
 .howto-container .company-info p {
  color: #777;
  margin-bottom: 8px;
  font-size: 0.9rem;
}
 @media (max-width: 768px) {
  .howto-container .desktop-nav, 
  .howto-container .auth-buttons {
    display: none;
  }

  .howto-container .menu-btn {
    display: block;
  }

  .howto-container .mobile-menu {
    display: block;
  }
  
  .howto-container .content-container {
    padding: 10px;
  }
  
  .howto-container .tabs {
    flex-direction: row;
    justify-content: center;
    padding: 15px 0 0 0;
    top: 70px; /* 모바일 헤더 높이에 맞춤 */
  }
  
  .howto-container .tab-btn {
    padding: 12px 15px;
    font-size: 1rem;
    flex: 1;
    max-width: 120px;
    text-align: center;
  }
  
  .howto-container .tab-btn.active::after {
    width: 80%;
    left: 10%;
  }
  
  .howto-container .tab-content {
    padding: 30px 15px;
    min-height: 400px;
  }
  
  .howto-container .guide h3 {
    font-size: 1.3rem;
  }
  
  .howto-container .guide p {
    font-size: 1rem;
  }
  
  .howto-container .step-content h4 {
    font-size: 1.1rem;
  }
}
header.svelte-1y2gv3o.svelte-1y2gv3o{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:white;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:100}.logo-button.svelte-1y2gv3o.svelte-1y2gv3o{background:none;border:none;padding:-10px -15px;margin:0;font:inherit;cursor:pointer;color:inherit;display:flex;align-items:center;gap:8px}.logo-container.svelte-1y2gv3o.svelte-1y2gv3o{display:flex;align-items:center;gap:8px}.logo-image.svelte-1y2gv3o.svelte-1y2gv3o{height:60px;width:auto;cursor:pointer;display:block}.logo-container.dev-mode.svelte-1y2gv3o.svelte-1y2gv3o{position:relative}.dev-badge.svelte-1y2gv3o.svelte-1y2gv3o{font-size:12px;font-weight:600;color:#dc2626;white-space:nowrap}.desktop-nav.svelte-1y2gv3o ul.svelte-1y2gv3o{display:flex;list-style:none}.desktop-nav.svelte-1y2gv3o li.svelte-1y2gv3o{margin-left:30px}.desktop-nav.svelte-1y2gv3o a.svelte-1y2gv3o{color:#333;text-decoration:none;font-weight:500;padding:8px 0;position:relative}.desktop-nav.svelte-1y2gv3o a.svelte-1y2gv3o:hover,.desktop-nav.svelte-1y2gv3o a.active.svelte-1y2gv3o{color:#3273dc}.desktop-nav.svelte-1y2gv3o a.active.svelte-1y2gv3o:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#3273dc}.auth-buttons.svelte-1y2gv3o.svelte-1y2gv3o{display:flex;gap:10px}.login-btn.svelte-1y2gv3o.svelte-1y2gv3o{background-color:white;border:1px solid #333;color:#333;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;font-size:0.9rem}.login-btn.svelte-1y2gv3o.svelte-1y2gv3o:hover{background-color:#f8f9fa}.user-dropdown.svelte-1y2gv3o.svelte-1y2gv3o{position:relative}.user-btn.svelte-1y2gv3o.svelte-1y2gv3o{display:flex;align-items:center;background-color:white;border:1px solid #3273dc;color:#3273dc;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;font-size:0.9rem}.dropdown-arrow.svelte-1y2gv3o.svelte-1y2gv3o{font-size:0.8rem;margin-left:8px}.dropdown-menu.svelte-1y2gv3o.svelte-1y2gv3o{position:absolute;top:100%;right:0;background-color:white;border:1px solid #eee;border-radius:4px;box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);width:180px;margin-top:8px;z-index:100}.dropdown-menu.svelte-1y2gv3o button.svelte-1y2gv3o{display:block;width:100%;text-align:left;padding:10px 15px;background:none;border:none;border-bottom:1px solid #eee;cursor:pointer;font-size:0.9rem}.dropdown-menu.svelte-1y2gv3o button.svelte-1y2gv3o:last-child{border-bottom:none}.dropdown-menu.svelte-1y2gv3o button.svelte-1y2gv3o:hover{background-color:#f5f5f5;color:#3273dc}.menu-btn.svelte-1y2gv3o.svelte-1y2gv3o{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer}.mobile-menu.svelte-1y2gv3o.svelte-1y2gv3o{display:none;position:fixed;top:81px;left:0;width:100%;background-color:white;border-top:1px solid #e9ecef;box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);z-index:99;max-height:calc(100vh - 81px);overflow-y:auto}.mobile-nav.svelte-1y2gv3o ul.svelte-1y2gv3o{list-style:none;padding:0;margin:0}.mobile-nav.svelte-1y2gv3o li.svelte-1y2gv3o{border-bottom:1px solid #e9ecef}.mobile-nav.svelte-1y2gv3o li.svelte-1y2gv3o:last-child{border-bottom:none}.mobile-nav.svelte-1y2gv3o a.svelte-1y2gv3o{display:block;padding:15px 20px;color:#333;text-decoration:none;font-weight:500}.mobile-nav.svelte-1y2gv3o a.svelte-1y2gv3o:hover,.mobile-nav.svelte-1y2gv3o a.active.svelte-1y2gv3o{color:#3273dc;background-color:#f8f9fa}@media(max-width: 768px){.desktop-nav.svelte-1y2gv3o.svelte-1y2gv3o,.auth-buttons.svelte-1y2gv3o.svelte-1y2gv3o{display:none}.menu-btn.svelte-1y2gv3o.svelte-1y2gv3o{display:block}.mobile-menu.svelte-1y2gv3o.svelte-1y2gv3o{display:block}}
.mobile-menu.svelte-5lztgw.svelte-5lztgw{display:none;position:fixed;top:0;right:-300px;width:300px;height:100vh;background-color:white;box-shadow:-5px 0 15px rgba(0, 0, 0, 0.1);transition:right 0.3s ease-in-out;z-index:1000;padding:20px}.mobile-menu.open.svelte-5lztgw.svelte-5lztgw{right:0}.close-btn.svelte-5lztgw.svelte-5lztgw{background:none;border:none;position:absolute;top:20px;right:20px;font-size:1.5rem;cursor:pointer}.mobile-menu.svelte-5lztgw ul.svelte-5lztgw{list-style:none;margin-top:60px}.mobile-menu.svelte-5lztgw li.svelte-5lztgw{margin-bottom:20px}.mobile-menu.svelte-5lztgw a.svelte-5lztgw{color:#333;text-decoration:none;font-size:1.1rem;font-weight:500}.mobile-menu.svelte-5lztgw a.svelte-5lztgw:hover,.mobile-menu.svelte-5lztgw a.active.svelte-5lztgw{color:#3273dc}.user-info.svelte-5lztgw.svelte-5lztgw{font-weight:bold;color:#3273dc;padding:0 0 10px 0;border-bottom:1px solid #eee;margin-bottom:15px}@media(max-width: 768px){.mobile-menu.svelte-5lztgw.svelte-5lztgw{display:block}}
header.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:flex;justify-content:space-between;align-items:center;padding:20px;background-color:white;border-bottom:1px solid #e9ecef;position:sticky;top:0;z-index:100;max-width:1200px;width:100%;margin:0 auto}.logo.svelte-qnq78v h1.svelte-qnq78v.svelte-qnq78v{color:#3273dc;font-size:2rem;font-weight:700;text-transform:none;cursor:pointer;margin:0}.desktop-nav.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{flex:1;display:flex;justify-content:center}.desktop-nav.svelte-qnq78v ul.svelte-qnq78v.svelte-qnq78v{display:flex;list-style:none;padding:0;margin:0}.desktop-nav.svelte-qnq78v li.svelte-qnq78v.svelte-qnq78v{margin:0 15px}.desktop-nav.svelte-qnq78v a.svelte-qnq78v.svelte-qnq78v{color:#333;text-decoration:none;font-weight:500;padding:8px 0;position:relative}.desktop-nav a:hover,.desktop-nav a.active{color:#3273dc}.desktop-nav a.active::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:#3273dc}.auth-buttons.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:flex;gap:10px}.login-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:white;border:1px solid #333;color:#333;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;font-size:0.9rem}.login-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:hover{background-color:#f8f9fa}.menu-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:none;background:none;border:none;font-size:1.5rem;cursor:pointer}.user-dropdown.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{position:relative}.user-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:flex;align-items:center;background-color:white;border:1px solid #3273dc;color:#3273dc;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:500;font-size:0.9rem}.dropdown-arrow.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{font-size:0.8rem;margin-left:8px}.dropdown-menu.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{position:absolute;top:100%;right:0;background-color:white;border:1px solid #eee;border-radius:4px;box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);width:180px;margin-top:8px;z-index:100}.dropdown-menu.svelte-qnq78v button.svelte-qnq78v.svelte-qnq78v{display:block;width:100%;text-align:left;padding:10px 15px;background:none;border:none;border-bottom:1px solid #eee;cursor:pointer;font-size:0.9rem}.dropdown-menu.svelte-qnq78v button.svelte-qnq78v.svelte-qnq78v:last-child{border-bottom:none}.dropdown-menu.svelte-qnq78v button.svelte-qnq78v.svelte-qnq78v:hover{background-color:#f5f5f5;color:#3273dc}.mobile-menu.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:none;position:fixed;top:0;right:-300px;width:300px;height:100vh;background-color:white;box-shadow:-5px 0 15px rgba(0, 0, 0, 0.1);transition:right 0.3s ease-in-out;z-index:1000;padding:20px}.mobile-menu.open.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{right:0}.close-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background:none;border:none;position:absolute;top:20px;right:20px;font-size:1.5rem;cursor:pointer}.mobile-menu.svelte-qnq78v ul.svelte-qnq78v.svelte-qnq78v{list-style:none;margin-top:60px}.mobile-menu.svelte-qnq78v li.svelte-qnq78v.svelte-qnq78v{margin-bottom:20px}.mobile-menu.svelte-qnq78v a.svelte-qnq78v.svelte-qnq78v{color:#333;text-decoration:none;font-size:1.2rem;font-weight:500}.user-info.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{font-weight:bold;color:#3273dc;padding:0 0 10px 0;border-bottom:1px solid #eee;margin-bottom:15px}.gemini-test-container.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{font-family:'Noto Sans KR', sans-serif;background-color:#f9f9f9;min-height:100vh;display:flex;flex-direction:column;max-width:1200px;margin:0 auto}.gemini-test-box.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:white;border-radius:10px;box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);padding:40px;width:calc(100% - 40px);max-width:800px;margin:40px auto}.logo.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{text-align:center;margin-bottom:30px}.gemini-test-box.svelte-qnq78v .logo.svelte-qnq78v h1.svelte-qnq78v{color:#4285F4;font-size:2.2rem;font-weight:700}.form-group.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{margin-bottom:20px}label.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:block;font-size:0.95rem;color:#555;margin-bottom:8px;font-weight:500}input.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v,textarea.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v,select.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color 0.3s}input.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:focus,textarea.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:focus,select.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:focus{border-color:#4285F4;outline:none}.input-group.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:flex;gap:10px}.icon-button.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background:none;border:none;cursor:pointer;font-size:1.2rem}.button-group.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:flex;justify-content:center;gap:15px;margin-top:20px}.button-group.bottom.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{margin-top:40px}.primary-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#4285F4;color:white;border:none;border-radius:5px;padding:12px 25px;font-size:1rem;cursor:pointer;min-width:150px}.primary-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:hover{background-color:#3367d6}.primary-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:disabled{background-color:#a0a0a0;cursor:not-allowed}.secondary-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#f0f0f0;color:#666;border:none;border-radius:5px;padding:12px 25px;font-size:1rem;cursor:pointer}.secondary-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v:hover{background-color:#e0e0e0}.api-key-section.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v,.prompt-section.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v,.models-section.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{margin-bottom:30px;padding:20px;border:1px solid #eee;border-radius:5px}.status-message.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{padding:12px;border-radius:5px;margin-bottom:20px;font-size:0.95rem}.status-message.success.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#e6f4ea;color:#137333}.status-message.error.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#fce8e6;color:#c5221f}.response-section.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{margin-top:30px}.response-section.svelte-qnq78v h3.svelte-qnq78v.svelte-qnq78v{font-size:1.2rem;font-weight:600;color:#333;margin-bottom:15px}.response-content.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#f5f5f5;padding:15px;border-radius:5px;white-space:pre-wrap;font-family:'Courier New', monospace;max-height:300px;overflow-y:auto}.models-section.svelte-qnq78v select.svelte-qnq78v.svelte-qnq78v{padding:10px}footer.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{background-color:#f8f9fa;color:#495057;padding:40px 20px;margin-top:auto;border-top:1px solid #e9ecef}.company-info.svelte-qnq78v h3.svelte-qnq78v.svelte-qnq78v{font-size:1.2rem;margin-bottom:15px;color:#495057}.company-info.svelte-qnq78v p.svelte-qnq78v.svelte-qnq78v{margin-bottom:8px;font-size:0.9rem;color:#6c757d}@media(max-width: 768px){.desktop-nav.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v,.auth-buttons.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:none}.menu-btn.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:block}.mobile-menu.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{display:block}.gemini-test-box.svelte-qnq78v.svelte-qnq78v.svelte-qnq78v{padding:20px;margin:20px auto}}
.ag-icon {
  font-family: var(--ag-icon-font-family);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.ag-icon-aggregation::before {
  content: var(--ag-icon-font-code-aggregation, "\f101");
}

.ag-icon-arrows::before {
  content: var(--ag-icon-font-code-arrows, "\f102");
}

.ag-icon-asc::before {
  content: var(--ag-icon-font-code-asc, "\f103");
}

.ag-icon-cancel::before {
  content: var(--ag-icon-font-code-cancel, "\f104");
}

.ag-icon-chart::before {
  content: var(--ag-icon-font-code-chart, "\f105");
}

.ag-icon-checkbox-checked::before {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
}

.ag-icon-checkbox-indeterminate::before {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
}

.ag-icon-checkbox-unchecked::before {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
}

.ag-icon-color-picker::before {
  content: var(--ag-icon-font-code-color-picker, "\f109");
}

.ag-icon-columns::before {
  content: var(--ag-icon-font-code-columns, "\f10a");
}

.ag-icon-contracted::before {
  content: var(--ag-icon-font-code-contracted, "\f10b");
}

.ag-icon-copy::before {
  content: var(--ag-icon-font-code-copy, "\f10c");
}

.ag-icon-cross::before {
  content: var(--ag-icon-font-code-cross, "\f10d");
}

.ag-icon-csv::before {
  content: var(--ag-icon-font-code-csv, "\f10e");
}

.ag-icon-cut::before {
  content: var(--ag-icon-font-code-cut, "\f10f");
}

.ag-icon-desc::before {
  content: var(--ag-icon-font-code-desc, "\f110");
}

.ag-icon-excel::before {
  content: var(--ag-icon-font-code-excel, "\f111");
}

.ag-icon-expanded::before {
  content: var(--ag-icon-font-code-expanded, "\f112");
}

.ag-icon-eye-slash::before {
  content: var(--ag-icon-font-code-eye-slash, "\f113");
}

.ag-icon-eye::before {
  content: var(--ag-icon-font-code-eye, "\f114");
}

.ag-icon-filter::before {
  content: var(--ag-icon-font-code-filter, "\f115");
}

.ag-icon-first::before {
  content: var(--ag-icon-font-code-first, "\f116");
}

.ag-icon-grip::before {
  content: var(--ag-icon-font-code-grip, "\f117");
}

.ag-icon-group::before {
  content: var(--ag-icon-font-code-group, "\f118");
}

.ag-icon-last::before {
  content: var(--ag-icon-font-code-last, "\f119");
}

.ag-icon-left::before {
  content: var(--ag-icon-font-code-left, "\f11a");
}

.ag-icon-linked::before {
  content: var(--ag-icon-font-code-linked, "\f11b");
}

.ag-icon-loading::before {
  content: var(--ag-icon-font-code-loading, "\f11c");
}

.ag-icon-maximize::before {
  content: var(--ag-icon-font-code-maximize, "\f11d");
}

.ag-icon-menu::before {
  content: var(--ag-icon-font-code-menu, "\f11e");
}

.ag-icon-minimize::before {
  content: var(--ag-icon-font-code-minimize, "\f11f");
}

.ag-icon-next::before {
  content: var(--ag-icon-font-code-next, "\f120");
}

.ag-icon-none::before {
  content: var(--ag-icon-font-code-none, "\f121");
}

.ag-icon-not-allowed::before {
  content: var(--ag-icon-font-code-not-allowed, "\f122");
}

.ag-icon-paste::before {
  content: var(--ag-icon-font-code-paste, "\f123");
}

.ag-icon-pin::before {
  content: var(--ag-icon-font-code-pin, "\f124");
}

.ag-icon-pivot::before {
  content: var(--ag-icon-font-code-pivot, "\f125");
}

.ag-icon-previous::before {
  content: var(--ag-icon-font-code-previous, "\f126");
}

.ag-icon-radio-button-off::before {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
}

.ag-icon-radio-button-on::before {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
}

.ag-icon-right::before {
  content: var(--ag-icon-font-code-right, "\f129");
}

.ag-icon-save::before {
  content: var(--ag-icon-font-code-save, "\f12a");
}

.ag-icon-small-down::before {
  content: var(--ag-icon-font-code-small-down, "\f12b");
}

.ag-icon-small-left::before {
  content: var(--ag-icon-font-code-small-left, "\f12c");
}

.ag-icon-small-right::before {
  content: var(--ag-icon-font-code-small-right, "\f12d");
}

.ag-icon-small-up::before {
  content: var(--ag-icon-font-code-small-up, "\f12e");
}

.ag-icon-tick::before {
  content: var(--ag-icon-font-code-tick, "\f12f");
}

.ag-icon-tree-closed::before {
  content: var(--ag-icon-font-code-tree-closed, "\f130");
}

.ag-icon-tree-indeterminate::before {
  content: var(--ag-icon-font-code-tree-indeterminate, "\f131");
}

.ag-icon-tree-open::before {
  content: var(--ag-icon-font-code-tree-open, "\f132");
}

.ag-icon-unlinked::before {
  content: var(--ag-icon-font-code-unlinked, "\f133");
}

.ag-icon-up::before {
  content: var(--ag-icon-font-code-up, "\f134");
}

.ag-icon-down::before {
  content: var(--ag-icon-font-code-down, "\f135");
}

.ag-icon-plus::before {
  content: var(--ag-icon-font-code-plus, "\f136");
}

.ag-icon-minus::before {
  content: var(--ag-icon-font-code-minus, "\f137");
}

.ag-icon-row-drag::before {
  content: var(--ag-icon-font-code-grip);
}

.ag-left-arrow::before {
  content: var(--ag-icon-font-code-left);
}

.ag-right-arrow::before {
  content: var(--ag-icon-font-code-right);
}

[class*=ag-theme-] {
  --ag-foreground-color: #000;
  --ag-data-color: var(--ag-foreground-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-header-foreground-color: var(--ag-secondary-foreground-color);
  --ag-disabled-foreground-color: rgba(0, 0, 0, 0.5);
  --ag-background-color: #fff;
  --ag-header-background-color: transparent;
  --ag-tooltip-background-color: transparent;
  --ag-subheader-background-color: transparent;
  --ag-subheader-toolbar-background-color: transparent;
  --ag-control-panel-background-color: transparent;
  --ag-side-button-selected-background-color: var(--ag-control-panel-background-color);
  --ag-selected-row-background-color: #BBB;
  --ag-odd-row-background-color: var(--ag-background-color);
  --ag-modal-overlay-background-color: rgba(255, 255, 255, 0.66);
  --ag-row-hover-color: transparent;
  --ag-column-hover-color: transparent;
  --ag-range-selection-border-color: var(--ag-foreground-color);
  --ag-range-selection-border-style: solid;
  --ag-range-selection-background-color: rgba(0, 0, 0, 0.2);
  --ag-range-selection-background-color-2: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-3: var(--ag-range-selection-background-color);
  --ag-range-selection-background-color-4: var(--ag-range-selection-background-color);
  --ag-range-selection-highlight-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-color: var(--ag-range-selection-border-color);
  --ag-selected-tab-underline-width: 0;
  --ag-selected-tab-underline-transition-speed: 0s;
  --ag-range-selection-chart-category-background-color: rgba(0, 255, 132, 0.1);
  --ag-range-selection-chart-background-color: rgba(0, 88, 255, 0.1);
  --ag-header-cell-hover-background-color: transparent;
  --ag-header-cell-moving-background-color: var(--ag-background-color);
  --ag-value-change-value-highlight-background-color: rgba(22, 160, 133, 0.5);
  --ag-value-change-delta-up-color: #43a047;
  --ag-value-change-delta-down-color: #e53935;
  --ag-chip-background-color: transparent;
  --ag-borders: solid 1px;
  --ag-border-color: rgba(0, 0, 0, 0.25);
  --ag-borders-critical: var(--ag-borders);
  --ag-borders-secondary: var(--ag-borders);
  --ag-secondary-border-color: var(--ag-border-color);
  --ag-row-border-style: solid;
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-row-border-width: 1px;
  --ag-cell-horizontal-border: solid transparent;
  --ag-borders-input: var(--ag-borders-secondary);
  --ag-input-border-color: var(--ag-secondary-border-color);
  --ag-borders-input-invalid: solid 2px;
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-borders-side-button: var(--ag-borders);
  --ag-border-radius: 0px;
  --ag-row-border-color: var(--ag-secondary-border-color);
  --ag-header-column-separator-display: none;
  --ag-header-column-separator-height: 100%;
  --ag-header-column-separator-width: 1px;
  --ag-header-column-separator-color: var(--ag-secondary-border-color);
  --ag-header-column-resize-handle-display: none;
  --ag-header-column-resize-handle-height: 50%;
  --ag-header-column-resize-handle-width: 1px;
  --ag-header-column-resize-handle-color: var(--ag-secondary-border-color);
  --ag-invalid-color: red;
  --ag-input-disabled-border-color: var(--ag-input-border-color);
  --ag-input-disabled-background-color: transparent;
  --ag-checkbox-background-color: transparent;
  --ag-checkbox-border-radius: var(--ag-border-radius);
  --ag-checkbox-checked-color: var(--ag-foreground-color);
  --ag-checkbox-unchecked-color: var(--ag-foreground-color);
  --ag-checkbox-indeterminate-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-border-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-off-background-color: var(--ag-checkbox-unchecked-color);
  --ag-toggle-button-on-border-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-on-background-color: var(--ag-checkbox-checked-color);
  --ag-toggle-button-switch-background-color: var(--ag-background-color);
  --ag-toggle-button-switch-border-color: var(--ag-toggle-button-off-border-color);
  --ag-toggle-button-border-width: 1px;
  --ag-toggle-button-height: var(--ag-icon-size);
  --ag-toggle-button-width: calc(var(--ag-toggle-button-height) * 2);
  --ag-input-focus-box-shadow: none;
  --ag-input-focus-border-color: none;
  --ag-minichart-selected-chart-color: var(--ag-checkbox-checked-color);
  --ag-minichart-selected-page-color: var(--ag-checkbox-checked-color);
  --ag-grid-size: 4px;
  --ag-icon-size: 12px;
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 1.5);
  --ag-widget-horizontal-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: var(--ag-grid-size);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: var(--ag-cell-horizontal-padding);
  --ag-row-height: calc(var(--ag-grid-size) * 6 + 1px);
  --ag-header-height: var(--ag-row-height);
  --ag-list-item-height: calc(var(--ag-grid-size) * 5);
  --ag-column-select-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-set-filter-indent-size: calc(var(--ag-grid-size) + var(--ag-icon-size));
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-grid-size) * 2 + var(--ag-icon-size));
  --ag-row-group-indent-size: calc(var(--ag-cell-widget-spacing) + var(--ag-icon-size));
  --ag-filter-tool-panel-group-indent: 16px;
  --ag-tab-min-width: 220px;
  --ag-menu-min-width: 181px;
  --ag-side-bar-panel-width: 200px;
  --ag-font-family: "Helvetica Neue", sans-serif;
  --ag-font-size: 14px;
  --ag-card-radius: var(--ag-border-radius);
  --ag-card-shadow: none;
  --ag-popup-shadow: 5px 5px 10px rgba(0, 0, 0, 0.3);
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
}

.ag-root-wrapper, .ag-sticky-top, .ag-dnd-ghost {
  background-color: var(--ag-background-color);
}

[class*=ag-theme-] {
  -webkit-font-smoothing: antialiased;
  font-family: var(--ag-font-family);
  font-size: var(--ag-font-size);
  line-height: normal;
  color: var(--ag-foreground-color);
}

ag-grid, ag-grid-angular, ag-grid-ng2, ag-grid-polymer, ag-grid-aurelia {
  display: block;
}

.ag-hidden {
  display: none !important;
}

.ag-invisible {
  visibility: hidden !important;
}

.ag-no-transition {
  transition: none !important;
}

.ag-drag-handle {
  cursor: grab;
}

.ag-column-drop-wrapper {
  display: flex;
}

.ag-column-drop-horizontal-half-width {
  display: inline-block;
  width: 50% !important;
}

.ag-unselectable {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-selectable {
  -moz-user-select: text;
  -webkit-user-select: text;
  user-select: text;
}

.ag-tab {
  position: relative;
}

.ag-tab-guard {
  position: absolute;
  width: 0;
  height: 0;
  display: block;
}

.ag-select-agg-func-popup {
  position: absolute;
}

.ag-input-wrapper, .ag-picker-field-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  line-height: normal;
  position: relative;
}

.ag-shake-left-to-right {
  animation-direction: alternate;
  animation-duration: 0.2s;
  animation-iteration-count: infinite;
  animation-name: ag-shake-left-to-right;
}

@keyframes ag-shake-left-to-right {
  from {
    padding-left: 6px;
    padding-right: 2px;
  }
  to {
    padding-left: 2px;
    padding-right: 6px;
  }
}

.ag-root-wrapper {
  cursor: default;
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ag-root-wrapper.ag-layout-normal {
  height: 100%;
}

.ag-watermark {
  position: absolute;
  bottom: 20px;
  right: 25px;
  opacity: 0.5;
  transition: opacity 1s ease-out 3s;
}

.ag-watermark::before {
  content: "";
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDIzNSA0MCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNjM1NzIzLDAsMCwwLjYzNTcyMywtNDkyLjkyMSwtMzIzLjYwOCkiPgogICAgICAgIDxwYXRoIGQ9Ik0xMDk5LjQsNTQ5LjRMMTA5OS40LDUzNi45TDEwNzguMSw1MzYuOUwxMDY1LjYsNTQ5LjRMMTA5OS40LDU0OS40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTEyMy40LDUxOC40TDEwOTYuNyw1MTguNEwxMDg0LjEsNTMwLjlMMTEyMy40LDUzMC45TDExMjMuNCw1MTguNFoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwNTMuMiw1NjEuOUwxMDU5LjYsNTU1LjVMMTA4MS4yLDU1NS41TDEwODEuMiw1NjhMMTA1My4yLDU2OEwxMDUzLjIsNTYxLjlaIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDU3LjksNTQzLjNMMTA3MS43LDU0My4zTDEwODQuMyw1MzAuOEwxMDU3LjksNTMwLjhMMTA1Ny45LDU0My4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNMTA0Mi44LDU2MS45TDEwNTMuMiw1NjEuOUwxMDY1LjYsNTQ5LjRMMTA0Mi44LDU0OS40TDEwNDIuOCw1NjEuOVoiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICAgICAgPHBhdGggZD0iTTEwOTYuNyw1MTguNEwxMDkwLjMsNTI0LjhMMTA0OS41LDUyNC44TDEwNDkuNSw1MTIuM0wxMDk2LjcsNTEyLjNMMTA5Ni43LDUxOC40WiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNODI4LjYsNTU5LjdMODA5LDU1OS43TDgwNS42LDU2OC4xTDc5Nyw1NjguMUw4MTUuMSw1MjUuN0w4MjIuNiw1MjUuN0w4NDAuNyw1NjguMUw4MzIsNTY4LjFMODI4LjYsNTU5LjdaTTgyNS45LDU1M0w4MTguOCw1MzUuN0w4MTEuNyw1NTNMODI1LjksNTUzWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTYwLjEsNTQxLjNDOTYyLjYsNTM3LjYgOTY4LjksNTM3LjIgOTcxLjUsNTM3LjJMOTcxLjUsNTQ0LjRDOTY4LjMsNTQ0LjQgOTY1LjEsNTQ0LjUgOTYzLjIsNTQ1LjlDOTYxLjMsNTQ3LjMgOTYwLjMsNTQ5LjIgOTYwLjMsNTUxLjVMOTYwLjMsNTY4LjFMOTUyLjUsNTY4LjFMOTUyLjUsNTM3LjJMOTYwLDUzNy4yTDk2MC4xLDU0MS4zWiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTM3LjIiIHdpZHRoPSI3LjgiIGhlaWdodD0iMzAuOSIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTsiLz4KICAgICAgICA8cmVjdCB4PSI5NzUuOCIgeT0iNTIzLjQiIHdpZHRoPSI3LjgiIGhlaWdodD0iOS4yIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpOyIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMDIyLjMsNTIzLjRMMTAyMi4zLDU2OC4xTDEwMTQuOCw1NjguMUwxMDE0LjYsNTYzLjRDMTAxMy41LDU2NSAxMDEyLjEsNTY2LjMgMTAxMC40LDU2Ny4zQzEwMDguNyw1NjguMiAxMDA2LjYsNTY4LjcgMTAwNC4yLDU2OC43QzEwMDIuMSw1NjguNyAxMDAwLjEsNTY4LjMgOTk4LjQsNTY3LjZDOTk2LjYsNTY2LjggOTk1LDU2NS44IDk5My43LDU2NC40Qzk5Mi40LDU2MyA5OTEuMyw1NjEuMyA5OTAuNiw1NTkuNEM5ODkuOCw1NTcuNSA5ODkuNSw1NTUuMyA5ODkuNSw1NTIuOUM5ODkuNSw1NTAuNSA5ODkuOSw1NDguMyA5OTAuNiw1NDYuM0M5OTEuNCw1NDQuMyA5OTIuNCw1NDIuNiA5OTMuNyw1NDEuMkM5OTUsNTM5LjggOTk2LjYsNTM4LjcgOTk4LjQsNTM3LjlDMTAwMC4yLDUzNy4xIDEwMDIuMSw1MzYuNyAxMDA0LjIsNTM2LjdDMTAwNi42LDUzNi43IDEwMDguNiw1MzcuMSAxMDEwLjMsNTM4QzEwMTIsNTM4LjkgMTAxMy40LDU0MC4xIDEwMTQuNSw1NDEuOEwxMDE0LjUsNTIzLjVMMTAyMi4zLDUyMy41TDEwMjIuMyw1MjMuNFpNMTAwNS45LDU2MkMxMDA4LjUsNTYyIDEwMTAuNSw1NjEuMSAxMDEyLjEsNTU5LjRDMTAxMy43LDU1Ny43IDEwMTQuNSw1NTUuNCAxMDE0LjUsNTUyLjZDMTAxNC41LDU0OS44IDEwMTMuNyw1NDcuNiAxMDEyLjEsNTQ1LjhDMTAxMC41LDU0NC4xIDEwMDguNSw1NDMuMiAxMDA1LjksNTQzLjJDMTAwMy40LDU0My4yIDEwMDEuMyw1NDQuMSA5OTkuOCw1NDUuOEM5OTguMiw1NDcuNSA5OTcuNCw1NDkuOCA5OTcuNCw1NTIuNkM5OTcuNCw1NTUuNCA5OTguMiw1NTcuNiA5OTkuOCw1NTkuM0MxMDAxLjQsNTYxLjEgMTAwMy40LDU2MiAxMDA1LjksNTYyIiBzdHlsZT0iZmlsbDpyZ2IoMjQsMjksMzEpO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgICAgIDxwYXRoIGQ9Ik04ODUuOCw1NDQuMkw4NjYuNSw1NDQuMkw4NjYuNSw1NTAuOUw4NzcuNSw1NTAuOUM4NzcuMiw1NTQuMyA4NzUuOSw1NTYuOSA4NzMuNyw1NTlDODcxLjUsNTYxIDg2OC43LDU2MiA4NjUuMSw1NjJDODYzLjEsNTYyIDg2MS4yLDU2MS42IDg1OS42LDU2MC45Qzg1Ny45LDU2MC4yIDg1Ni41LDU1OS4yIDg1NS4zLDU1Ny44Qzg1NC4xLDU1Ni41IDg1My4yLDU1NC45IDg1Mi41LDU1M0M4NTEuOCw1NTEuMSA4NTEuNSw1NDkuMSA4NTEuNSw1NDYuOEM4NTEuNSw1NDQuNSA4NTEuOCw1NDIuNSA4NTIuNSw1NDAuNkM4NTMuMSw1MzguNyA4NTQuMSw1MzcuMiA4NTUuMyw1MzUuOEM4NTYuNSw1MzQuNSA4NTcuOSw1MzMuNSA4NTkuNiw1MzIuN0M4NjEuMyw1MzIgODYzLjEsNTMxLjYgODY1LjIsNTMxLjZDODY5LjQsNTMxLjYgODcyLjYsNTMyLjYgODc0LjgsNTM0LjZMODgwLDUyOS40Qzg3Ni4xLDUyNi40IDg3MS4xLDUyNC44IDg2NS4yLDUyNC44Qzg2MS45LDUyNC44IDg1OC45LDUyNS4zIDg1Ni4yLDUyNi40Qzg1My41LDUyNy41IDg1MS4yLDUyOC45IDg0OS4zLDUzMC44Qzg0Ny40LDUzMi43IDg0NS45LDUzNSA4NDQuOSw1MzcuN0M4NDMuOSw1NDAuNCA4NDMuNCw1NDMuNCA4NDMuNCw1NDYuNkM4NDMuNCw1NDkuOCA4NDMuOSw1NTIuOCA4NDUsNTU1LjVDODQ2LjEsNTU4LjIgODQ3LjUsNTYwLjUgODQ5LjQsNTYyLjRDODUxLjMsNTY0LjMgODUzLjYsNTY1LjggODU2LjMsNTY2LjhDODU5LDU2Ny45IDg2Miw1NjguNCA4NjUuMiw1NjguNEM4NjguNCw1NjguNCA4NzEuMyw1NjcuOSA4NzMuOSw1NjYuOEM4NzYuNSw1NjUuNyA4NzguNyw1NjQuMyA4ODAuNSw1NjIuNEM4ODIuMyw1NjAuNSA4ODMuNyw1NTguMiA4ODQuNyw1NTUuNUM4ODUuNyw1NTIuOCA4ODYuMiw1NDkuOCA4ODYuMiw1NDYuNkw4ODYuMiw1NDUuM0M4ODUuOSw1NDUuMSA4ODUuOCw1NDQuNiA4ODUuOCw1NDQuMiIgc3R5bGU9ImZpbGw6cmdiKDI0LDI5LDMxKTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8cGF0aCBkPSJNOTQ2LjgsNTQ0LjJMOTI3LjUsNTQ0LjJMOTI3LjUsNTUwLjlMOTM4LjUsNTUwLjlDOTM4LjIsNTU0LjMgOTM2LjksNTU2LjkgOTM0LjcsNTU5QzkzMi41LDU2MSA5MjkuNyw1NjIgOTI2LjEsNTYyQzkyNC4xLDU2MiA5MjIuMiw1NjEuNiA5MjAuNiw1NjAuOUM5MTguOSw1NjAuMiA5MTcuNSw1NTkuMiA5MTYuMyw1NTcuOEM5MTUuMSw1NTYuNSA5MTQuMiw1NTQuOSA5MTMuNSw1NTNDOTEyLjgsNTUxLjEgOTEyLjUsNTQ5LjEgOTEyLjUsNTQ2LjhDOTEyLjUsNTQ0LjUgOTEyLjgsNTQyLjUgOTEzLjUsNTQwLjZDOTE0LjEsNTM4LjcgOTE1LjEsNTM3LjIgOTE2LjMsNTM1LjhDOTE3LjUsNTM0LjUgOTE4LjksNTMzLjUgOTIwLjYsNTMyLjdDOTIyLjMsNTMyIDkyNC4xLDUzMS42IDkyNi4yLDUzMS42QzkzMC40LDUzMS42IDkzMy42LDUzMi42IDkzNS44LDUzNC42TDk0MSw1MjkuNEM5MzcuMSw1MjYuNCA5MzIuMSw1MjQuOCA5MjYuMiw1MjQuOEM5MjIuOSw1MjQuOCA5MTkuOSw1MjUuMyA5MTcuMiw1MjYuNEM5MTQuNSw1MjcuNSA5MTIuMiw1MjguOSA5MTAuMyw1MzAuOEM5MDguNCw1MzIuNyA5MDYuOSw1MzUgOTA1LjksNTM3LjdDOTA0LjksNTQwLjQgOTA0LjQsNTQzLjQgOTA0LjQsNTQ2LjZDOTA0LjQsNTQ5LjggOTA0LjksNTUyLjggOTA2LDU1NS41QzkwNy4xLDU1OC4yIDkwOC41LDU2MC41IDkxMC40LDU2Mi40QzkxMi4zLDU2NC4zIDkxNC42LDU2NS44IDkxNy4zLDU2Ni44QzkyMCw1NjcuOSA5MjMsNTY4LjQgOTI2LjIsNTY4LjRDOTI5LjQsNTY4LjQgOTMyLjMsNTY3LjkgOTM0LjksNTY2LjhDOTM3LjUsNTY1LjcgOTM5LjcsNTY0LjMgOTQxLjUsNTYyLjRDOTQzLjMsNTYwLjUgOTQ0LjcsNTU4LjIgOTQ1LjcsNTU1LjVDOTQ2LjcsNTUyLjggOTQ3LjIsNTQ5LjggOTQ3LjIsNTQ2LjZMOTQ3LjIsNTQ1LjNDOTQ2LjksNTQ1LjEgOTQ2LjgsNTQ0LjYgOTQ2LjgsNTQ0LjIiIHN0eWxlPSJmaWxsOnJnYigyNCwyOSwzMSk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+CiAgICA8L2c+Cjwvc3ZnPgo=);
  background-repeat: no-repeat;
  background-size: 170px 40px;
  display: block;
  height: 40px;
  width: 170px;
  opacity: 0.5;
}

.ag-watermark-text {
  opacity: 0.5;
  font-weight: bold;
  font-family: Impact, sans-serif;
  font-size: 19px;
  padding-left: 0.7rem;
}

.ag-root-wrapper-body {
  display: flex;
  flex-direction: row;
}

.ag-root-wrapper-body.ag-layout-normal {
  flex: 1 1 auto;
  height: 0;
  min-height: 0;
}

.ag-root {
  position: relative;
  display: flex;
  flex-direction: column;
}

.ag-root.ag-layout-normal, .ag-root.ag-layout-auto-height {
  overflow: hidden;
  flex: 1 1 auto;
  width: 0;
}

.ag-root.ag-layout-normal {
  height: 100%;
}

.ag-header-viewport,
.ag-floating-top-viewport,
.ag-body-viewport,
.ag-center-cols-viewport,
.ag-floating-bottom-viewport,
.ag-body-horizontal-scroll-viewport,
.ag-body-vertical-scroll-viewport,
.ag-virtual-list-viewport,
.ag-sticky-top-viewport {
  position: relative;
  height: 100%;
  min-width: 0px;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-body-viewport, .ag-center-cols-viewport {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.ag-body-viewport::-webkit-scrollbar, .ag-center-cols-viewport::-webkit-scrollbar {
  display: none;
}

.ag-body-viewport {
  display: flex;
}

.ag-body-viewport.ag-layout-normal {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ag-center-cols-viewport {
  min-height: 100%;
  width: 100%;
  overflow-x: auto;
}

.ag-body-horizontal-scroll-viewport {
  overflow-x: scroll;
}

.ag-body-vertical-scroll-viewport {
  overflow-y: scroll;
}

.ag-virtual-list-viewport {
  overflow: auto;
  width: 100%;
}

.ag-header-container,
.ag-floating-top-container,
.ag-body-container,
.ag-pinned-right-cols-container,
.ag-center-cols-container,
.ag-pinned-left-cols-container,
.ag-floating-bottom-container,
.ag-body-horizontal-scroll-container,
.ag-body-vertical-scroll-container,
.ag-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-virtual-list-container,
.ag-sticky-top-container {
  position: relative;
}

.ag-header-container,
.ag-floating-top-container,
.ag-floating-bottom-container,
.ag-sticky-top-container {
  height: 100%;
  white-space: nowrap;
}

.ag-center-cols-container {
  display: block;
}

.ag-pinned-right-cols-container {
  display: block;
}

.ag-body-horizontal-scroll-container {
  height: 100%;
}

.ag-body-vertical-scroll-container {
  width: 100%;
}

.ag-full-width-container,
.ag-floating-top-full-width-container,
.ag-floating-bottom-full-width-container,
.ag-sticky-top-full-width-container {
  position: absolute;
  top: 0px;
  pointer-events: none;
}

.ag-ltr .ag-full-width-container,
.ag-ltr .ag-floating-top-full-width-container,
.ag-ltr .ag-floating-bottom-full-width-container,
.ag-ltr .ag-sticky-top-full-width-container {
  left: 0;
}

.ag-rtl .ag-full-width-container,
.ag-rtl .ag-floating-top-full-width-container,
.ag-rtl .ag-floating-bottom-full-width-container,
.ag-rtl .ag-sticky-top-full-width-container {
  right: 0;
}

.ag-full-width-container {
  width: 100%;
}

.ag-floating-bottom-full-width-container, .ag-floating-top-full-width-container {
  display: inline-block;
  overflow: hidden;
  height: 100%;
  width: 100%;
}

.ag-virtual-list-container {
  overflow: hidden;
}

.ag-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  flex-direction: row !important;
  min-height: 0;
}

.ag-body-horizontal-scroll,
.ag-body-vertical-scroll {
  min-height: 0;
  min-width: 0;
  display: flex;
  position: relative;
}

.ag-body-horizontal-scroll.ag-scrollbar-invisible,
.ag-body-vertical-scroll.ag-scrollbar-invisible {
  position: absolute;
  bottom: 0;
}

.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar {
  opacity: 0;
  transition: opacity 400ms;
  visibility: hidden;
}

.ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling, .ag-body-horizontal-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-scrolling,
.ag-body-vertical-scroll.ag-scrollbar-invisible.ag-apple-scrollbar.ag-scrollbar-active {
  visibility: visible;
  opacity: 1;
}

.ag-body-horizontal-scroll {
  width: 100%;
}

.ag-body-horizontal-scroll.ag-scrollbar-invisible {
  left: 0;
  right: 0;
}

.ag-body-vertical-scroll {
  height: 100%;
}

.ag-body-vertical-scroll.ag-scrollbar-invisible {
  top: 0;
  z-index: 10;
}

.ag-ltr .ag-body-vertical-scroll.ag-scrollbar-invisible {
  right: 0;
}

.ag-rtl .ag-body-vertical-scroll.ag-scrollbar-invisible {
  left: 0;
}

.ag-force-vertical-scroll {
  overflow-y: scroll !important;
}

.ag-horizontal-left-spacer, .ag-horizontal-right-spacer {
  height: 100%;
  min-width: 0;
  overflow-x: scroll;
}

.ag-horizontal-left-spacer.ag-scroller-corner, .ag-horizontal-right-spacer.ag-scroller-corner {
  overflow-x: hidden;
}

.ag-header, .ag-pinned-left-header, .ag-pinned-right-header {
  display: inline-block;
  overflow: hidden;
  position: relative;
}

.ag-header-cell-sortable .ag-header-cell-label {
  cursor: pointer;
}

.ag-header {
  display: flex;
  width: 100%;
  white-space: nowrap;
}

.ag-pinned-left-header {
  height: 100%;
}

.ag-pinned-right-header {
  height: 100%;
}

.ag-header-row {
  position: absolute;
}

.ag-header-row:not(.ag-header-row-column-group) {
  overflow: hidden;
}

.ag-header.ag-header-allow-overflow .ag-header-row {
  overflow: visible;
}

.ag-header-cell {
  display: inline-flex;
  align-items: center;
  position: absolute;
  height: 100%;
  overflow: hidden;
}

.ag-header-cell.ag-header-active .ag-header-cell-menu-button {
  opacity: 1;
}

.ag-header-cell-menu-button:not(.ag-header-menu-always-show) {
  transition: opacity 0.2s;
  opacity: 0;
}

.ag-header-group-cell-label, .ag-header-cell-label {
  display: flex;
  flex: 1 1 auto;
  overflow: hidden;
  align-items: center;
  text-overflow: ellipsis;
  align-self: stretch;
}

.ag-header-group-cell-label.ag-sticky-label {
  position: sticky;
  flex: none;
  max-width: 100%;
}

.ag-header-cell-text {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-header-cell:not(.ag-header-cell-auto-height) .ag-header-cell-comp-wrapper {
  height: 100%;
  display: flex;
  align-items: center;
}

.ag-header-cell-comp-wrapper {
  width: 100%;
  overflow: hidden;
}

.ag-header-cell-wrap-text .ag-header-cell-comp-wrapper {
  white-space: normal;
}

.ag-right-aligned-header .ag-header-cell-label {
  flex-direction: row-reverse;
}

.ag-header-group-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-header-cell-resize {
  position: absolute;
  z-index: 2;
  height: 100%;
  width: 8px;
  top: 0;
  cursor: ew-resize;
}

.ag-ltr .ag-header-cell-resize {
  right: -4px;
}

.ag-rtl .ag-header-cell-resize {
  left: -4px;
}

.ag-pinned-left-header .ag-header-cell-resize {
  right: -4px;
}

.ag-pinned-right-header .ag-header-cell-resize {
  left: -4px;
}

.ag-header-select-all {
  display: flex;
}

.ag-column-moving .ag-cell {
  transition: left 0.2s;
}

.ag-column-moving .ag-header-cell {
  transition: left 0.2s;
}

.ag-column-moving .ag-header-group-cell {
  transition: left 0.2s, width 0.2s;
}

.ag-column-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 1 1 auto;
}

.ag-column-select {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  flex: 3 1 0px;
}

.ag-column-select-header {
  position: relative;
  display: flex;
  flex: none;
}

.ag-column-select-header-icon {
  position: relative;
}

.ag-column-select-header-filter-wrapper {
  flex: 1 1 auto;
}

.ag-column-select-header-filter {
  width: 100%;
}

.ag-column-select-list {
  flex: 1 1 0px;
  overflow: hidden;
}

.ag-column-drop {
  position: relative;
  display: inline-flex;
  align-items: center;
  overflow: auto;
  width: 100%;
}

.ag-column-drop-list {
  display: flex;
  align-items: center;
}

.ag-column-drop-cell {
  position: relative;
  display: flex;
  align-items: center;
}

.ag-column-drop-cell-text {
  overflow: hidden;
  flex: 1 1 auto;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-drop-vertical {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  align-items: stretch;
  flex: 1 1 0px;
}

.ag-column-drop-vertical-title-bar {
  display: flex;
  align-items: center;
  flex: none;
}

.ag-column-drop-vertical-list {
  position: relative;
  align-items: stretch;
  flex-grow: 1;
  flex-direction: column;
  overflow-x: auto;
}

.ag-column-drop-vertical-list > * {
  flex: none;
}

.ag-column-drop-empty .ag-column-drop-vertical-list {
  overflow: hidden;
}

.ag-column-drop-vertical-empty-message {
  display: block;
}

.ag-column-drop.ag-column-drop-horizontal {
  white-space: nowrap;
  overflow: hidden;
}

.ag-column-drop-cell-button {
  cursor: pointer;
}

.ag-filter-toolpanel {
  flex: 1 1 0px;
  min-width: 0;
}

.ag-filter-toolpanel-header {
  position: relative;
}

.ag-filter-toolpanel-header, .ag-filter-toolpanel-search {
  display: flex;
  align-items: center;
}

.ag-filter-toolpanel-header > *, .ag-filter-toolpanel-search > * {
  display: flex;
  align-items: center;
}

.ag-filter-apply-panel {
  display: flex;
  justify-content: flex-end;
  overflow: hidden;
}

.ag-row-animation .ag-row {
  transition: transform 0.4s, top 0.4s, background-color 0.1s, opacity 0.2s;
}

.ag-row-animation .ag-row.ag-after-created {
  transition: transform 0.4s, top 0.4s, height 0.4s, background-color 0.1s, opacity 0.2s;
}

.ag-row-no-animation .ag-row {
  transition: background-color 0.1s;
}

.ag-row {
  white-space: nowrap;
  width: 100%;
}

.ag-row-loading {
  display: flex;
  align-items: center;
}

.ag-row-position-absolute {
  position: absolute;
}

.ag-row-position-relative {
  position: relative;
}

.ag-full-width-row {
  overflow: hidden;
  pointer-events: all;
}

.ag-row-inline-editing {
  z-index: 1;
}

.ag-row-dragging {
  z-index: 2;
}

.ag-stub-cell {
  display: flex;
  align-items: center;
}

.ag-cell {
  display: inline-block;
  position: absolute;
  white-space: nowrap;
  height: 100%;
}

.ag-cell-value {
  flex: 1 1 auto;
}

.ag-cell-value, .ag-group-value {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-cell-wrap-text {
  white-space: normal;
  word-break: break-all;
}

.ag-cell-wrapper {
  display: flex;
  align-items: center;
}

.ag-cell-wrapper.ag-row-group {
  align-items: flex-start;
}

.ag-sparkline-wrapper {
  position: absolute;
  height: 100%;
  width: 100%;
  left: 0;
  top: 0;
}

.ag-full-width-row .ag-cell-wrapper.ag-row-group {
  height: 100%;
  align-items: center;
}

.ag-cell-inline-editing {
  z-index: 1;
}

.ag-cell-inline-editing .ag-cell-wrapper,
.ag-cell-inline-editing .ag-cell-edit-wrapper,
.ag-cell-inline-editing .ag-cell-editor,
.ag-cell-inline-editing .ag-cell-editor .ag-wrapper,
.ag-cell-inline-editing .ag-cell-editor input {
  height: 100%;
  width: 100%;
  line-height: normal;
}

.ag-cell .ag-icon {
  display: inline-block;
  vertical-align: middle;
}

.ag-set-filter-item {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-set-filter-item-checkbox {
  display: flex;
  overflow: hidden;
}

.ag-set-filter-group-icons {
  display: block;
}

.ag-set-filter-group-icons > * {
  cursor: pointer;
}

.ag-filter-body-wrapper {
  display: flex;
  flex-direction: column;
}

.ag-filter-filter {
  flex: 1 1 0px;
}

.ag-filter-condition {
  display: flex;
  justify-content: center;
}

.ag-floating-filter-body {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  height: 100%;
}

.ag-floating-filter-full-body {
  display: flex;
  flex: 1 1 auto;
  height: 100%;
  width: 100%;
  align-items: center;
  overflow: hidden;
}

.ag-floating-filter-full-body > div {
  flex: 1 1 auto;
}

.ag-floating-filter-input {
  align-items: center;
  display: flex;
  width: 100%;
}

.ag-floating-filter-input > * {
  flex: 1 1 auto;
}

.ag-floating-filter-button {
  display: flex;
  flex: none;
}

.ag-set-floating-filter-input input[disabled] {
  pointer-events: none;
}

.ag-dnd-ghost {
  position: absolute;
  display: inline-flex;
  align-items: center;
  cursor: move;
  white-space: nowrap;
  z-index: 9999;
}

.ag-overlay {
  height: 100%;
  left: 0;
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

.ag-overlay-panel {
  display: flex;
  height: 100%;
  width: 100%;
}

.ag-overlay-wrapper {
  display: flex;
  flex: none;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.ag-overlay-loading-wrapper {
  pointer-events: all;
}

.ag-popup-child {
  z-index: 5;
  top: 0;
}

.ag-popup-editor {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-large-text-input {
  display: block;
}

.ag-virtual-list-item {
  position: absolute;
  width: 100%;
}

.ag-floating-top {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: flex;
}

.ag-pinned-left-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-top {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-floating-bottom {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
  position: relative;
  display: flex;
}

.ag-pinned-left-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-pinned-right-floating-bottom {
  display: inline-block;
  overflow: hidden;
  position: relative;
  min-width: 0px;
}

.ag-sticky-top {
  position: absolute;
  display: flex;
  width: 100%;
}

.ag-pinned-left-sticky-top,
.ag-pinned-right-sticky-top {
  position: relative;
  height: 100%;
  overflow: hidden;
}

.ag-sticky-top-full-width-container {
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-dialog, .ag-panel {
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
}

.ag-panel-title-bar {
  display: flex;
  flex: none;
  align-items: center;
  cursor: default;
}

.ag-panel-title-bar-title {
  flex: 1 1 auto;
}

.ag-panel-title-bar-buttons {
  display: flex;
}

.ag-panel-title-bar-button {
  cursor: pointer;
}

.ag-panel-content-wrapper {
  display: flex;
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
}

.ag-dialog {
  position: absolute;
}

.ag-resizer {
  position: absolute;
  pointer-events: none;
  z-index: 1;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-resizer.ag-resizer-topLeft {
  top: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}

.ag-resizer.ag-resizer-top {
  top: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}

.ag-resizer.ag-resizer-topRight {
  top: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}

.ag-resizer.ag-resizer-right {
  top: 5px;
  right: 0;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}

.ag-resizer.ag-resizer-bottomRight {
  bottom: 0;
  right: 0;
  height: 5px;
  width: 5px;
  cursor: nwse-resize;
}

.ag-resizer.ag-resizer-bottom {
  bottom: 0;
  left: 5px;
  right: 5px;
  height: 5px;
  cursor: ns-resize;
}

.ag-resizer.ag-resizer-bottomLeft {
  bottom: 0;
  left: 0;
  height: 5px;
  width: 5px;
  cursor: nesw-resize;
}

.ag-resizer.ag-resizer-left {
  left: 0;
  top: 5px;
  bottom: 5px;
  width: 5px;
  cursor: ew-resize;
}

.ag-tooltip {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip-custom {
  position: absolute;
  z-index: 99999;
}

.ag-tooltip:not(.ag-tooltip-interactive),
.ag-tooltip-custom:not(.ag-tooltip-interactive) {
  pointer-events: none;
}

.ag-value-slide-out {
  margin-right: 5px;
  opacity: 1;
  transition: opacity 3s, margin-right 3s;
  transition-timing-function: linear;
}

.ag-value-slide-out-end {
  margin-right: 10px;
  opacity: 0;
}

.ag-opacity-zero {
  opacity: 0 !important;
}

.ag-menu {
  max-height: 100%;
  overflow-y: auto;
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-menu-column-select-wrapper {
  height: 265px;
  overflow: auto;
}

.ag-menu-column-select-wrapper .ag-column-select {
  height: 100%;
}

.ag-menu-list {
  display: table;
  width: 100%;
}

.ag-menu-option, .ag-menu-separator {
  display: table-row;
}

.ag-menu-option-part, .ag-menu-separator-part {
  display: table-cell;
  vertical-align: middle;
}

.ag-menu-option-text {
  white-space: nowrap;
}

.ag-compact-menu-option {
  width: 100%;
  display: flex;
  flex-wrap: nowrap;
}

.ag-compact-menu-option-text {
  white-space: nowrap;
  flex: 1 1 auto;
}

.ag-rich-select {
  cursor: default;
  outline: none;
  height: 100%;
}

.ag-rich-select-value {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-rich-select-value .ag-picker-field-display {
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-rich-select-value .ag-picker-field-display.ag-display-as-placeholder {
  opacity: 0.5;
}

.ag-rich-select-list {
  position: relative;
}

.ag-rich-select-list .ag-loading-text {
  min-height: 2rem;
}

.ag-rich-select-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  height: 100%;
}

.ag-rich-select-field-input {
  flex: 1 1 auto;
}

.ag-rich-select-field-input .ag-input-field-input {
  padding: 0 !important;
  border: none !important;
  box-shadow: none !important;
  text-overflow: ellipsis;
}

.ag-rich-select-field-input .ag-input-field-input::-moz-placeholder {
  opacity: 0.8;
}

.ag-rich-select-field-input .ag-input-field-input::placeholder {
  opacity: 0.8;
}

.ag-autocomplete {
  align-items: center;
  display: flex;
}

.ag-autocomplete > * {
  flex: 1 1 auto;
}

.ag-autocomplete-list-popup {
  position: absolute;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-autocomplete-list {
  position: relative;
}

.ag-autocomplete-virtual-list-item {
  display: flex;
}

.ag-autocomplete-row {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  overflow: hidden;
}

.ag-autocomplete-row-label {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-paging-panel {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

.ag-paging-page-summary-panel {
  display: flex;
  align-items: center;
}

.ag-paging-button {
  position: relative;
}

.ag-disabled .ag-paging-page-summary-panel {
  pointer-events: none;
}

.ag-tool-panel-wrapper {
  display: flex;
  overflow-y: auto;
  overflow-x: hidden;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-column-select-column,
.ag-column-select-column-group,
.ag-select-agg-func-item {
  position: relative;
  align-items: center;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
}

.ag-column-select-column > *,
.ag-column-select-column-group > *,
.ag-select-agg-func-item > * {
  flex: none;
}

.ag-select-agg-func-item,
.ag-column-select-column-label {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ag-column-select-checkbox {
  display: flex;
}

.ag-tool-panel-horizontal-resize {
  cursor: ew-resize;
  height: 100%;
  position: absolute;
  top: 0;
  width: 5px;
  z-index: 1;
}

.ag-ltr .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  right: -3px;
}

.ag-rtl .ag-side-bar-left .ag-tool-panel-horizontal-resize {
  left: -3px;
}

.ag-ltr .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  left: -3px;
}

.ag-rtl .ag-side-bar-right .ag-tool-panel-horizontal-resize {
  right: -3px;
}

.ag-details-row {
  width: 100%;
}

.ag-details-row-fixed-height {
  height: 100%;
}

.ag-details-grid {
  width: 100%;
}

.ag-details-grid-fixed-height {
  height: 100%;
}

.ag-header-group-cell {
  display: flex;
  align-items: center;
  height: 100%;
  position: absolute;
}

.ag-header-group-cell-no-group.ag-header-span-height .ag-header-cell-resize {
  display: none;
}

.ag-cell-label-container {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  height: 100%;
  width: 100%;
  overflow: hidden;
  padding: 5px 0px;
}

.ag-right-aligned-header .ag-cell-label-container {
  flex-direction: row;
}

.ag-right-aligned-header .ag-header-cell-text {
  text-align: end;
}

.ag-side-bar {
  display: flex;
  flex-direction: row-reverse;
}

.ag-side-bar-left {
  order: -1;
  flex-direction: row;
}

.ag-side-button-button {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  white-space: nowrap;
  outline: none;
  cursor: pointer;
}

.ag-side-button-label {
  writing-mode: vertical-lr;
}

.ag-status-bar {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
}

.ag-status-panel {
  display: inline-flex;
}

.ag-status-name-value {
  white-space: nowrap;
}

.ag-status-bar-left {
  display: inline-flex;
}

.ag-status-bar-center {
  display: inline-flex;
}

.ag-status-bar-right {
  display: inline-flex;
}

.ag-icon {
  display: block;
  speak: none;
}

.ag-group {
  position: relative;
  width: 100%;
}

.ag-group-title-bar {
  display: flex;
  align-items: center;
}

.ag-group-title {
  display: block;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.ag-group-title-bar .ag-group-title {
  cursor: default;
}

.ag-group-toolbar {
  display: flex;
  align-items: center;
}

.ag-group-container {
  display: flex;
}

.ag-disabled .ag-group-container {
  pointer-events: none;
}

.ag-group-container-horizontal {
  flex-direction: row;
  flex-wrap: wrap;
}

.ag-group-container-vertical {
  flex-direction: column;
}

.ag-column-group-icons {
  display: block;
}

.ag-column-group-icons > * {
  cursor: pointer;
}

.ag-group-item-alignment-stretch .ag-group-item {
  align-items: stretch;
}

.ag-group-item-alignment-start .ag-group-item {
  align-items: flex-start;
}

.ag-group-item-alignment-end .ag-group-item {
  align-items: flex-end;
}

.ag-toggle-button-icon {
  transition: right 0.3s;
  position: absolute;
  top: -1px;
}

.ag-input-field, .ag-select {
  display: flex;
  flex-direction: row;
  align-items: center;
}

.ag-input-field-input {
  flex: 1 1 auto;
}

.ag-floating-filter-input .ag-input-field-input[type=date] {
  width: 1px;
}

.ag-range-field {
  display: flex;
  align-items: center;
}

.ag-angle-select {
  display: flex;
  align-items: center;
}

.ag-angle-select-wrapper {
  display: flex;
}

.ag-angle-select-parent-circle {
  display: block;
  position: relative;
}

.ag-angle-select-child-circle {
  position: absolute;
}

.ag-slider-wrapper {
  display: flex;
}

.ag-slider-wrapper .ag-input-field {
  flex: 1 1 auto;
}

.ag-picker-field-display {
  flex: 1 1 auto;
}

.ag-picker-field {
  display: flex;
  align-items: center;
}

.ag-picker-field-icon {
  display: flex;
  border: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.ag-picker-field-wrapper {
  overflow: hidden;
}

.ag-label-align-right .ag-label {
  order: 1;
}

.ag-label-align-right > * {
  flex: none;
}

.ag-label-align-top {
  flex-direction: column;
  align-items: flex-start;
}

.ag-label-align-top > * {
  align-self: stretch;
}

.ag-label-ellipsis {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
}

.ag-color-panel {
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
}

.ag-spectrum-color {
  flex: 1 1 auto;
  position: relative;
  overflow: hidden;
  cursor: default;
}

.ag-spectrum-fill {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-spectrum-val {
  cursor: pointer;
}

.ag-spectrum-dragger {
  position: absolute;
  pointer-events: none;
  cursor: pointer;
}

.ag-spectrum-hue {
  cursor: default;
  background: linear-gradient(to left, #ff0000 3%, #ffff00 17%, #00ff00 33%, #00ffff 50%, #0000ff 67%, #ff00ff 83%, #ff0000 100%);
}

.ag-spectrum-alpha {
  cursor: default;
}

.ag-spectrum-hue-background {
  width: 100%;
  height: 100%;
}

.ag-spectrum-alpha-background {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgb(0, 0, 0));
  width: 100%;
  height: 100%;
}

.ag-spectrum-tool {
  cursor: pointer;
}

.ag-spectrum-slider {
  position: absolute;
  pointer-events: none;
}

.ag-recent-colors {
  display: flex;
}

.ag-recent-color {
  cursor: pointer;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: 20px;
}

.ag-rtl .ag-column-select-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: 20px;
}

.ag-rtl .ag-set-filter-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: 20px;
}

.ag-rtl .ag-row-group-indent-1 {
  padding-right: 20px;
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: 40px;
}

.ag-rtl .ag-column-select-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: 40px;
}

.ag-rtl .ag-set-filter-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: 40px;
}

.ag-rtl .ag-row-group-indent-2 {
  padding-right: 40px;
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: 60px;
}

.ag-rtl .ag-column-select-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: 60px;
}

.ag-rtl .ag-set-filter-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: 60px;
}

.ag-rtl .ag-row-group-indent-3 {
  padding-right: 60px;
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: 80px;
}

.ag-rtl .ag-column-select-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: 80px;
}

.ag-rtl .ag-set-filter-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: 80px;
}

.ag-rtl .ag-row-group-indent-4 {
  padding-right: 80px;
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: 100px;
}

.ag-rtl .ag-column-select-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: 100px;
}

.ag-rtl .ag-set-filter-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: 100px;
}

.ag-rtl .ag-row-group-indent-5 {
  padding-right: 100px;
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: 120px;
}

.ag-rtl .ag-column-select-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: 120px;
}

.ag-rtl .ag-set-filter-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: 120px;
}

.ag-rtl .ag-row-group-indent-6 {
  padding-right: 120px;
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: 140px;
}

.ag-rtl .ag-column-select-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: 140px;
}

.ag-rtl .ag-set-filter-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: 140px;
}

.ag-rtl .ag-row-group-indent-7 {
  padding-right: 140px;
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: 160px;
}

.ag-rtl .ag-column-select-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: 160px;
}

.ag-rtl .ag-set-filter-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: 160px;
}

.ag-rtl .ag-row-group-indent-8 {
  padding-right: 160px;
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: 180px;
}

.ag-rtl .ag-column-select-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: 180px;
}

.ag-rtl .ag-set-filter-indent-9 {
  padding-right: 180px;
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: 180px;
}

.ag-rtl .ag-row-group-indent-9 {
  padding-right: 180px;
}

.ag-ltr {
  direction: ltr;
}

.ag-ltr .ag-body, .ag-ltr .ag-floating-top, .ag-ltr .ag-floating-bottom, .ag-ltr .ag-header, .ag-ltr .ag-sticky-top, .ag-ltr .ag-body-viewport, .ag-ltr .ag-body-horizontal-scroll {
  flex-direction: row;
}

.ag-rtl {
  direction: rtl;
}

.ag-rtl .ag-body, .ag-rtl .ag-floating-top, .ag-rtl .ag-floating-bottom, .ag-rtl .ag-header, .ag-rtl .ag-sticky-top, .ag-rtl .ag-body-viewport, .ag-rtl .ag-body-horizontal-scroll {
  flex-direction: row-reverse;
}

.ag-rtl .ag-icon-contracted,
.ag-rtl .ag-icon-expanded,
.ag-rtl .ag-icon-tree-closed {
  display: block;
  transform: rotate(180deg);
}

.ag-body .ag-body-viewport {
  -webkit-overflow-scrolling: touch;
}

.ag-layout-print.ag-body {
  display: block;
  height: unset;
}

.ag-layout-print.ag-root-wrapper {
  display: inline-block;
}

.ag-layout-print .ag-body-vertical-scroll {
  display: none;
}

.ag-layout-print .ag-body-horizontal-scroll {
  display: none;
}

.ag-layout-print.ag-force-vertical-scroll {
  overflow-y: visible !important;
}

@media print {
  .ag-root-wrapper.ag-layout-print {
    display: table;
  }
  .ag-root-wrapper.ag-layout-print .ag-root-wrapper-body,
  .ag-root-wrapper.ag-layout-print .ag-root,
  .ag-root-wrapper.ag-layout-print .ag-body-viewport,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-container,
  .ag-root-wrapper.ag-layout-print .ag-center-cols-viewport,
  .ag-root-wrapper.ag-layout-print .ag-body-horizontal-scroll-viewport,
  .ag-root-wrapper.ag-layout-print .ag-virtual-list-viewport {
    height: auto !important;
    overflow: hidden !important;
    display: block !important;
  }
  .ag-root-wrapper.ag-layout-print .ag-row, .ag-root-wrapper.ag-layout-print .ag-cell {
    -moz-column-break-inside: avoid;
         break-inside: avoid;
  }
}

[class^=ag-], [class^=ag-]:focus, [class^=ag-]:after, [class^=ag-]:before {
  box-sizing: border-box;
  outline: none;
}

[class^=ag-]::-ms-clear {
  display: none;
}

.ag-checkbox .ag-input-wrapper,
.ag-radio-button .ag-input-wrapper {
  overflow: visible;
}

.ag-range-field .ag-input-wrapper {
  height: 100%;
}

.ag-toggle-button {
  flex: none;
  width: unset;
  min-width: unset;
}

.ag-button {
  border-radius: 0px;
  color: var(--ag-foreground-color);
}

.ag-button:hover {
  background-color: transparent;
}

.ag-ltr .ag-label-align-right .ag-label {
  margin-left: var(--ag-grid-size);
}

.ag-rtl .ag-label-align-right .ag-label {
  margin-right: var(--ag-grid-size);
}

input[class^=ag-] {
  margin: 0;
  background-color: var(--ag-background-color);
}

textarea[class^=ag-],
select[class^=ag-] {
  background-color: var(--ag-background-color);
}

input[class^=ag-]:not([type]),
input[class^=ag-][type=text],
input[class^=ag-][type=number],
input[class^=ag-][type=tel],
input[class^=ag-][type=date],
input[class^=ag-][type=datetime-local],
textarea[class^=ag-] {
  font-size: inherit;
  line-height: inherit;
  color: inherit;
  border: var(--ag-borders-input) var(--ag-input-border-color);
}

input[class^=ag-]:not([type]):disabled,
input[class^=ag-][type=text]:disabled,
input[class^=ag-][type=number]:disabled,
input[class^=ag-][type=tel]:disabled,
input[class^=ag-][type=date]:disabled,
input[class^=ag-][type=datetime-local]:disabled,
textarea[class^=ag-]:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}

input[class^=ag-]:not([type]):focus,
input[class^=ag-][type=text]:focus,
input[class^=ag-][type=number]:focus,
input[class^=ag-][type=tel]:focus,
input[class^=ag-][type=date]:focus,
input[class^=ag-][type=datetime-local]:focus,
textarea[class^=ag-]:focus {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}

input[class^=ag-]:not([type]):invalid,
input[class^=ag-][type=text]:invalid,
input[class^=ag-][type=number]:invalid,
input[class^=ag-][type=tel]:invalid,
input[class^=ag-][type=date]:invalid,
input[class^=ag-][type=datetime-local]:invalid,
textarea[class^=ag-]:invalid {
  border: var(--ag-borders-input-invalid) var(--ag-input-border-color-invalid);
}

input[class^=ag-][type=number]:not(.ag-number-field-input-stepper) {
  -moz-appearance: textfield;
}

input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-outer-spin-button, input[class^=ag-][type=number]:not(.ag-number-field-input-stepper)::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[class^=ag-][type=range] {
  padding: 0;
}

input[class^=ag-][type=button]:focus, button[class^=ag-]:focus {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-drag-handle {
  color: var(--ag-secondary-foreground-color);
}

.ag-list-item, .ag-virtual-list-item {
  height: var(--ag-list-item-height);
}

.ag-keyboard-focus .ag-virtual-list-item:focus {
  outline: none;
}

.ag-keyboard-focus .ag-virtual-list-item:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-select-list {
  background-color: var(--ag-background-color);
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-list-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-list-item.ag-active-item {
  background-color: var(--ag-row-hover-color);
}

.ag-select-list-item {
  padding-left: 4px;
  padding-right: 4px;
  cursor: default;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-select-list-item span {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.ag-row-drag,
.ag-selection-checkbox,
.ag-group-expanded,
.ag-group-contracted {
  color: var(--ag-secondary-foreground-color);
}

.ag-ltr .ag-row-drag,
.ag-ltr .ag-selection-checkbox,
.ag-ltr .ag-group-expanded,
.ag-ltr .ag-group-contracted {
  margin-right: var(--ag-cell-widget-spacing);
}

.ag-rtl .ag-row-drag,
.ag-rtl .ag-selection-checkbox,
.ag-rtl .ag-group-expanded,
.ag-rtl .ag-group-contracted {
  margin-left: var(--ag-cell-widget-spacing);
}

.ag-cell-wrapper > *:not(.ag-cell-value):not(.ag-group-value) {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  display: flex;
  align-items: center;
  flex: none;
}

.ag-group-expanded,
.ag-group-contracted {
  cursor: pointer;
}

.ag-group-title-bar-icon {
  cursor: pointer;
  flex: none;
  color: var(--ag-secondary-foreground-color);
}

.ag-ltr .ag-group-child-count {
  margin-left: 2px;
}

.ag-rtl .ag-group-child-count {
  margin-right: 2px;
}

.ag-group-title-bar {
  background-color: var(--ag-subheader-background-color);
  padding: var(--ag-grid-size);
}

.ag-group-toolbar {
  padding: var(--ag-grid-size);
  background-color: var(--ag-subheader-toolbar-background-color);
}

.ag-disabled-group-title-bar, .ag-disabled-group-container {
  opacity: 0.5;
}

.group-item {
  margin: calc(var(--ag-grid-size) * 0.5) 0;
}

.ag-label {
  white-space: nowrap;
}

.ag-ltr .ag-label {
  margin-right: var(--ag-grid-size);
}

.ag-rtl .ag-label {
  margin-left: var(--ag-grid-size);
}

.ag-label-align-top .ag-label {
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-angle-select[disabled] {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}

.ag-angle-select[disabled] .ag-angle-select-field {
  opacity: 0.4;
}

.ag-ltr .ag-slider-field,
.ag-ltr .ag-angle-select-field {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-slider-field,
.ag-rtl .ag-angle-select-field {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-angle-select-parent-circle {
  width: 24px;
  height: 24px;
  border-radius: 12px;
  border: solid 1px;
  border-color: var(--ag-border-color);
  background-color: var(--ag-background-color);
}

.ag-angle-select-child-circle {
  top: 4px;
  left: 12px;
  width: 6px;
  height: 6px;
  margin-left: -3px;
  margin-top: -4px;
  border-radius: 3px;
  background-color: var(--ag-secondary-foreground-color);
}

.ag-picker-field-wrapper {
  border: var(--ag-borders);
  border-color: var(--ag-border-color);
  border-radius: 5px;
}

.ag-picker-field-wrapper:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}

.ag-picker-field-wrapper.ag-picker-has-focus, .ag-picker-field-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-input-focus-border-color);
}

.ag-picker-field-button {
  background-color: var(--ag-background-color);
  color: var(--ag-secondary-foreground-color);
}

.ag-dialog.ag-color-dialog {
  border-radius: 5px;
}

.ag-color-picker .ag-picker-field-display {
  height: var(--ag-icon-size);
}

.ag-color-panel {
  padding: var(--ag-grid-size);
}

.ag-spectrum-color {
  background-color: rgb(255, 0, 0);
  border-radius: 2px;
}

.ag-spectrum-tools {
  padding: 10px;
}

.ag-spectrum-sat {
  background-image: linear-gradient(to right, white, rgba(204, 154, 129, 0));
}

.ag-spectrum-val {
  background-image: linear-gradient(to top, black, rgba(204, 154, 129, 0));
}

.ag-spectrum-dragger {
  border-radius: 12px;
  height: 12px;
  width: 12px;
  border: 1px solid white;
  background: black;
  box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.24);
}

.ag-spectrum-hue-background {
  border-radius: 2px;
}

.ag-spectrum-alpha-background {
  border-radius: 2px;
}

.ag-spectrum-tool {
  margin-bottom: 10px;
  height: 11px;
  border-radius: 2px;
}

.ag-spectrum-slider {
  margin-top: -12px;
  width: 13px;
  height: 13px;
  border-radius: 13px;
  background-color: rgb(248, 248, 248);
  box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.37);
}

.ag-recent-color {
  margin: 0 3px;
}

.ag-recent-color:first-child {
  margin-left: 0;
}

.ag-recent-color:last-child {
  margin-right: 0;
}

.ag-spectrum-color:focus-visible:not(:disabled):not([readonly]),
.ag-spectrum-slider:focus-visible:not(:disabled):not([readonly]),
.ag-recent-color:focus-visible:not(:disabled):not([readonly]) {
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-dnd-ghost {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  overflow: hidden;
  text-overflow: ellipsis;
  border: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height) !important;
  line-height: var(--ag-header-height);
  margin: 0;
  padding: 0 calc(var(--ag-grid-size) * 2);
  transform: translateY(calc(var(--ag-grid-size) * 2));
}

.ag-dnd-ghost-icon {
  margin-right: var(--ag-grid-size);
  color: var(--ag-foreground-color);
}

.ag-popup-child:not(.ag-tooltip-custom) {
  box-shadow: var(--ag-popup-shadow);
}

.ag-select .ag-picker-field-wrapper {
  background-color: var(--ag-background-color);
  min-height: var(--ag-list-item-height);
  cursor: default;
}

.ag-select.ag-disabled .ag-picker-field-wrapper:focus {
  box-shadow: none;
}

.ag-select:not(.ag-cell-editor, .ag-label-align-top) {
  height: var(--ag-list-item-height);
}

.ag-select .ag-picker-field-display {
  margin: 4px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ag-select .ag-picker-field-icon {
  display: flex;
  align-items: center;
}

.ag-select.ag-disabled {
  opacity: 0.5;
}

.ag-rich-select-value,
.ag-rich-select-list {
  background-color: var(--ag-background-color);
}

.ag-rich-select-list {
  width: 100%;
  height: auto;
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-rich-select-list .ag-loading-text {
  padding: var(--ag-widget-vertical-spacing) var(--ag-widget-horizontal-spacing);
}

.ag-rich-select-value {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  padding-top: 0;
  padding-bottom: 0;
}

.ag-ltr .ag-rich-select-value {
  padding-left: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-rich-select-value {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-rich-select-value {
  padding-right: var(--ag-grid-size);
}

.ag-rtl .ag-rich-select-value {
  padding-left: var(--ag-grid-size);
}

.ag-ltr .ag-rich-select-field-input {
  left: calc(var(--ag-cell-horizontal-padding));
}

.ag-rtl .ag-rich-select-field-input {
  right: calc(var(--ag-cell-horizontal-padding));
}

.ag-popup-editor .ag-rich-select-value {
  height: var(--ag-row-height);
  min-width: 200px;
}

.ag-rich-select-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}

.ag-keyboard-focus .ag-rich-select-virtual-list-item:focus::after {
  content: none;
}

.ag-rich-select-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-ltr .ag-rich-select-row {
  padding-left: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-rich-select-row {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-rich-select-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-rich-select-row-text-highlight {
  font-weight: bold;
}

.ag-autocomplete {
  width: 100%;
}

.ag-autocomplete-list {
  width: 100%;
  min-width: 200px;
  height: calc(var(--ag-row-height) * 6.5);
}

.ag-autocomplete-virtual-list-item {
  cursor: default;
  height: var(--ag-list-item-height);
}

.ag-keyboard-focus .ag-autocomplete-virtual-list-item:focus::after {
  content: none;
}

.ag-autocomplete-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-autocomplete-row-label {
  margin: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-autocomplete-row-selected {
  background-color: var(--ag-selected-row-background-color);
}

.ag-dragging-range-handle .ag-dialog,
.ag-dragging-fill-handle .ag-dialog {
  opacity: 0.7;
  pointer-events: none;
}

.ag-dialog {
  border-radius: var(--ag-border-radius);
  border: var(--ag-borders) var(--ag-border-color);
  box-shadow: var(--ag-popup-shadow);
}

.ag-panel {
  background-color: var(--ag-background-color);
}

.ag-panel-title-bar {
  background-color: var(--ag-header-background-color);
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
  padding: var(--ag-grid-size) var(--ag-cell-horizontal-padding);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-panel-title-bar-button {
  margin-left: var(--ag-grid-size);
}

.ag-rtl .ag-panel-title-bar-button {
  margin-right: var(--ag-grid-size);
}

.ag-tooltip {
  background-color: var(--ag-tooltip-background-color);
  color: var(--ag-foreground-color);
  padding: var(--ag-grid-size);
  border: var(--ag-borders) var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  white-space: normal;
}

.ag-tooltip.ag-tooltip-animate,
.ag-tooltip-custom.ag-tooltip-animate {
  transition: opacity 1s;
}

.ag-tooltip.ag-tooltip-animate.ag-tooltip-hiding,
.ag-tooltip-custom.ag-tooltip-animate.ag-tooltip-hiding {
  opacity: 0;
}

.ag-ltr .ag-column-select-indent-1 {
  padding-left: calc(1 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-1 {
  padding-right: calc(1 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-2 {
  padding-left: calc(2 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-2 {
  padding-right: calc(2 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-3 {
  padding-left: calc(3 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-3 {
  padding-right: calc(3 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-4 {
  padding-left: calc(4 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-4 {
  padding-right: calc(4 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-5 {
  padding-left: calc(5 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-5 {
  padding-right: calc(5 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-6 {
  padding-left: calc(6 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-6 {
  padding-right: calc(6 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-7 {
  padding-left: calc(7 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-7 {
  padding-right: calc(7 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-8 {
  padding-left: calc(8 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-8 {
  padding-right: calc(8 * var(--ag-column-select-indent-size));
}

.ag-ltr .ag-column-select-indent-9 {
  padding-left: calc(9 * var(--ag-column-select-indent-size));
}

.ag-rtl .ag-column-select-indent-9 {
  padding-right: calc(9 * var(--ag-column-select-indent-size));
}

.ag-column-select-header-icon {
  cursor: pointer;
}

.ag-keyboard-focus .ag-column-select-header-icon:focus {
  outline: none;
}

.ag-keyboard-focus .ag-column-select-header-icon:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-ltr .ag-column-group-icons:not(:last-child),
.ag-ltr .ag-column-select-header-icon:not(:last-child),
.ag-ltr .ag-column-select-header-checkbox:not(:last-child),
.ag-ltr .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-ltr .ag-column-select-checkbox:not(:last-child),
.ag-ltr .ag-column-select-column-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-ltr .ag-column-select-column-label:not(:last-child) {
  margin-right: var(--ag-widget-horizontal-spacing);
}

.ag-rtl .ag-column-group-icons:not(:last-child),
.ag-rtl .ag-column-select-header-icon:not(:last-child),
.ag-rtl .ag-column-select-header-checkbox:not(:last-child),
.ag-rtl .ag-column-select-header-filter-wrapper:not(:last-child),
.ag-rtl .ag-column-select-checkbox:not(:last-child),
.ag-rtl .ag-column-select-column-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-group-drag-handle:not(:last-child),
.ag-rtl .ag-column-select-column-label:not(:last-child) {
  margin-left: var(--ag-widget-horizontal-spacing);
}

.ag-keyboard-focus .ag-column-select-virtual-list-item:focus {
  outline: none;
}

.ag-keyboard-focus .ag-column-select-virtual-list-item:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-column-group:not(:last-child),
.ag-column-select-column:not(:last-child) {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-column-select-column-readonly,
.ag-column-select-column-group-readonly {
  color: var(--ag-disabled-foreground-color);
  pointer-events: none;
}

.ag-ltr .ag-column-select-add-group-indent {
  margin-left: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-rtl .ag-column-select-add-group-indent {
  margin-right: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-column-select-virtual-list-viewport {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) 0px;
}

.ag-column-select-virtual-list-item {
  padding: 0 var(--ag-widget-container-horizontal-padding);
}

.ag-checkbox-edit {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-rtl {
  text-align: right;
}

.ag-root-wrapper {
  border: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-1 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 1);
}

.ag-ltr .ag-row-group-indent-1 {
  padding-left: calc(1 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-1 {
  padding-right: calc(1 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-1 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-1 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-2 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 2);
}

.ag-ltr .ag-row-group-indent-2 {
  padding-left: calc(2 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-2 {
  padding-right: calc(2 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-2 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-2 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-3 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 3);
}

.ag-ltr .ag-row-group-indent-3 {
  padding-left: calc(3 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-3 {
  padding-right: calc(3 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-3 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-3 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-4 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 4);
}

.ag-ltr .ag-row-group-indent-4 {
  padding-left: calc(4 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-4 {
  padding-right: calc(4 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-4 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-4 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-5 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 5);
}

.ag-ltr .ag-row-group-indent-5 {
  padding-left: calc(5 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-5 {
  padding-right: calc(5 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-5 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-5 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-6 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 6);
}

.ag-ltr .ag-row-group-indent-6 {
  padding-left: calc(6 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-6 {
  padding-right: calc(6 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-6 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-6 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-7 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 7);
}

.ag-ltr .ag-row-group-indent-7 {
  padding-left: calc(7 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-7 {
  padding-right: calc(7 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-7 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-7 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-8 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 8);
}

.ag-ltr .ag-row-group-indent-8 {
  padding-left: calc(8 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-8 {
  padding-right: calc(8 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-8 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-8 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-9 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 9);
}

.ag-ltr .ag-row-group-indent-9 {
  padding-left: calc(9 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-9 {
  padding-right: calc(9 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-9 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-9 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-10 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 10);
}

.ag-ltr .ag-row-group-indent-10 {
  padding-left: calc(10 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-10 {
  padding-right: calc(10 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-10 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-10 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-11 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 11);
}

.ag-ltr .ag-row-group-indent-11 {
  padding-left: calc(11 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-11 {
  padding-right: calc(11 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-11 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-11 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-12 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 12);
}

.ag-ltr .ag-row-group-indent-12 {
  padding-left: calc(12 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-12 {
  padding-right: calc(12 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-12 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-12 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-13 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 13);
}

.ag-ltr .ag-row-group-indent-13 {
  padding-left: calc(13 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-13 {
  padding-right: calc(13 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-13 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-13 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-14 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 14);
}

.ag-ltr .ag-row-group-indent-14 {
  padding-left: calc(14 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-14 {
  padding-right: calc(14 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-14 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-14 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-15 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 15);
}

.ag-ltr .ag-row-group-indent-15 {
  padding-left: calc(15 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-15 {
  padding-right: calc(15 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-15 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-15 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-16 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 16);
}

.ag-ltr .ag-row-group-indent-16 {
  padding-left: calc(16 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-16 {
  padding-right: calc(16 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-16 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-16 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-17 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 17);
}

.ag-ltr .ag-row-group-indent-17 {
  padding-left: calc(17 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-17 {
  padding-right: calc(17 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-17 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-17 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-18 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 18);
}

.ag-ltr .ag-row-group-indent-18 {
  padding-left: calc(18 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-18 {
  padding-right: calc(18 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-18 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-18 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-19 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 19);
}

.ag-ltr .ag-row-group-indent-19 {
  padding-left: calc(19 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-19 {
  padding-right: calc(19 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-19 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-19 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-20 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 20);
}

.ag-ltr .ag-row-group-indent-20 {
  padding-left: calc(20 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-20 {
  padding-right: calc(20 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-20 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-20 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-21 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 21);
}

.ag-ltr .ag-row-group-indent-21 {
  padding-left: calc(21 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-21 {
  padding-right: calc(21 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-21 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-21 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-22 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 22);
}

.ag-ltr .ag-row-group-indent-22 {
  padding-left: calc(22 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-22 {
  padding-right: calc(22 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-22 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-22 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-23 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 23);
}

.ag-ltr .ag-row-group-indent-23 {
  padding-left: calc(23 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-23 {
  padding-right: calc(23 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-23 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-23 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-24 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 24);
}

.ag-ltr .ag-row-group-indent-24 {
  padding-left: calc(24 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-24 {
  padding-right: calc(24 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-24 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-24 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-25 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 25);
}

.ag-ltr .ag-row-group-indent-25 {
  padding-left: calc(25 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-25 {
  padding-right: calc(25 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-25 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-25 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-26 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 26);
}

.ag-ltr .ag-row-group-indent-26 {
  padding-left: calc(26 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-26 {
  padding-right: calc(26 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-26 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-26 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-27 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 27);
}

.ag-ltr .ag-row-group-indent-27 {
  padding-left: calc(27 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-27 {
  padding-right: calc(27 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-27 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-27 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-28 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 28);
}

.ag-ltr .ag-row-group-indent-28 {
  padding-left: calc(28 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-28 {
  padding-right: calc(28 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-28 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-28 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-29 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 29);
}

.ag-ltr .ag-row-group-indent-29 {
  padding-left: calc(29 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-29 {
  padding-right: calc(29 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-29 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-29 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-30 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 30);
}

.ag-ltr .ag-row-group-indent-30 {
  padding-left: calc(30 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-30 {
  padding-right: calc(30 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-30 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-30 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-31 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 31);
}

.ag-ltr .ag-row-group-indent-31 {
  padding-left: calc(31 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-31 {
  padding-right: calc(31 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-31 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-31 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-32 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 32);
}

.ag-ltr .ag-row-group-indent-32 {
  padding-left: calc(32 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-32 {
  padding-right: calc(32 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-32 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-32 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-33 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 33);
}

.ag-ltr .ag-row-group-indent-33 {
  padding-left: calc(33 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-33 {
  padding-right: calc(33 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-33 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-33 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-34 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 34);
}

.ag-ltr .ag-row-group-indent-34 {
  padding-left: calc(34 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-34 {
  padding-right: calc(34 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-34 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-34 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-35 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 35);
}

.ag-ltr .ag-row-group-indent-35 {
  padding-left: calc(35 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-35 {
  padding-right: calc(35 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-35 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-35 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-36 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 36);
}

.ag-ltr .ag-row-group-indent-36 {
  padding-left: calc(36 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-36 {
  padding-right: calc(36 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-36 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-36 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-37 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 37);
}

.ag-ltr .ag-row-group-indent-37 {
  padding-left: calc(37 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-37 {
  padding-right: calc(37 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-37 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-37 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-38 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 38);
}

.ag-ltr .ag-row-group-indent-38 {
  padding-left: calc(38 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-38 {
  padding-right: calc(38 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-38 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-38 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-39 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 39);
}

.ag-ltr .ag-row-group-indent-39 {
  padding-left: calc(39 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-39 {
  padding-right: calc(39 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-39 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-39 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-40 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 40);
}

.ag-ltr .ag-row-group-indent-40 {
  padding-left: calc(40 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-40 {
  padding-right: calc(40 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-40 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-40 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-41 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 41);
}

.ag-ltr .ag-row-group-indent-41 {
  padding-left: calc(41 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-41 {
  padding-right: calc(41 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-41 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-41 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-42 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 42);
}

.ag-ltr .ag-row-group-indent-42 {
  padding-left: calc(42 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-42 {
  padding-right: calc(42 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-42 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-42 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-43 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 43);
}

.ag-ltr .ag-row-group-indent-43 {
  padding-left: calc(43 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-43 {
  padding-right: calc(43 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-43 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-43 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-44 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 44);
}

.ag-ltr .ag-row-group-indent-44 {
  padding-left: calc(44 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-44 {
  padding-right: calc(44 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-44 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-44 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-45 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 45);
}

.ag-ltr .ag-row-group-indent-45 {
  padding-left: calc(45 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-45 {
  padding-right: calc(45 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-45 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-45 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-46 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 46);
}

.ag-ltr .ag-row-group-indent-46 {
  padding-left: calc(46 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-46 {
  padding-right: calc(46 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-46 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-46 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-47 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 47);
}

.ag-ltr .ag-row-group-indent-47 {
  padding-left: calc(47 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-47 {
  padding-right: calc(47 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-47 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-47 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-48 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 48);
}

.ag-ltr .ag-row-group-indent-48 {
  padding-left: calc(48 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-48 {
  padding-right: calc(48 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-48 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-48 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-49 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 49);
}

.ag-ltr .ag-row-group-indent-49 {
  padding-left: calc(49 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-49 {
  padding-right: calc(49 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-49 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-49 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-50 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 50);
}

.ag-ltr .ag-row-group-indent-50 {
  padding-left: calc(50 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-50 {
  padding-right: calc(50 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-50 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-50 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-51 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 51);
}

.ag-ltr .ag-row-group-indent-51 {
  padding-left: calc(51 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-51 {
  padding-right: calc(51 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-51 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-51 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-52 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 52);
}

.ag-ltr .ag-row-group-indent-52 {
  padding-left: calc(52 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-52 {
  padding-right: calc(52 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-52 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-52 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-53 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 53);
}

.ag-ltr .ag-row-group-indent-53 {
  padding-left: calc(53 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-53 {
  padding-right: calc(53 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-53 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-53 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-54 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 54);
}

.ag-ltr .ag-row-group-indent-54 {
  padding-left: calc(54 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-54 {
  padding-right: calc(54 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-54 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-54 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-55 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 55);
}

.ag-ltr .ag-row-group-indent-55 {
  padding-left: calc(55 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-55 {
  padding-right: calc(55 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-55 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-55 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-56 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 56);
}

.ag-ltr .ag-row-group-indent-56 {
  padding-left: calc(56 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-56 {
  padding-right: calc(56 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-56 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-56 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-57 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 57);
}

.ag-ltr .ag-row-group-indent-57 {
  padding-left: calc(57 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-57 {
  padding-right: calc(57 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-57 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-57 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-58 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 58);
}

.ag-ltr .ag-row-group-indent-58 {
  padding-left: calc(58 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-58 {
  padding-right: calc(58 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-58 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-58 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-59 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 59);
}

.ag-ltr .ag-row-group-indent-59 {
  padding-left: calc(59 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-59 {
  padding-right: calc(59 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-59 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-59 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-60 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 60);
}

.ag-ltr .ag-row-group-indent-60 {
  padding-left: calc(60 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-60 {
  padding-right: calc(60 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-60 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-60 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-61 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 61);
}

.ag-ltr .ag-row-group-indent-61 {
  padding-left: calc(61 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-61 {
  padding-right: calc(61 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-61 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-61 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-62 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 62);
}

.ag-ltr .ag-row-group-indent-62 {
  padding-left: calc(62 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-62 {
  padding-right: calc(62 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-62 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-62 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-63 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 63);
}

.ag-ltr .ag-row-group-indent-63 {
  padding-left: calc(63 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-63 {
  padding-right: calc(63 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-63 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-63 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-64 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 64);
}

.ag-ltr .ag-row-group-indent-64 {
  padding-left: calc(64 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-64 {
  padding-right: calc(64 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-64 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-64 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-65 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 65);
}

.ag-ltr .ag-row-group-indent-65 {
  padding-left: calc(65 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-65 {
  padding-right: calc(65 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-65 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-65 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-66 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 66);
}

.ag-ltr .ag-row-group-indent-66 {
  padding-left: calc(66 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-66 {
  padding-right: calc(66 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-66 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-66 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-67 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 67);
}

.ag-ltr .ag-row-group-indent-67 {
  padding-left: calc(67 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-67 {
  padding-right: calc(67 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-67 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-67 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-68 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 68);
}

.ag-ltr .ag-row-group-indent-68 {
  padding-left: calc(68 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-68 {
  padding-right: calc(68 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-68 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-68 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-69 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 69);
}

.ag-ltr .ag-row-group-indent-69 {
  padding-left: calc(69 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-69 {
  padding-right: calc(69 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-69 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-69 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-70 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 70);
}

.ag-ltr .ag-row-group-indent-70 {
  padding-left: calc(70 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-70 {
  padding-right: calc(70 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-70 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-70 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-71 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 71);
}

.ag-ltr .ag-row-group-indent-71 {
  padding-left: calc(71 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-71 {
  padding-right: calc(71 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-71 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-71 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-72 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 72);
}

.ag-ltr .ag-row-group-indent-72 {
  padding-left: calc(72 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-72 {
  padding-right: calc(72 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-72 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-72 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-73 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 73);
}

.ag-ltr .ag-row-group-indent-73 {
  padding-left: calc(73 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-73 {
  padding-right: calc(73 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-73 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-73 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-74 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 74);
}

.ag-ltr .ag-row-group-indent-74 {
  padding-left: calc(74 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-74 {
  padding-right: calc(74 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-74 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-74 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-75 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 75);
}

.ag-ltr .ag-row-group-indent-75 {
  padding-left: calc(75 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-75 {
  padding-right: calc(75 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-75 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-75 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-76 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 76);
}

.ag-ltr .ag-row-group-indent-76 {
  padding-left: calc(76 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-76 {
  padding-right: calc(76 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-76 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-76 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-77 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 77);
}

.ag-ltr .ag-row-group-indent-77 {
  padding-left: calc(77 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-77 {
  padding-right: calc(77 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-77 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-77 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-78 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 78);
}

.ag-ltr .ag-row-group-indent-78 {
  padding-left: calc(78 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-78 {
  padding-right: calc(78 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-78 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-78 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-79 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 79);
}

.ag-ltr .ag-row-group-indent-79 {
  padding-left: calc(79 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-79 {
  padding-right: calc(79 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-79 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-79 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-80 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 80);
}

.ag-ltr .ag-row-group-indent-80 {
  padding-left: calc(80 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-80 {
  padding-right: calc(80 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-80 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-80 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-81 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 81);
}

.ag-ltr .ag-row-group-indent-81 {
  padding-left: calc(81 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-81 {
  padding-right: calc(81 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-81 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-81 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-82 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 82);
}

.ag-ltr .ag-row-group-indent-82 {
  padding-left: calc(82 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-82 {
  padding-right: calc(82 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-82 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-82 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-83 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 83);
}

.ag-ltr .ag-row-group-indent-83 {
  padding-left: calc(83 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-83 {
  padding-right: calc(83 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-83 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-83 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-84 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 84);
}

.ag-ltr .ag-row-group-indent-84 {
  padding-left: calc(84 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-84 {
  padding-right: calc(84 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-84 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-84 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-85 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 85);
}

.ag-ltr .ag-row-group-indent-85 {
  padding-left: calc(85 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-85 {
  padding-right: calc(85 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-85 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-85 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-86 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 86);
}

.ag-ltr .ag-row-group-indent-86 {
  padding-left: calc(86 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-86 {
  padding-right: calc(86 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-86 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-86 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-87 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 87);
}

.ag-ltr .ag-row-group-indent-87 {
  padding-left: calc(87 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-87 {
  padding-right: calc(87 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-87 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-87 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-88 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 88);
}

.ag-ltr .ag-row-group-indent-88 {
  padding-left: calc(88 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-88 {
  padding-right: calc(88 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-88 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-88 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-89 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 89);
}

.ag-ltr .ag-row-group-indent-89 {
  padding-left: calc(89 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-89 {
  padding-right: calc(89 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-89 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-89 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-90 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 90);
}

.ag-ltr .ag-row-group-indent-90 {
  padding-left: calc(90 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-90 {
  padding-right: calc(90 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-90 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-90 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-91 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 91);
}

.ag-ltr .ag-row-group-indent-91 {
  padding-left: calc(91 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-91 {
  padding-right: calc(91 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-91 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-91 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-92 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 92);
}

.ag-ltr .ag-row-group-indent-92 {
  padding-left: calc(92 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-92 {
  padding-right: calc(92 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-92 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-92 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-93 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 93);
}

.ag-ltr .ag-row-group-indent-93 {
  padding-left: calc(93 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-93 {
  padding-right: calc(93 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-93 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-93 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-94 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 94);
}

.ag-ltr .ag-row-group-indent-94 {
  padding-left: calc(94 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-94 {
  padding-right: calc(94 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-94 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-94 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-95 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 95);
}

.ag-ltr .ag-row-group-indent-95 {
  padding-left: calc(95 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-95 {
  padding-right: calc(95 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-95 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-95 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-96 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 96);
}

.ag-ltr .ag-row-group-indent-96 {
  padding-left: calc(96 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-96 {
  padding-right: calc(96 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-96 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-96 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-97 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 97);
}

.ag-ltr .ag-row-group-indent-97 {
  padding-left: calc(97 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-97 {
  padding-right: calc(97 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-97 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-97 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-98 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 98);
}

.ag-ltr .ag-row-group-indent-98 {
  padding-left: calc(98 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-98 {
  padding-right: calc(98 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-98 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-98 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-left: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}

.ag-rtl .ag-row > .ag-cell-wrapper.ag-row-group-indent-99 {
  padding-right: calc(var(--ag-cell-horizontal-padding) + var(--ag-row-group-indent-size) * 99);
}

.ag-ltr .ag-row-group-indent-99 {
  padding-left: calc(99 * var(--ag-row-group-indent-size));
}

.ag-rtl .ag-row-group-indent-99 {
  padding-right: calc(99 * var(--ag-row-group-indent-size));
}

.ag-ltr .ag-row-level-99 .ag-pivot-leaf-group {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-level-99 .ag-pivot-leaf-group {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-ltr .ag-row-group-leaf-indent {
  margin-left: var(--ag-row-group-indent-size);
}

.ag-rtl .ag-row-group-leaf-indent {
  margin-right: var(--ag-row-group-indent-size);
}

.ag-value-change-delta {
  padding-right: 2px;
}

.ag-value-change-delta-up {
  color: var(--ag-value-change-delta-up-color);
}

.ag-value-change-delta-down {
  color: var(--ag-value-change-delta-down-color);
}

.ag-value-change-value {
  background-color: transparent;
  border-radius: 1px;
  padding-left: 1px;
  padding-right: 1px;
  transition: background-color 1s;
}

.ag-value-change-value-highlight {
  background-color: var(--ag-value-change-value-highlight-background-color);
  transition: background-color 0.1s;
}

.ag-cell-data-changed {
  background-color: var(--ag-value-change-value-highlight-background-color) !important;
}

.ag-cell-data-changed-animation {
  background-color: transparent;
}

.ag-cell-highlight {
  background-color: var(--ag-range-selection-highlight-color) !important;
}

.ag-row {
  height: var(--ag-row-height);
  background-color: var(--ag-background-color);
  color: var(--ag-data-color);
  border-bottom: var(--ag-row-border-style) var(--ag-row-border-color) var(--ag-row-border-width);
}

.ag-row-highlight-above::after, .ag-row-highlight-below::after {
  content: "";
  position: absolute;
  width: calc(100% - 1px);
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
  left: 1px;
}

.ag-row-highlight-above::after {
  top: -1px;
}

.ag-row-highlight-above.ag-row-first::after {
  top: 0;
}

.ag-row-highlight-below::after {
  bottom: 0px;
}

.ag-row-odd {
  background-color: var(--ag-odd-row-background-color);
}

.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-left-spacer:not(.ag-scroller-corner) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-body-horizontal-scroll:not(.ag-scrollbar-invisible) .ag-horizontal-right-spacer:not(.ag-scroller-corner) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-row-selected::before {
  content: "";
  background-color: var(--ag-selected-row-background-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.ag-row-hover:not(.ag-full-width-row)::before,
.ag-row-hover.ag-full-width-row.ag-row-group::before {
  content: "";
  background-color: var(--ag-row-hover-color);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
}

.ag-row-hover.ag-full-width-row.ag-row-group > * {
  position: relative;
}

.ag-row-hover.ag-row-selected::before {
  background-color: var(--ag-row-hover-color);
  background-image: linear-gradient(var(--ag-selected-row-background-color), var(--ag-selected-row-background-color));
}

.ag-column-hover {
  background-color: var(--ag-column-hover-color);
}

.ag-ltr .ag-right-aligned-cell {
  text-align: right;
}

.ag-rtl .ag-right-aligned-cell {
  text-align: left;
}

.ag-ltr .ag-right-aligned-cell .ag-cell-value,
.ag-ltr .ag-right-aligned-cell .ag-group-value {
  margin-left: auto;
}

.ag-rtl .ag-right-aligned-cell .ag-cell-value,
.ag-rtl .ag-right-aligned-cell .ag-group-value {
  margin-right: auto;
}

.ag-cell, .ag-full-width-row .ag-cell-wrapper.ag-row-group {
  --ag-internal-calculated-line-height: var(--ag-line-height, calc(var(--ag-row-height) - var(--ag-row-border-width)));
  --ag-internal-padded-row-height: calc(var(--ag-row-height) - var(--ag-row-border-width));
  border: 1px solid transparent;
  line-height: min(var(--ag-internal-calculated-line-height), var(--ag-internal-padded-row-height));
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
  -webkit-font-smoothing: subpixel-antialiased;
}

.ag-row > .ag-cell-wrapper {
  padding-left: calc(var(--ag-cell-horizontal-padding) - 1px);
  padding-right: calc(var(--ag-cell-horizontal-padding) - 1px);
}

.ag-row-dragging {
  cursor: move;
  opacity: 0.5;
}

.ag-cell-inline-editing {
  border: 1px solid var(--ag-border-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: 0;
  background-color: var(--ag-control-panel-background-color);
}

.ag-popup-editor .ag-large-text,
.ag-autocomplete-list-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background-color: var(--ag-control-panel-background-color);
  padding: 0;
}

.ag-large-text-input {
  height: auto;
  padding: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-large-text-input textarea {
  resize: none;
}

.ag-details-row {
  padding: calc(var(--ag-grid-size) * 5);
  background-color: var(--ag-background-color);
}

.ag-layout-auto-height .ag-center-cols-viewport, .ag-layout-auto-height .ag-center-cols-container, .ag-layout-print .ag-center-cols-viewport, .ag-layout-print .ag-center-cols-container {
  min-height: 50px;
}

.ag-overlay-loading-wrapper {
  background-color: var(--ag-modal-overlay-background-color);
}

.ag-overlay-loading-center {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
}

.ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 30px;
}

.ag-loading {
  display: flex;
  height: 100%;
  align-items: center;
}

.ag-ltr .ag-loading {
  padding-left: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-loading {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-loading-icon {
  padding-right: var(--ag-cell-widget-spacing);
}

.ag-rtl .ag-loading-icon {
  padding-left: var(--ag-cell-widget-spacing);
}

.ag-icon-loading {
  animation-name: spin;
  animation-duration: 1000ms;
  animation-iteration-count: infinite;
  animation-timing-function: linear;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.ag-floating-top {
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-floating-bottom {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-cell {
  border-right: var(--ag-cell-horizontal-border);
}

.ag-rtl .ag-cell {
  border-left: var(--ag-cell-horizontal-border);
}

.ag-ltr .ag-cell {
  border-right-width: 1px;
}

.ag-rtl .ag-cell {
  border-left-width: 1px;
}

.ag-cell.ag-cell-first-right-pinned:not(.ag-cell-range-left):not(.ag-cell-range-single-cell) {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell.ag-cell-last-left-pinned:not(.ag-cell-range-right):not(.ag-cell-range-single-cell) {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-cell-range-selected:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}

.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart {
  background-color: var(--ag-range-selection-chart-background-color) !important;
}

.ag-cell-range-selected:not(.ag-cell-focus).ag-cell-range-chart.ag-cell-range-chart-category,
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-single-cell:not(.ag-cell-inline-editing).ag-cell-range-chart.ag-cell-range-chart-category {
  background-color: var(--ag-range-selection-chart-category-background-color) !important;
}

.ag-cell-range-selected-1:not(.ag-cell-focus),
.ag-root:not(.ag-context-menu-open) .ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-1:not(.ag-cell-inline-editing) {
  background-color: var(--ag-range-selection-background-color);
}

.ag-cell-range-selected-2:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-2 {
  background-color: var(--ag-range-selection-background-color-2);
}

.ag-cell-range-selected-3:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-3 {
  background-color: var(--ag-range-selection-background-color-3);
}

.ag-cell-range-selected-4:not(.ag-cell-focus),
.ag-body-viewport:not(.ag-has-focus) .ag-cell-range-selected-4 {
  background-color: var(--ag-range-selection-background-color-4);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-top {
  border-top-color: var(--ag-range-selection-border-color);
  border-top-style: var(--ag-range-selection-border-style);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-right {
  border-right-color: var(--ag-range-selection-border-color);
  border-right-style: var(--ag-range-selection-border-style);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-bottom {
  border-bottom-color: var(--ag-range-selection-border-color);
  border-bottom-style: var(--ag-range-selection-border-style);
}

.ag-cell.ag-cell-range-selected:not(.ag-cell-range-single-cell).ag-cell-range-left {
  border-left-color: var(--ag-range-selection-border-color);
  border-left-style: var(--ag-range-selection-border-style);
}

.ag-ltr .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-ltr .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-ltr .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-ltr .ag-cell-range-single-cell,
.ag-ltr .ag-cell-range-single-cell.ag-cell-range-handle, .ag-rtl .ag-cell-focus:not(.ag-cell-range-selected):focus-within,
.ag-rtl .ag-context-menu-open .ag-cell-focus:not(.ag-cell-range-selected),
.ag-rtl .ag-full-width-row.ag-row-focus:focus .ag-cell-wrapper.ag-row-group,
.ag-rtl .ag-cell-range-single-cell,
.ag-rtl .ag-cell-range-single-cell.ag-cell-range-handle {
  border: 1px solid;
  border-color: var(--ag-range-selection-border-color);
  border-style: var(--ag-range-selection-border-style);
  outline: initial;
}

.ag-cell.ag-selection-fill-top,
.ag-cell.ag-selection-fill-top.ag-cell-range-selected {
  border-top: 1px dashed;
  border-top-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-right,
.ag-ltr .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-rtl .ag-cell.ag-selection-fill-right,
.ag-rtl .ag-cell.ag-selection-fill-right.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-cell.ag-selection-fill-bottom,
.ag-cell.ag-selection-fill-bottom.ag-cell-range-selected {
  border-bottom: 1px dashed;
  border-bottom-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-cell.ag-selection-fill-left,
.ag-ltr .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-left: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-rtl .ag-cell.ag-selection-fill-left,
.ag-rtl .ag-cell.ag-selection-fill-left.ag-cell-range-selected {
  border-right: 1px dashed var(--ag-range-selection-border-color) !important;
}

.ag-fill-handle, .ag-range-handle {
  position: absolute;
  width: 6px;
  height: 6px;
  bottom: -1px;
  background-color: var(--ag-range-selection-border-color);
}

.ag-ltr .ag-fill-handle, .ag-ltr .ag-range-handle {
  right: -1px;
}

.ag-rtl .ag-fill-handle, .ag-rtl .ag-range-handle {
  left: -1px;
}

.ag-fill-handle {
  cursor: cell;
}

.ag-range-handle {
  cursor: nwse-resize;
}

.ag-cell-inline-editing {
  border-color: var(--ag-input-focus-border-color) !important;
}

.ag-menu {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  padding: 0;
}

.ag-menu-list {
  cursor: default;
  padding: var(--ag-grid-size) 0;
}

.ag-menu-separator {
  height: calc(var(--ag-grid-size) * 2 + 1px);
}

.ag-menu-separator-part::after {
  content: "";
  display: block;
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-menu-option-active, .ag-compact-menu-option-active {
  background-color: var(--ag-row-hover-color);
}

.ag-menu-option-part, .ag-compact-menu-option-part {
  line-height: var(--ag-icon-size);
  padding: calc(var(--ag-grid-size) + 2px) 0;
}

.ag-menu-option-disabled, .ag-compact-menu-option-disabled {
  opacity: 0.5;
}

.ag-menu-option-icon, .ag-compact-menu-option-icon {
  width: var(--ag-icon-size);
}

.ag-ltr .ag-menu-option-icon, .ag-ltr .ag-compact-menu-option-icon {
  padding-left: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-menu-option-icon, .ag-rtl .ag-compact-menu-option-icon {
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-menu-option-text, .ag-compact-menu-option-text {
  padding-left: calc(var(--ag-grid-size) * 2);
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-menu-option-shortcut, .ag-ltr .ag-compact-menu-option-shortcut {
  padding-right: var(--ag-grid-size);
}

.ag-rtl .ag-menu-option-shortcut, .ag-rtl .ag-compact-menu-option-shortcut {
  padding-left: var(--ag-grid-size);
}

.ag-menu-option-popup-pointer, .ag-compact-menu-option-popup-pointer {
  padding-right: var(--ag-grid-size);
}

.ag-tabs {
  min-width: var(--ag-tab-min-width);
}

.ag-tabs-header {
  width: 100%;
  display: flex;
}

.ag-tab {
  border-bottom: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-bottom var(--ag-selected-tab-underline-transition-speed);
  display: flex;
  flex: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.ag-keyboard-focus .ag-tab:focus {
  outline: none;
}

.ag-keyboard-focus .ag-tab:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-tab-selected {
  border-bottom-color: var(--ag-selected-tab-underline-color);
}

.ag-menu-header {
  color: var(--ag-secondary-foreground-color);
}

.ag-filter-separator {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-filter-select .ag-picker-field-wrapper {
  width: 0;
}

.ag-filter-condition-operator {
  height: 17px;
}

.ag-ltr .ag-filter-condition-operator-or {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-filter-condition-operator-or {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-set-filter-select-all {
  padding-top: var(--ag-widget-container-vertical-padding);
}

.ag-set-filter-list, .ag-filter-no-matches {
  height: calc(var(--ag-list-item-height) * 6);
}

.ag-set-filter-tree-list {
  height: calc(var(--ag-list-item-height) * 10);
}

.ag-set-filter-filter {
  margin-top: var(--ag-widget-container-vertical-padding);
  margin-left: var(--ag-widget-container-horizontal-padding);
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-filter-to {
  margin-top: var(--ag-widget-vertical-spacing);
}

.ag-mini-filter {
  margin: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-set-filter-item {
  margin: 0px var(--ag-widget-container-horizontal-padding);
}

.ag-ltr .ag-set-filter-add-group-indent {
  margin-left: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-rtl .ag-set-filter-add-group-indent {
  margin-right: calc(var(--ag-widget-container-horizontal-padding) + var(--ag-icon-size) + var(--ag-grid-size) * 2);
}

.ag-ltr .ag-set-filter-indent-1 {
  padding-left: calc(1 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-1 {
  padding-right: calc(1 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-2 {
  padding-left: calc(2 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-2 {
  padding-right: calc(2 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-3 {
  padding-left: calc(3 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-3 {
  padding-right: calc(3 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-4 {
  padding-left: calc(4 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-4 {
  padding-right: calc(4 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-5 {
  padding-left: calc(5 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-5 {
  padding-right: calc(5 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-6 {
  padding-left: calc(6 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-6 {
  padding-right: calc(6 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-7 {
  padding-left: calc(7 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-7 {
  padding-right: calc(7 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-8 {
  padding-left: calc(8 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-8 {
  padding-right: calc(8 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-indent-9 {
  padding-left: calc(9 * var(--ag-set-filter-indent-size));
}

.ag-rtl .ag-set-filter-indent-9 {
  padding-right: calc(9 * var(--ag-set-filter-indent-size));
}

.ag-ltr .ag-set-filter-group-icons {
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-rtl .ag-set-filter-group-icons {
  margin-left: var(--ag-widget-container-horizontal-padding);
}

.ag-keyboard-focus .ag-filter-virtual-list-item:focus {
  outline: none;
}

.ag-keyboard-focus .ag-filter-virtual-list-item:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-apply-panel {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-filter-apply-panel-button {
  line-height: 1.5;
}

.ag-ltr .ag-filter-apply-panel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-filter-apply-panel-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-simple-filter-body-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
  overflow-y: auto;
  min-height: calc(var(--ag-list-item-height) + var(--ag-widget-container-vertical-padding) + var(--ag-widget-vertical-spacing));
}

.ag-simple-filter-body-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-simple-filter-body-wrapper .ag-resizer-wrapper {
  margin: 0;
}

.ag-menu:not(.ag-tabs) .ag-filter .ag-simple-filter-body-wrapper,
.ag-menu:not(.ag-tabs) .ag-filter > *:not(.ag-filter-wrapper) {
  min-width: calc(var(--ag-menu-min-width) - 2px);
}

.ag-filter-no-matches {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
}

.ag-multi-filter-menu-item {
  margin: var(--ag-grid-size) 0;
}

.ag-multi-filter-group-title-bar {
  padding: calc(var(--ag-grid-size) * 2) var(--ag-grid-size);
  background-color: transparent;
}

.ag-group-filter-field-select-wrapper {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}

.ag-group-filter-field-select-wrapper > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-keyboard-focus .ag-multi-filter-group-title-bar:focus {
  outline: none;
}

.ag-keyboard-focus .ag-multi-filter-group-title-bar:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-side-bar {
  position: relative;
}

.ag-tool-panel-wrapper {
  width: var(--ag-side-bar-panel-width);
  background-color: var(--ag-control-panel-background-color);
}

.ag-side-buttons {
  padding-top: calc(var(--ag-grid-size) * 4);
  width: calc(var(--ag-icon-size) + 4px);
  position: relative;
  overflow: hidden;
}

button.ag-side-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  background: transparent;
  padding: calc(var(--ag-grid-size) * 2) 0 calc(var(--ag-grid-size) * 2) 0;
  width: 100%;
  margin: 0;
  min-height: calc(var(--ag-grid-size) * 18);
  background-position-y: center;
  background-position-x: center;
  background-repeat: no-repeat;
  border: none;
  border-top: var(--ag-borders-side-button) var(--ag-border-color);
  border-bottom: var(--ag-borders-side-button) var(--ag-border-color);
}

button.ag-side-button-button:focus {
  box-shadow: none;
}

.ag-keyboard-focus .ag-side-button-button:focus {
  outline: none;
}

.ag-keyboard-focus .ag-side-button-button:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-selected button.ag-side-button-button {
  background-color: var(--ag-side-button-selected-background-color);
}

.ag-side-button-icon-wrapper {
  margin-bottom: 3px;
}

.ag-ltr .ag-side-bar-left,
.ag-rtl .ag-side-bar-right {
  border-right: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-rtl .ag-side-bar-right .ag-tool-panel-wrapper {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-side-bar-left .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-side-button-button {
  border-right: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-right var(--ag-selected-tab-underline-transition-speed);
}

.ag-ltr .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-rtl .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-right-color: var(--ag-selected-tab-underline-color);
}

.ag-rtl .ag-side-bar-left,
.ag-ltr .ag-side-bar-right {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-rtl .ag-side-bar-left .ag-tool-panel-wrapper,
.ag-ltr .ag-side-bar-right .ag-tool-panel-wrapper {
  border-right: var(--ag-borders) var(--ag-border-color);
}

.ag-rtl .ag-side-bar-left .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-side-button-button {
  border-left: var(--ag-selected-tab-underline-width) solid transparent;
  transition: border-left var(--ag-selected-tab-underline-transition-speed);
}

.ag-rtl .ag-side-bar-left .ag-selected .ag-side-button-button,
.ag-ltr .ag-side-bar-right .ag-selected .ag-side-button-button {
  border-left-color: var(--ag-selected-tab-underline-color);
}

.ag-filter-toolpanel-header {
  height: calc(var(--ag-grid-size) * 6);
}

.ag-ltr .ag-filter-toolpanel-header,
.ag-ltr .ag-filter-toolpanel-search {
  padding-left: var(--ag-grid-size);
}

.ag-rtl .ag-filter-toolpanel-header,
.ag-rtl .ag-filter-toolpanel-search {
  padding-right: var(--ag-grid-size);
}

.ag-keyboard-focus .ag-filter-toolpanel-header:focus {
  outline: none;
}

.ag-keyboard-focus .ag-filter-toolpanel-header:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {
  font-family: var(--ag-icon-font-family);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  content: var(--ag-icon-font-code-filter, "\f115");
  position: absolute;
}

.ag-ltr .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {
  padding-left: var(--ag-grid-size);
}

.ag-rtl .ag-filter-toolpanel-group.ag-has-filter > .ag-group-title-bar .ag-group-title::after {
  padding-right: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-0-header {
  height: calc(var(--ag-grid-size) * 8);
}

.ag-filter-toolpanel-group-item {
  margin-top: calc(var(--ag-grid-size) * 0.5);
  margin-bottom: calc(var(--ag-grid-size) * 0.5);
}

.ag-filter-toolpanel-search {
  height: var(--ag-header-height);
}

.ag-filter-toolpanel-search-input {
  flex-grow: 1;
  height: calc(var(--ag-grid-size) * 4);
}

.ag-ltr .ag-filter-toolpanel-search-input {
  margin-right: var(--ag-grid-size);
}

.ag-rtl .ag-filter-toolpanel-search-input {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-0 {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-ltr .ag-filter-toolpanel-expand,
.ag-ltr .ag-filter-toolpanel-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}

.ag-rtl .ag-filter-toolpanel-expand,
.ag-rtl .ag-filter-toolpanel-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-1-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-1 .ag-filter-toolpanel-group-level-2-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 1 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-2-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-2 .ag-filter-toolpanel-group-level-3-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 2 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-3-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-3 .ag-filter-toolpanel-group-level-4-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 3 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-4-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-4 .ag-filter-toolpanel-group-level-5-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 4 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-5-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-5 .ag-filter-toolpanel-group-level-6-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 5 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-6-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-6 .ag-filter-toolpanel-group-level-7-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 6 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-7-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-7 .ag-filter-toolpanel-group-level-8-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 7 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-8-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-8 .ag-filter-toolpanel-group-level-9-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 8 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-9-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-9 .ag-filter-toolpanel-group-level-10-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 9 + var(--ag-grid-size));
}

.ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-10-header.ag-filter-toolpanel-group-title-bar {
  background-color: transparent;
}

.ag-ltr .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-left: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}

.ag-rtl .ag-filter-toolpanel-group-level-10 .ag-filter-toolpanel-group-level-11-header {
  padding-right: calc(var(--ag-filter-tool-panel-group-indent) * 10 + var(--ag-grid-size));
}

.ag-filter-toolpanel-instance-header.ag-filter-toolpanel-group-level-1-header {
  padding-left: var(--ag-grid-size);
}

.ag-filter-toolpanel-instance-filter {
  border-bottom: var(--ag-borders) var(--ag-border-color);
  border-top: var(--ag-borders) var(--ag-border-color);
  margin-top: var(--ag-grid-size);
}

.ag-ltr .ag-filter-toolpanel-instance-header-icon {
  margin-left: var(--ag-grid-size);
}

.ag-rtl .ag-filter-toolpanel-instance-header-icon {
  margin-right: var(--ag-grid-size);
}

.ag-set-filter-group-icons {
  color: var(--ag-secondary-foreground-color);
}

.ag-pivot-mode-panel {
  min-height: var(--ag-header-height);
  height: var(--ag-header-height);
  display: flex;
}

.ag-pivot-mode-select {
  display: flex;
  align-items: center;
}

.ag-ltr .ag-pivot-mode-select {
  margin-left: var(--ag-widget-container-horizontal-padding);
}

.ag-rtl .ag-pivot-mode-select {
  margin-right: var(--ag-widget-container-horizontal-padding);
}

.ag-keyboard-focus .ag-column-select-header:focus {
  outline: none;
}

.ag-keyboard-focus .ag-column-select-header:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-select-header {
  height: var(--ag-header-height);
  align-items: center;
  padding: 0 var(--ag-widget-container-horizontal-padding);
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-panel-column-select {
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-group-icons,
.ag-column-select-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-column-select-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}

.ag-column-select-list .ag-item-highlight-top::after {
  top: 0;
}

.ag-column-select-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-header, .ag-advanced-filter-header {
  background-color: var(--ag-header-background-color);
  border-bottom: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-row {
  color: var(--ag-header-foreground-color);
  height: var(--ag-header-height);
}

.ag-pinned-right-header {
  border-left: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-pinned-left-header {
  border-right: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-ltr .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {
  margin-left: var(--ag-grid-size);
}

.ag-rtl .ag-header-cell:not(.ag-right-aligned-header) .ag-header-label-icon {
  margin-right: var(--ag-grid-size);
}

.ag-ltr .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {
  margin-right: var(--ag-grid-size);
}

.ag-rtl .ag-header-cell.ag-right-aligned-header .ag-header-label-icon {
  margin-left: var(--ag-grid-size);
}

.ag-header-cell,
.ag-header-group-cell {
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-header-cell.ag-header-cell-moving,
.ag-header-group-cell.ag-header-cell-moving {
  background-color: var(--ag-header-cell-moving-background-color);
}

.ag-ltr .ag-header-group-cell-label.ag-sticky-label {
  left: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-header-group-cell-label.ag-sticky-label {
  right: var(--ag-cell-horizontal-padding);
}

.ag-header-cell.ag-header-span-height::after,
.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {
  height: calc(100% - var(--ag-grid-size) * 4);
  top: calc(var(--ag-grid-size) * 2);
}

.ag-keyboard-focus .ag-header-cell:focus {
  outline: none;
}

.ag-keyboard-focus .ag-header-cell:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-keyboard-focus .ag-header-group-cell:focus {
  outline: none;
}

.ag-keyboard-focus .ag-header-group-cell:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-keyboard-focus .ag-advanced-filter-header-cell:focus {
  outline: none;
}

.ag-keyboard-focus .ag-advanced-filter-header-cell:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 4px;
  left: 4px;
  display: block;
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-header-icon {
  color: var(--ag-secondary-foreground-color);
}

.ag-header-expand-icon {
  cursor: pointer;
}

.ag-ltr .ag-header-expand-icon {
  padding-left: 4px;
}

.ag-rtl .ag-header-expand-icon {
  padding-right: 4px;
}

.ag-header-row:not(:first-child) .ag-header-cell:not(.ag-header-span-height.ag-header-span-total),
.ag-header-row:not(:first-child) .ag-header-group-cell.ag-header-group-cell-with-group {
  border-top: var(--ag-borders-critical) var(--ag-border-color);
}

.ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover, .ag-header-group-cell:not(.ag-column-resizing) + .ag-header-group-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover):not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-resizing) + .ag-header-cell:not(.ag-column-hover).ag-column-resizing,
.ag-header-group-cell:first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-group-cell:first-of-type.ag-column-resizing,
.ag-header-cell:not(.ag-column-hover):first-of-type:not(.ag-header-cell-moving):hover,
.ag-header-cell:not(.ag-column-hover):first-of-type.ag-column-resizing {
  background-color: var(--ag-header-cell-hover-background-color);
}

.ag-header-cell::after,
.ag-header-group-cell::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-separator-display);
  width: var(--ag-header-column-separator-width);
  height: var(--ag-header-column-separator-height);
  top: calc(50% - var(--ag-header-column-separator-height) * 0.5);
  background-color: var(--ag-header-column-separator-color);
}

.ag-ltr .ag-header-cell::after,
.ag-ltr .ag-header-group-cell::after {
  right: 0;
}

.ag-rtl .ag-header-cell::after,
.ag-rtl .ag-header-group-cell::after {
  left: 0;
}

.ag-header-cell-resize {
  display: flex;
  align-items: center;
}

.ag-header-cell-resize::after {
  content: "";
  position: absolute;
  z-index: 1;
  display: var(--ag-header-column-resize-handle-display);
  width: var(--ag-header-column-resize-handle-width);
  height: var(--ag-header-column-resize-handle-height);
  top: calc(50% - var(--ag-header-column-resize-handle-height) * 0.5);
  background-color: var(--ag-header-column-resize-handle-color);
}

.ag-header-cell.ag-header-span-height::after,
.ag-header-cell.ag-header-span-height .ag-header-cell-resize::after {
  height: calc(100% - var(--ag-grid-size) * 4);
  top: calc(var(--ag-grid-size) * 2);
}

.ag-ltr .ag-header-viewport .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-rtl .ag-header-viewport .ag-header-cell-resize::after {
  right: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-left-header .ag-header-cell-resize::after {
  left: calc(50% - var(--ag-header-column-resize-handle-width));
}

.ag-pinned-right-header .ag-header-cell-resize::after {
  left: 50%;
}

.ag-ltr .ag-header-select-all {
  margin-right: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-header-select-all {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-floating-filter-button {
  margin-left: calc(var(--ag-grid-size) * 3);
}

.ag-rtl .ag-floating-filter-button {
  margin-right: calc(var(--ag-grid-size) * 3);
}

.ag-floating-filter-button-button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: transparent;
  border: none;
  height: var(--ag-icon-size);
  padding: 0;
  width: var(--ag-icon-size);
}

.ag-filter-loading {
  background-color: var(--ag-control-panel-background-color);
  height: 100%;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  position: absolute;
  width: 100%;
  z-index: 1;
}

.ag-paging-panel {
  border-top: 1px solid;
  border-top-color: var(--ag-border-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-header-height);
}

.ag-paging-panel > * {
  margin: 0 var(--ag-cell-horizontal-padding);
}

.ag-paging-button {
  cursor: pointer;
}

.ag-paging-button.ag-disabled {
  cursor: default;
  color: var(--ag-disabled-foreground-color);
}

.ag-keyboard-focus .ag-paging-button:focus {
  outline: none;
}

.ag-keyboard-focus .ag-paging-button:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 0px;
  left: 0px;
  display: block;
  width: calc(100% - 0px);
  height: calc(100% - 0px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-paging-button, .ag-paging-description {
  margin: 0 var(--ag-grid-size);
}

.ag-status-bar {
  border-top: var(--ag-borders) var(--ag-border-color);
  color: var(--ag-disabled-foreground-color);
  padding-right: calc(var(--ag-grid-size) * 4);
  padding-left: calc(var(--ag-grid-size) * 4);
  line-height: 1.5;
}

.ag-status-name-value-value {
  color: var(--ag-foreground-color);
}

.ag-status-bar-center {
  text-align: center;
}

.ag-status-name-value {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
  padding-top: calc(var(--ag-grid-size) * 2);
  padding-bottom: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell {
  background: var(--ag-chip-background-color);
  border-radius: calc(var(--ag-grid-size) * 4);
  height: calc(var(--ag-grid-size) * 4);
  padding: 0 calc(var(--ag-grid-size) * 0.5);
  border: 1px solid transparent;
}

.ag-keyboard-focus .ag-column-drop-cell:focus {
  outline: none;
}

.ag-keyboard-focus .ag-column-drop-cell:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 2px;
  left: 2px;
  display: block;
  width: calc(100% - 4px);
  height: calc(100% - 4px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-column-drop-cell-text {
  margin: 0 var(--ag-grid-size);
}

.ag-column-drop-cell-button {
  min-width: calc(var(--ag-grid-size) * 4);
  margin: 0 calc(var(--ag-grid-size) * 0.5);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-cell-drag-handle {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-column-drop-cell-ghost {
  opacity: 0.5;
}

.ag-column-drop-horizontal {
  background-color: var(--ag-control-panel-background-color);
  color: var(--ag-secondary-foreground-color);
  height: var(--ag-row-height);
  border-bottom: var(--ag-borders) var(--ag-border-color);
}

.ag-ltr .ag-column-drop-horizontal {
  padding-left: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-column-drop-horizontal {
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-ltr .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-right: var(--ag-borders) var(--ag-border-color);
}

.ag-rtl .ag-column-drop-horizontal-half-width:not(:last-child) {
  border-left: var(--ag-borders) var(--ag-border-color);
}

.ag-column-drop-horizontal-cell-separator {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-secondary-foreground-color);
}

.ag-column-drop-horizontal-empty-message {
  color: var(--ag-disabled-foreground-color);
}

.ag-ltr .ag-column-drop-horizontal-icon {
  margin-right: var(--ag-cell-horizontal-padding);
}

.ag-rtl .ag-column-drop-horizontal-icon {
  margin-left: var(--ag-cell-horizontal-padding);
}

.ag-column-drop-vertical-list {
  padding-bottom: var(--ag-grid-size);
  padding-right: var(--ag-grid-size);
  padding-left: var(--ag-grid-size);
}

.ag-column-drop-vertical-cell {
  margin-top: var(--ag-grid-size);
}

.ag-column-drop-vertical {
  min-height: 50px;
  border-bottom: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-column-drop-vertical.ag-last-column-drop {
  border-bottom: none;
}

.ag-column-drop-vertical-icon {
  margin-left: var(--ag-grid-size);
  margin-right: var(--ag-grid-size);
}

.ag-column-drop-vertical-empty-message {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
  color: var(--ag-disabled-foreground-color);
  margin-top: var(--ag-grid-size);
}

.ag-select-agg-func-popup {
  border: var(--ag-borders) var(--ag-border-color);
  background: var(--ag-background-color);
  border-radius: var(--ag-card-radius);
  box-shadow: var(--ag-card-shadow);
  padding: var(--ag-grid-size);
  background: var(--ag-background-color);
  height: calc(var(--ag-grid-size) * 5 * 3.5);
  padding: 0;
}

.ag-select-agg-func-virtual-list-item {
  cursor: default;
}

.ag-ltr .ag-select-agg-func-virtual-list-item {
  padding-left: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-select-agg-func-virtual-list-item {
  padding-right: calc(var(--ag-grid-size) * 2);
}

.ag-select-agg-func-virtual-list-item:hover {
  background-color: var(--ag-selected-row-background-color);
}

.ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus {
  outline: none;
}

.ag-keyboard-focus .ag-select-agg-func-virtual-list-item:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: 1px;
  left: 1px;
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-sort-indicator-container {
  display: flex;
}

.ag-ltr .ag-sort-indicator-icon {
  padding-left: var(--ag-grid-size);
}

.ag-rtl .ag-sort-indicator-icon {
  padding-right: var(--ag-grid-size);
}

.ag-chart {
  position: relative;
  display: flex;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.ag-chart-components-wrapper {
  position: relative;
  display: flex;
  flex: 1 1 auto;
  overflow: hidden;
}

.ag-chart-title-edit {
  position: absolute;
  display: none;
  top: 0;
  left: 0;
  text-align: center;
}

.ag-chart-title-edit.currently-editing {
  display: inline-block;
}

.ag-chart-canvas-wrapper {
  position: relative;
  flex: 1 1 auto;
  overflow: hidden;
}

.ag-charts-canvas {
  display: block;
}

.ag-chart-menu {
  position: absolute;
  top: 10px;
  width: 24px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.ag-ltr .ag-chart-menu {
  right: 20px;
}

.ag-rtl .ag-chart-menu {
  left: 20px;
}

.ag-chart-docked-container {
  position: relative;
  width: 0;
  min-width: 0;
  transition: min-width 0.4s;
}

.ag-chart-menu-hidden ~ .ag-chart-docked-container {
  max-width: 0;
  overflow: hidden;
}

.ag-chart-tabbed-menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ag-chart-tabbed-menu-header {
  flex: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  cursor: default;
}

.ag-chart-tabbed-menu-body {
  display: flex;
  flex: 1 1 auto;
  align-items: stretch;
  overflow: hidden;
}

.ag-chart-tab {
  width: 100%;
  overflow: hidden;
  overflow-y: auto;
}

.ag-chart-settings {
  overflow-x: hidden;
}

.ag-chart-settings-wrapper {
  position: relative;
  flex-direction: column;
  width: 100%;
  height: 100%;
  display: flex;
  overflow: hidden;
}

.ag-chart-settings-nav-bar {
  display: flex;
  align-items: center;
  width: 100%;
  height: 30px;
  padding: 0 10px;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-chart-settings-card-selector {
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex: 1 1 auto;
  height: 100%;
  padding: 0 10px;
}

.ag-chart-settings-card-item {
  cursor: pointer;
  width: 10px;
  height: 10px;
  background-color: #000;
  position: relative;
}

.ag-chart-settings-card-item.ag-not-selected {
  opacity: 0.2;
}

.ag-chart-settings-card-item::before {
  content: " ";
  display: block;
  position: absolute;
  background-color: transparent;
  left: 50%;
  top: 50%;
  margin-left: -10px;
  margin-top: -10px;
  width: 20px;
  height: 20px;
}

.ag-chart-settings-prev,
.ag-chart-settings-next {
  position: relative;
  flex: none;
}

.ag-chart-settings-prev-button,
.ag-chart-settings-next-button {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
  opacity: 0;
}

.ag-chart-settings-mini-charts-container {
  position: relative;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
}

.ag-chart-settings-mini-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
}

.ag-chart-settings-mini-wrapper.ag-animating {
  transition: left 0.3s;
  transition-timing-function: ease-in-out;
}

.ag-chart-mini-thumbnail {
  cursor: pointer;
}

.ag-chart-mini-thumbnail-canvas {
  display: block;
}

.ag-chart-data-wrapper,
.ag-chart-format-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
}

.ag-chart-data-wrapper {
  height: 100%;
  overflow-y: auto;
}

.ag-chart-data-section,
.ag-chart-format-section {
  display: flex;
  margin: 0;
}

.ag-chart-empty-text {
  display: flex;
  top: 0;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.ag-chart .ag-chart-menu {
  display: none;
}

.ag-chart-menu-hidden:hover .ag-chart-menu {
  display: block;
}

.ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {
  display: flex;
  flex-direction: row;
  overflow: auto;
  top: 5px;
  gap: calc(var(--ag-grid-size) * 3 - 8px);
  width: auto;
}

.ag-ltr .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {
  right: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: right;
}

.ag-rtl .ag-chart .ag-chart-tool-panel-button-enable .ag-chart-menu {
  left: calc(var(--ag-cell-horizontal-padding) + var(--ag-grid-size) - 4px);
  justify-content: left;
}

.ag-chart-menu-close {
  display: none;
}

.ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  position: absolute;
  top: 50%;
  transition: transform 0.33s ease-in-out;
  padding: 0;
  display: block;
  cursor: pointer;
  border: none;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  right: 0px;
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  left: 0px;
}

.ag-chart-tool-panel-button-enable .ag-chart-menu-close .ag-icon {
  padding: 14px 5px 14px 2px;
}

.ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  content: "";
  position: absolute;
  top: -40px;
  bottom: -40px;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: 0px;
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: 0px;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  left: -10px;
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:before {
  right: -10px;
}

.ag-chart-tool-panel-button-enable .ag-icon-menu {
  display: none;
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  transform: translate(3px, -50%);
}

.ag-ltr .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(0, -50%);
}

.ag-ltr .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(5px, -50%);
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close {
  transform: translate(-3px, -50%);
}

.ag-rtl .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(0, -50%);
}

.ag-rtl .ag-chart-menu-visible .ag-chart-tool-panel-button-enable .ag-chart-menu-close:hover {
  transform: translate(-5px, -50%);
}

.ag-charts-font-size-color {
  display: flex;
  align-self: stretch;
  justify-content: space-between;
}

.ag-charts-data-group-item {
  position: relative;
}

.ag-chart-menu {
  border-radius: var(--ag-card-radius);
  background: var(--ag-background-color);
}

.ag-chart-menu-icon {
  opacity: 0.5;
  line-height: 24px;
  font-size: 24px;
  width: 24px;
  height: 24px;
  margin: 2px 0;
  cursor: pointer;
  border-radius: var(--ag-card-radius);
  color: var(--ag-secondary-foreground-color);
}

.ag-chart-menu-icon:hover {
  opacity: 1;
}

.ag-chart-mini-thumbnail {
  border: 1px solid var(--ag-secondary-border-color);
  border-radius: 5px;
  margin: 5px;
}

.ag-chart-mini-thumbnail:nth-last-child(3), .ag-chart-mini-thumbnail:nth-last-child(3) ~ .ag-chart-mini-thumbnail {
  margin-left: auto;
  margin-right: auto;
}

.ag-ltr .ag-chart-mini-thumbnail:first-child {
  margin-left: 0;
}

.ag-rtl .ag-chart-mini-thumbnail:first-child {
  margin-right: 0;
}

.ag-ltr .ag-chart-mini-thumbnail:last-child {
  margin-right: 0;
}

.ag-rtl .ag-chart-mini-thumbnail:last-child {
  margin-left: 0;
}

.ag-chart-mini-thumbnail.ag-selected {
  border-color: var(--ag-minichart-selected-chart-color);
}

.ag-chart-settings-card-item {
  background: var(--ag-foreground-color);
  width: 8px;
  height: 8px;
  border-radius: 4px;
}

.ag-chart-settings-card-item.ag-selected {
  background-color: var(--ag-minichart-selected-page-color);
}

.ag-chart-data-column-drag-handle {
  margin-left: var(--ag-grid-size);
}

.ag-charts-settings-group-title-bar,
.ag-charts-data-group-title-bar,
.ag-charts-format-top-level-group-title-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-charts-settings-group-container {
  padding: var(--ag-grid-size);
}

.ag-charts-data-group-container {
  padding: calc(var(--ag-widget-container-vertical-padding) * 0.5) var(--ag-widget-container-horizontal-padding);
}

.ag-charts-data-group-container .ag-charts-data-group-item:not(.ag-charts-format-sub-level-group) {
  height: var(--ag-list-item-height);
}

.ag-charts-data-group-container .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}

.ag-charts-data-group-container .ag-item-highlight-top::after {
  top: 0;
}

.ag-charts-data-group-container .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-charts-format-top-level-group-container {
  margin-left: calc(var(--ag-grid-size) * 2);
  padding: var(--ag-grid-size);
}

.ag-charts-format-top-level-group-item {
  margin: var(--ag-grid-size) 0;
}

.ag-charts-format-sub-level-group-container {
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  padding-bottom: calc(var(--ag-widget-container-vertical-padding) - var(--ag-widget-vertical-spacing));
}

.ag-charts-format-sub-level-group-container > * {
  margin-bottom: var(--ag-widget-vertical-spacing);
}

.ag-charts-group-container.ag-group-container-horizontal {
  padding: var(--ag-grid-size);
}

.ag-chart-data-section,
.ag-chart-format-section {
  display: flex;
  margin: 0;
}

.ag-chart-menu-panel {
  background-color: var(--ag-control-panel-background-color);
}

.ag-ltr .ag-chart-menu-panel {
  border-left: solid 1px var(--ag-border-color);
}

.ag-rtl .ag-chart-menu-panel {
  border-right: solid 1px var(--ag-border-color);
}

.ag-date-time-list-page-title-bar {
  display: flex;
}

.ag-date-time-list-page-title {
  flex-grow: 1;
  text-align: center;
}

.ag-date-time-list-page-column-labels-row,
.ag-date-time-list-page-entries-row {
  display: flex;
}

.ag-date-time-list-page-column-label,
.ag-date-time-list-page-entry {
  flex-basis: 0;
  flex-grow: 1;
}

.ag-date-time-list-page-entry {
  cursor: pointer;
  text-align: center;
}

.ag-date-time-list-page-column-label {
  text-align: center;
}

.ag-advanced-filter-header {
  position: relative;
  display: flex;
  align-items: center;
  padding-left: var(--ag-cell-horizontal-padding);
  padding-right: var(--ag-cell-horizontal-padding);
}

.ag-advanced-filter {
  display: flex;
  align-items: center;
  width: 100%;
}

.ag-advanced-filter-apply-button, .ag-advanced-filter-builder-button {
  line-height: normal;
  white-space: nowrap;
}

.ag-ltr .ag-advanced-filter-apply-button, .ag-ltr .ag-advanced-filter-builder-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-rtl .ag-advanced-filter-apply-button, .ag-rtl .ag-advanced-filter-builder-button {
  margin-right: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-button {
  display: flex;
  align-items: center;
  border: 0;
  background-color: unset;
}

.ag-advanced-filter-builder-button:hover:not(:disabled) {
  background-color: var(--ag-row-hover-color);
}

.ag-advanced-filter-builder-button:not(:disabled) {
  cursor: pointer;
}

.ag-advanced-filter-builder-button-label {
  margin-left: var(--ag-grid-size);
}

.ag-advanced-filter-builder {
  -moz-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  background-color: var(--ag-control-panel-background-color);
  display: flex;
  flex-direction: column;
}

.ag-advanced-filter-builder-list {
  flex: 1;
  overflow: auto;
}

.ag-advanced-filter-builder-list .ag-list-item-hovered::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--ag-range-selection-border-color);
}

.ag-advanced-filter-builder-list .ag-item-highlight-top::after {
  top: 0;
}

.ag-advanced-filter-builder-list .ag-item-highlight-bottom::after {
  bottom: 0;
}

.ag-advanced-filter-builder-button-panel {
  display: flex;
  justify-content: flex-end;
  padding: var(--ag-widget-container-vertical-padding) var(--ag-widget-container-horizontal-padding);
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}

.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-apply-button,
.ag-advanced-filter-builder .ag-advanced-filter-builder-button-panel .ag-advanced-filter-builder-cancel-button {
  margin-left: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-item-wrapper {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: space-between;
  overflow: hidden;
  padding-left: calc(var(--ag-icon-size) / 2);
  padding-right: var(--ag-icon-size);
}

.ag-advanced-filter-builder-item-tree-lines > * {
  width: var(--ag-advanced-filter-builder-indent-size);
}

.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root {
  width: var(--ag-icon-size);
}

.ag-advanced-filter-builder-item-tree-lines .ag-advanced-filter-builder-item-tree-line-root::before {
  top: 50%;
  height: 50%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal,
.ag-advanced-filter-builder-item-tree-line-vertical,
.ag-advanced-filter-builder-item-tree-line-vertical-top,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom {
  position: relative;
  height: 100%;
  display: flex;
  align-items: center;
}

.ag-advanced-filter-builder-item-tree-line-horizontal::before, .ag-advanced-filter-builder-item-tree-line-horizontal::after,
.ag-advanced-filter-builder-item-tree-line-vertical::before,
.ag-advanced-filter-builder-item-tree-line-vertical::after,
.ag-advanced-filter-builder-item-tree-line-vertical-top::before,
.ag-advanced-filter-builder-item-tree-line-vertical-top::after,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before,
.ag-advanced-filter-builder-item-tree-line-vertical-bottom::after {
  content: "";
  position: absolute;
  height: 100%;
}

.ag-advanced-filter-builder-item-tree-line-horizontal::after {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size));
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-bottom: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical::before {
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-top::before {
  height: 50%;
  width: calc(var(--ag-advanced-filter-builder-indent-size) - var(--ag-icon-size) / 2);
  top: 0;
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-tree-line-vertical-bottom::before {
  height: calc((100% - 1.5 * var(--ag-icon-size)) / 2);
  width: calc(var(--ag-icon-size) / 2);
  top: calc((100% + 1.5 * var(--ag-icon-size)) / 2);
  left: calc(var(--ag-icon-size) / 2);
  border-left: 1px solid;
  border-color: var(--ag-border-color);
}

.ag-advanced-filter-builder-item-condition {
  padding-top: var(--ag-grid-size);
  padding-bottom: var(--ag-grid-size);
}

.ag-advanced-filter-builder-item,
.ag-advanced-filter-builder-item-condition,
.ag-advanced-filter-builder-pill-wrapper,
.ag-advanced-filter-builder-pill,
.ag-advanced-filter-builder-item-buttons,
.ag-advanced-filter-builder-item-tree-lines {
  display: flex;
  align-items: center;
  height: 100%;
}

.ag-advanced-filter-builder-pill-wrapper {
  margin: 0px var(--ag-grid-size);
}

.ag-advanced-filter-builder-pill {
  position: relative;
  border-radius: var(--ag-border-radius);
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  min-height: calc(100% - var(--ag-grid-size) * 3);
  min-width: calc(var(--ag-grid-size) * 2);
}

.ag-advanced-filter-builder-pill .ag-picker-field-display {
  margin-right: var(--ag-grid-size);
}

.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-number {
  font-family: monospace;
  font-weight: 700;
}

.ag-advanced-filter-builder-pill .ag-advanced-filter-builder-value-empty {
  color: var(--ag-disabled-foreground-color);
}

.ag-keyboard-focus .ag-advanced-filter-builder-pill:focus {
  outline: none;
}

.ag-keyboard-focus .ag-advanced-filter-builder-pill:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-keyboard-focus .ag-advanced-filter-builder-item-button:focus {
  outline: none;
}

.ag-keyboard-focus .ag-advanced-filter-builder-item-button:focus::after {
  content: "";
  position: absolute;
  background-color: transparent;
  pointer-events: none;
  top: -4px;
  left: -4px;
  display: block;
  width: calc(100% - -8px);
  height: calc(100% - -8px);
  border: 1px solid;
  border-color: var(--ag-input-focus-border-color);
}

.ag-advanced-filter-builder-pill-display {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 500;
}

.ag-advanced-filter-builder-join-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-join-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-column-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-column-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-option-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-option-pill-color);
  cursor: pointer;
}

.ag-advanced-filter-builder-value-pill {
  color: var(--ag-foreground-color);
  background-color: var(--ag-advanced-filter-value-pill-color);
  cursor: text;
  max-width: 140px;
}

.ag-advanced-filter-builder-value-pill .ag-advanced-filter-builder-pill-display {
  display: block;
}

.ag-advanced-filter-builder-item-buttons > * {
  margin: 0 calc(var(--ag-grid-size) * 0.5);
}

.ag-advanced-filter-builder-item-button {
  position: relative;
  cursor: pointer;
  color: var(--ag-secondary-foreground-color);
  opacity: 50%;
}

.ag-advanced-filter-builder-item-button-disabled {
  color: var(--ag-disabled-foreground-color);
  cursor: default;
}

.ag-advanced-filter-builder-virtual-list-container {
  top: var(--ag-grid-size);
}

.ag-advanced-filter-builder-virtual-list-item {
  display: flex;
  cursor: default;
  height: var(--ag-list-item-height);
}

.ag-advanced-filter-builder-virtual-list-item:hover {
  background-color: var(--ag-row-hover-color);
}

.ag-advanced-filter-builder-virtual-list-item:hover .ag-advanced-filter-builder-item-button {
  opacity: 100%;
}

.ag-keyboard-focus .ag-advanced-filter-builder-virtual-list-item-highlight .ag-advanced-filter-builder-item-button,
.ag-advanced-filter-builder-validation .ag-advanced-filter-builder-invalid {
  opacity: 100%;
}

.ag-advanced-filter-builder-invalid {
  margin: 0 var(--ag-grid-size);
  color: var(--ag-invalid-color);
  cursor: default;
}

.ag-input-field-input {
  width: 100%;
  min-width: 0;
}

.ag-checkbox-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
}

.ag-checkbox-input-wrapper input, .ag-checkbox-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.ag-checkbox-input-wrapper:focus-within, .ag-checkbox-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-checkbox-input-wrapper.ag-disabled {
  opacity: 0.5;
}

.ag-checkbox-input-wrapper::after {
  content: var(--ag-icon-font-code-checkbox-unchecked, "\f108");
  color: var(--ag-checkbox-unchecked-color);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.ag-checkbox-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-checkbox-checked, "\f106");
  color: var(--ag-checkbox-checked-color);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.ag-checkbox-input-wrapper.ag-indeterminate::after {
  content: var(--ag-icon-font-code-checkbox-indeterminate, "\f107");
  color: var(--ag-checkbox-indeterminate-color);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.ag-toggle-button-input-wrapper {
  box-sizing: border-box;
  width: var(--ag-toggle-button-width);
  height: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-off-background-color);
  border-radius: calc(var(--ag-toggle-button-height) * 0.5);
  position: relative;
  flex: none;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-off-border-color);
}

.ag-toggle-button-input-wrapper input {
  opacity: 0;
  height: 100%;
  width: 100%;
}

.ag-toggle-button-input-wrapper:focus-within {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-toggle-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}

.ag-toggle-button-input-wrapper.ag-checked {
  background-color: var(--ag-toggle-button-on-background-color);
  border-color: var(--ag-toggle-button-on-border-color);
}

.ag-toggle-button-input-wrapper::before {
  content: " ";
  position: absolute;
  top: calc(0px - var(--ag-toggle-button-border-width));
  left: calc(0px - var(--ag-toggle-button-border-width));
  display: block;
  box-sizing: border-box;
  height: var(--ag-toggle-button-height);
  width: var(--ag-toggle-button-height);
  background-color: var(--ag-toggle-button-switch-background-color);
  border-radius: 100%;
  transition: left 100ms;
  border: var(--ag-toggle-button-border-width) solid;
  border-color: var(--ag-toggle-button-switch-border-color);
}

.ag-toggle-button-input-wrapper.ag-checked::before {
  left: calc(100% - var(--ag-toggle-button-height));
  border-color: var(--ag-toggle-button-on-border-color);
}

.ag-radio-button-input-wrapper {
  font-family: var(--ag-icon-font-family);
  font-size: var(--ag-icon-size);
  line-height: var(--ag-icon-size);
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-checkbox-background-color);
  border-radius: var(--ag-checkbox-border-radius);
  display: inline-block;
  vertical-align: middle;
  flex: none;
  border-radius: var(--ag-icon-size);
}

.ag-radio-button-input-wrapper input, .ag-radio-button-input-wrapper input {
  -webkit-appearance: none;
  opacity: 0;
  width: 100%;
  height: 100%;
}

.ag-radio-button-input-wrapper:focus-within, .ag-radio-button-input-wrapper:active {
  outline: none;
  box-shadow: var(--ag-input-focus-box-shadow);
}

.ag-radio-button-input-wrapper.ag-disabled {
  opacity: 0.5;
}

.ag-radio-button-input-wrapper::after {
  content: var(--ag-icon-font-code-radio-button-off, "\f127");
  color: var(--ag-checkbox-unchecked-color);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

.ag-radio-button-input-wrapper.ag-checked::after {
  content: var(--ag-icon-font-code-radio-button-on, "\f128");
  color: var(--ag-checkbox-checked-color);
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
}

input[class^=ag-][type=range] {
  -webkit-appearance: none;
  width: 100%;
  height: 100%;
  background: none;
  overflow: visible;
}

input[class^=ag-][type=range]::-webkit-slider-runnable-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}

input[class^=ag-][type=range]::-moz-range-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
}

input[class^=ag-][type=range]::-ms-track {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 3px;
  background-color: var(--ag-border-color);
  border-radius: var(--ag-border-radius);
  border-radius: var(--ag-checkbox-border-radius);
  color: transparent;
  width: calc(100% - 2px);
}

input[class^=ag-][type=range]::-webkit-slider-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
  transform: translateY(calc(var(--ag-icon-size) * -0.5 + 1.5px));
}

input[class^=ag-][type=range]::-ms-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}

input[class^=ag-][type=range]::-moz-ag-range-thumb {
  margin: 0;
  padding: 0;
  -webkit-appearance: none;
  width: var(--ag-icon-size);
  height: var(--ag-icon-size);
  background-color: var(--ag-background-color);
  border: 1px solid;
  border-color: var(--ag-checkbox-unchecked-color);
  border-radius: var(--ag-icon-size);
}

input[class^=ag-][type=range]:focus {
  outline: none;
}

input[class^=ag-][type=range]:focus::-webkit-slider-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}

input[class^=ag-][type=range]:focus::-ms-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}

input[class^=ag-][type=range]:focus::-moz-ag-range-thumb {
  box-shadow: var(--ag-input-focus-box-shadow);
  border-color: var(--ag-checkbox-checked-color);
}

input[class^=ag-][type=range]:active::-webkit-slider-runnable-track {
  background-color: var(--ag-input-focus-border-color);
}

input[class^=ag-][type=range]:active::-moz-ag-range-track {
  background-color: var(--ag-input-focus-border-color);
}

input[class^=ag-][type=range]:active::-ms-track {
  background-color: var(--ag-input-focus-border-color);
}

input[class^=ag-][type=range]:disabled {
  opacity: 0.5;
}

@font-face {
  font-family: "agGridAlpine";
  src: url(data:font/woff2;charset=utf-8;base64,d09GMgABAAAAABJ0AAsAAAAAJ2gAABIjAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHIkuBmAAi2IKqHChZAE2AiQDgjgLgR4ABCAFhEYHhSsbdiJVBDYOABJzRUD2/3XyZChr0A8dMuIgaNGSwoZJwnMhJOiNBx1PI4tUlx68riIWf/imgpi0poPyf6NIBoaWDaUkqNbI3rsHUqiRwAEF6XVkKkJFqAhPQkbICDsGzUXOQnJEmGQTPqL/V9yyIlI1qpKcqa5RgMb1B9zWP5xRCRYid58aYGw2/rMuhhGNkeyiQryo3FUFdgfApM6UgneSnTzUnxLCGhA8gaHIWqRVXosIhmsnGtzmqFDF6h8bkm8ayr2OPMzvHpLY/tT8U3qbPSz2JRmzJb/tddeBwCRY4gnhKxHw/6/1agNMNzghoePj9Js37/+de9+dxdBkPtFkQpMJTQDZtqyId7M5p7sFJNXaKmBZV19JQvdUqDpbF6dTocdTmOVwLoMAm9MDR7uhWNhihIgRIkSMlFfXm5FAmTkHXTqGExB9/n5FMRRx3sUJsvXT849y0sC/yeEV/RL/e1ywR1TTS9/6NeXIt+RAZsra7D1Wx67mn/lgMH51U0SI6j83jaBS6AwmCyXTFtOabA7mOVxBkJQnCYufXeRwGsNFWbGhq4E4xVHF5gc7Zzr91T8w3f0rHYpVvneWEYlBtaHjgqrmLCkBV8KBw6Nw1nMn+e1dKC/sSDhKkOy5BE8ak5bNw3Nnb1niacSrY7xGdYLmVNTKurYhJBF1eUyO2tqVgOipTReCZYEzuLbG7D/U2tykO1B4DTvaxRs4YU/XxPvYXjxVWJvhmQ/MhJzk9cGcqvftJzuI9FHVxZbpy9f1CHe6Of/igz67GOMUN0JY0dnnvv/513NfNesnpAQ+WRuiB7d/x7Q3zKX9kpLtzynXvePCkSwusYvKICDMNM0KzcHFgFFBExIkqtMo3BaDoyCfbLGzE4uDk8dcjTNKbL2h0OgitjmVwxGG5tq7itpvcBPDrK0YF1TUt1RWqqzRt6hKyETpqAvG8xz6JFQm1rRvOl70HG6ixkQqfKKyKUOFn2LPMJz/INTWFxqskq5bedRy5qgqktnXp2R5a34WT4uAoS72UqxqSOXp81ujvk0jqaC6TdLUE7qK9c0SvR5utsDRwdRFKVlapp+ON8Y6K621piuIKGVW0Lqxoy7P0cmmXswdz35OqxVC9kgv41v03af/4CQKZKQc3kvauwvOhF+wQ0P+A7goCIA0f+2AVwuCa+egCxRAVlndmCrAkqALExRNxf0GvDE/ipv4yJe+C21iQrf3feLrIIVKz03CfrSsS4Vp6u241q7vU24qw5ZHW5ajjIFnnott7+qBoBhOIi9eqF9AUEhYRFRMXEJSyrThrJy8An8zlpRVVNU0NLW0dXT1DQyNjE1MzcwtNCytrDFxPXVIRfDm87Jyw4vuUdzVjYHtnMTHvOT//xn9fPPdXyOAdSuA/B8r9kB3AMvgEobBFSyCa5gFN7ACbmEM3MEWuIcR8ADz4AlMgGewAJ7DHHgBq+AlTIFXMAlewzp4C6PgHcyA9zAOPsAa+Aib4BNMg8+wBL7ABnictA1BSMQUAjMIzCGwBIFlCOyDwH4IHIDAQQgcgsBhCByBwFEIHIPAcQicgMBJCJyCwGkInIHAWQicg8B5CFyAwEUIXILAZQhcgcBVCFyDwHVAPQRogACNEKAJAjRDgBYIgzaInkE7RN+gA2Jg0AkxNOiCGBl0Q4wNeiAmBr0QU4M+iJlBP8Tc0p0XgAEIMAgBhiAMcgjFGjdWIXqzxmbqADufT/CD7wp/UXIMrzp9FS8kzbSa+gHDkdlfy4kqqArlSlJ+adVMblLBgnrdyT+3jFdXUSRz1wUzYY6laTm9dVmcU1YOJHg4wYIjUelFAv5gGh/L5VQsloz45XfrrCfzQJZnCrlAYIuJU+eRM5FINuBvl/LIX5CkwN9kM+lqI9PDMo3oNJj0TA3ejdpUX2EAegRMaHBmthE6W+Zr5klkrtJJCaunfM64bXOVfSWaSjyBk7Ti2kKTQP0kDfv5PO6nWPQH2FJkpMxZhfISETiFGAbIwwkkquC7ayAjrz9wtf/xJsyqG8/tLqcefX+QzTmYF5mq7OY92OQWqe00ckp3dZt0XwD53f8J1VhrZCuXzrejBG4K0ji5XeHYWhQRhv4GUjht0rhefsembIG0+oFajLS5ylNTmLg281wu9rCorv0FMzXa5z/zVgS3Z026zzIxbumU+yYTXJ+ZWZaHqZPrO+HfXwK5C2q0dQHX14A8PFXngr5XRZK8dMH1UO3RLJQ2TUT4FzF1YESPLqwG6/nyTk/No/JrB+AEyN2ISp+20H8NhfK9BaxxGPVBN7JrV7Wv0XIdfYq4WXP3HJ0fqUqbTxqGMgh0FEG1iJHz10Hheao4xv6UjL636C+v6n09WN3q+pthSqgfHm3ae2R2IFtlklw3hBUd70IznGkWV2PCP89JvNAjs8MhIIeLdLfWfgJHtNy1x09wfQFT61yvROiq8jwp7tazphZ5LZg9Z3Y5QEEUsTrmZkzvBePDrsc+L5tE6twwTy49vIS20VLMo2rSm/w4doOASKU7Y6rT6OCyXFaXOajVsp38bQUBJGcwv5qCSuKbGC8T6uIE4ghiGhzN2uLcAhiwC+RgQ3uIDNxQRuKgGdW3UVKaCNJyCxu8bDsVZjapl19xTdUJK6n/8gLSe+ZqXQhg//Pz8NknhNXVZSiPkngqxNcUWaXLgObqAHmGa8rYLhZwkxjcfiEszASCjxkkrN6BQappT6IOfTsnhorlyhyKkAMMKIo6fvfeNkbmKJQSNk/ikzJrq9S8PlefYz+JHB3N9R6HQNbaSqAjX/Sn3mhqdMo/N8M/35/A2WBeyaUxMCH2WEH3vwrrZXeX8CPj5rPGhcLwxfDLVNFCPcLRi+kpRubWTnUzLI68mfzK3SnM+9kDeW4hvLsw7iWL22HY51fsoSCY/Cf9ThT1/Z1wNI6n/U/LpUJ+92e/uFBa7vcpQ6DX7UuG6FvanYysL6Hf1Tnka+Fb1sV+TTmAgCzojyHX+t+bYIi7AO575MfUzlNoMsD8DQLDsxQBdG2FcmDbCMqhUSu1Uitzld2uB8lakj9wlmF41Tir0Tx27DhzVFwDmI85d9NLfH0e5FbhFGqbeuVsp8tzmzzH8+hml7cJs9vIXcnbbGgTcDiYXPoYw/V9E0TxRvouALfbeHXzN4wi/YhVsqRq0i92Lz7kNWC92MbI3QjN84Zgd+pmzpcVxqiNG7fFxMTGsBjXONCH5VsY9vU0KJUjxMg/5aFwSoBD4AZZqigZRZNFqT8tcuvJaKroZ0k8S7ZsWC/cQnJD8irAJkOP5JLUEDlMVlWR1SQI1ym17dkv7XftS7Y93x8nhraZWUTEvbt790ZEVvvLWZ6lnuJ0rXZf7r8dJZX5ofnGjh0N6ekqKr4+9/Ta7t29d9z3yJEVzVIrOgQD3YpoWQHc58MynuysXI8sVbVtV90GFuVsUfcXfhl6jsBCrvYygC4hJL3y6Y/owJDQgR7V0SUMUN6GR5JH0COIjQsIiCtzZSIzATsWzwnQl/9ysipL5gSdpLnluHHcst3Q4PoavPj0c5tfVTVLaK813f0MP9JKdrzVXWn30tQwhzO8PciMfrsSMbHwdjXW2qZX61PBM7A4zXW8lOUYE2M1U3/rCX0rSzNzO/2HvcY6K/TrcktbdI2ijfV3WPShu2CS6U9zY7lqtdl2vTyvyB/2xnpa8QcCzM333DVu9F7hcYlJWXqAWa1OVbi2miX/lWXxJoMLSZbcJ5M0tbcby+CormDmVfTdjKev/P2YPCmHK812Pyk3+7E5Uh7ml1aTVO6W4Mgr29l4DVIOz9VuR5j1g0aB4oHgokLQeBGhuVVHVUe6IbUc7ynDfGV3IOMq8I16bWifDMyn9/JebM2U/BWFU8xxAyP6gHccHrftBXFb02CyrlF4ROGMmqvrjVdYmloKYmZG1woWqWkaOBoYQykl7Jyo/fp9eSx2P6YkEql7SrQisLzONorpgQYm3nxCZSVyC6JBEVReaxPlJQ6LyEzVfBw4nWPll5o+Gw2dFso4uE3ACmUyQ1gCbY2Uat6MrKCE4EkkEV6MeEu/NIm2FYBYSiKOuNXGXuWm1HQrv+Zbe/22iSqvUwQebfMEpm0+YhMlXqjwUCYskpImLqCnulzXeImKnTb8+DTsY2/c1vjhI/Tzr10VHepN6GEP0UvAlN6WxCg5TuKX5MnpuFh5Hr7mGUrIMBEmpHAuLj9L4mTXY+SQPA4fq8JFuHwoj2cP1kLnqRaperkm39h+RKk8OHp48FqWhF09DOtTjH1R+8QpQmFymUVQXLgW45Q14yAzkois2ruohWCPOj1TZHnAOpwfvtilvz+7yGM7V3acDz+cfzosm1hezDWjBzK857VKw1msujr2C43m70+jfdF4ZfLpFfe50GfgvhDLMBkpw4ObYzLAzroXoifeHrUR6L6yacA37/O4iorN+D6RnQqFlCgxTIDFDPahMW/agyIh/Lbr7E7dXsxakO6TGfCVXtmR4BnOCgtjhXsmiHMYO1++tGbkhJuQEh8qB5x5Bcdej00du32cDnRFwKFRKMRoEWMRnS8+vy1UQZA7SAKmkmvWaFp7RS6716DMT09dfcAHs39vZxd29mdISE6mmqqls1fU3fwNG379on6vnLzqFNmnUCSVGWtbWVVmmGuUG63fUL5O5/tbi65Xr4BjcrA0iMkM0kBsZWtQvFgaHwYpv4e1I2Jhu1qbphPPWLNt4LGRgTHPqbP+ov5miiBmENTiUndmSLCHrGIxlX+PCGpLJ9987Rst1C5EQz6z7gr8r0rOwgb5YZWq8E4djl+ul9fRGv8w7VROiFfLZ12Vl0pmzroyi169+miAo12HZmj34NjYlcivzE50jXVZutQl1jXxMUXEEfflE10fC/KrZ8wvSkTj+Pw4NPGjRW49jp+IfixtDD1tQWUBAWWLKZhanPznAofaaXQI9D/41VhxZ9XCb+WNVso29gR+QtSGcTH43aAfoXpgnkbCkfpw/537K1zw/PKsBwYCArzE9vb+/kD5y5Jl0HXUhjMNQiNVw61bd2URHTSo4bEXluYjnoK/xH1v4owZmpKCObM3SXL9xPfvs3R6F9AjlToQZclJoaH79vEuXAT5rIkesn0QVqPtCHtiRN1Y21QAAAuwInsDKqq0ftGrQTKx2WWJ+EQ0ks1GrtmruRnA/6OsGGl1LtiOfFK1A4kmzjKVlZFTwMCBrN1hs0tRQreMyh03mECaECX2Ie3chJ//Hpjog3NMxUV/EEPRQlaouydH6rGPabdNEm164UgBAxAVhZiTECSqFDWzvYiJLk6gU6nSKfhX7uXhw1YH0xQDnz5NHUQJQOK1fl2d7ew4HtV+oL93OOgnKyt29ct4xW8mslquVfQvH/zzfU0Mx9t+SbZMjUH3BOCfgeo43HU0kVCZS8G3USBLnBTteecaSBCCEcgQBhWDAieApw5BCooAAaKqBQTyMHsBFKLwA7LXzvuQ0/kqSJCFtyjTuRWC8Jym+quFoEuLl2D8pcm/55KYflNsGXV3J+eb/CetSbh7GZ73vbpfxKRo5LvVtqtzfDULXVCZup/C6yXlLF1R+SRnw2hW3pbL4L7mwcm0wPhLk3/PJTH9ps1d1zKqxB457n9aY+X7Jty9DM+S7X/JSLaBRth3q+1nvM7x1Xw3dIGvMiX6p1IpidlHedFF7H+Sc71hbOCXt6V/qCDrDU6JmsLaqnbrPTF/hxJGOJGITHzETwLfbs2fFqwfDq6P8UQylc5kc/lCsVSuVGv1RrPV7nR7/cFwNJ5MZ/PFcrVWVE3ohmnZjutttrv94Xg6X663++PJ03WLEMaoFNGS8BGqyrruY3VHDtlRPnQjqt1MlNzXSjZ9XEv+aecZEnsy0ikxGt3tW9hYKn7hJIv2JeW66/F72CauZ07YFJ2RP3BStodOpdZ9V+d91+zAU3WHtDm3fTKZgsoL+lPaUl8z1nE/qT8KKZ/RPszGWu0gaiqHu15aOThoG8IU7Cgnbvm5HmdBnzieTLhJU9rRwUTcTjS1CngYv4ZWD5g2dsDCdM5iPeYsa/KHRc2zpf2S+LCkWeyg5FZPitKcBJkbVfntSL9qZsK9hHC9U44PNcXRDirOdFYndSt6L2tOpXZ8jlWHT57NzqOZ6FbuTIkGVZ/uri2F+KTxZX0ugBBBgcAggQDDGio4yDDCF6xgA72HCRoU2MIMAXYLAAA=);
  font-weight: normal;
  font-style: normal;
}
.ag-theme-alpine, .ag-theme-alpine-dark {
  --ag-alpine-active-color: #2196f3;
  --ag-selected-row-background-color: rgba(33, 150, 243, 0.3);
  --ag-row-hover-color: rgba(33, 150, 243, 0.1);
  --ag-column-hover-color: rgba(33, 150, 243, 0.1);
  --ag-input-focus-border-color: rgba(33, 150, 243, 0.4);
  --ag-range-selection-background-color: rgba(33, 150, 243, 0.2);
  --ag-range-selection-background-color-2: rgba(33, 150, 243, 0.36);
  --ag-range-selection-background-color-3: rgba(33, 150, 243, 0.49);
  --ag-range-selection-background-color-4: rgba(33, 150, 243, 0.59);
  --ag-background-color: #fff;
  --ag-foreground-color: #181d1f;
  --ag-border-color: #babfc7;
  --ag-secondary-border-color: #dde2eb;
  --ag-header-background-color: #f8f8f8;
  --ag-tooltip-background-color: #f8f8f8;
  --ag-odd-row-background-color: #fcfcfc;
  --ag-control-panel-background-color: #f8f8f8;
  --ag-subheader-background-color: #fff;
  --ag-invalid-color: #e02525;
  --ag-checkbox-unchecked-color: #999;
  --ag-advanced-filter-join-pill-color: #f08e8d;
  --ag-advanced-filter-column-pill-color: #a6e194;
  --ag-advanced-filter-option-pill-color: #f3c08b;
  --ag-advanced-filter-value-pill-color: #85c0e4;
  --ag-checkbox-background-color: var(--ag-background-color);
  --ag-checkbox-checked-color: var(--ag-alpine-active-color);
  --ag-range-selection-border-color: var(--ag-alpine-active-color);
  --ag-secondary-foreground-color: var(--ag-foreground-color);
  --ag-input-border-color: var(--ag-border-color);
  --ag-input-border-color-invalid: var(--ag-invalid-color);
  --ag-input-focus-box-shadow: 0 0 2px 0.1rem var(--ag-input-focus-border-color);
  --ag-disabled-foreground-color: rgba(24, 29, 31, 0.5);
  --ag-chip-background-color: rgba(24, 29, 31, 0.07);
  --ag-input-disabled-border-color: rgba(186, 191, 199, 0.3);
  --ag-input-disabled-background-color: rgba(186, 191, 199, 0.15);
  --ag-borders: solid 1px;
  --ag-border-radius: 3px;
  --ag-borders-side-button: none;
  --ag-side-button-selected-background-color: transparent;
  --ag-header-column-resize-handle-display: block;
  --ag-header-column-resize-handle-width: 2px;
  --ag-header-column-resize-handle-height: 30%;
  --ag-grid-size: 6px;
  --ag-icon-size: 16px;
  --ag-row-height: calc(var(--ag-grid-size) * 7);
  --ag-header-height: calc(var(--ag-grid-size) * 8);
  --ag-list-item-height: calc(var(--ag-grid-size) * 4);
  --ag-column-select-indent-size: var(--ag-icon-size);
  --ag-set-filter-indent-size: var(--ag-icon-size);
  --ag-advanced-filter-builder-indent-size: calc(var(--ag-icon-size) + var(--ag-grid-size) * 2);
  --ag-cell-horizontal-padding: calc(var(--ag-grid-size) * 3);
  --ag-cell-widget-spacing: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-vertical-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-container-horizontal-padding: calc(var(--ag-grid-size) * 2);
  --ag-widget-vertical-spacing: calc(var(--ag-grid-size) * 1.5);
  --ag-toggle-button-height: 18px;
  --ag-toggle-button-width: 28px;
  --ag-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
  --ag-font-size: 13px;
  --ag-icon-font-family: agGridAlpine;
  --ag-selected-tab-underline-color: var(--ag-alpine-active-color);
  --ag-selected-tab-underline-width: 2px;
  --ag-selected-tab-underline-transition-speed: 0.3s;
  --ag-tab-min-width: 240px;
  --ag-card-shadow: 0 1px 4px 1px rgba(186, 191, 199, 0.4);
  --ag-popup-shadow: var(--ag-card-shadow);
  --ag-side-bar-panel-width: 250px;
}
.ag-theme-alpine-dark {
  --ag-background-color: #181d1f;
  --ag-foreground-color: #fff;
  --ag-border-color: #68686e;
  --ag-secondary-border-color: rgba(88, 86, 82, 0.5);
  --ag-modal-overlay-background-color: rgba(24, 29, 31, 0.66);
  --ag-header-background-color: #222628;
  --ag-tooltip-background-color: #222628;
  --ag-odd-row-background-color: #222628;
  --ag-control-panel-background-color: #222628;
  --ag-subheader-background-color: #000;
  --ag-input-disabled-background-color: #282c2f;
  --ag-input-focus-box-shadow:
      0 0 2px 0.5px rgba(255, 255, 255, 0.5),
      0 0 4px 3px var(--ag-input-focus-border-color);
  --ag-card-shadow: 0 1px 20px 1px black;
  --ag-disabled-foreground-color: rgba(255, 255, 255, 0.5);
  --ag-chip-background-color: rgba(255, 255, 255, 0.07);
  --ag-input-disabled-border-color: rgba(104, 104, 110, 0.3);
  --ag-input-disabled-background-color: rgba(104, 104, 110, 0.07);
  --ag-advanced-filter-join-pill-color: #7a3a37;
  --ag-advanced-filter-column-pill-color: #355f2d;
  --ag-advanced-filter-option-pill-color: #5a3168;
  --ag-advanced-filter-value-pill-color: #374c86;
}
.ag-theme-alpine .ag-filter-toolpanel-header,
.ag-theme-alpine .ag-filter-toolpanel-search,
.ag-theme-alpine .ag-status-bar,
.ag-theme-alpine .ag-header-row,
.ag-theme-alpine .ag-panel-title-bar-title,
.ag-theme-alpine .ag-multi-filter-group-title-bar, .ag-theme-alpine-dark .ag-filter-toolpanel-header,
.ag-theme-alpine-dark .ag-filter-toolpanel-search,
.ag-theme-alpine-dark .ag-status-bar,
.ag-theme-alpine-dark .ag-header-row,
.ag-theme-alpine-dark .ag-panel-title-bar-title,
.ag-theme-alpine-dark .ag-multi-filter-group-title-bar {
  font-weight: 700;
  color: var(--ag-header-foreground-color);
}
.ag-theme-alpine .ag-row, .ag-theme-alpine-dark .ag-row {
  font-size: calc(var(--ag-font-size) + 1px);
}
.ag-theme-alpine input[class^=ag-]:not([type]),
.ag-theme-alpine input[class^=ag-][type=text],
.ag-theme-alpine input[class^=ag-][type=number],
.ag-theme-alpine input[class^=ag-][type=tel],
.ag-theme-alpine input[class^=ag-][type=date],
.ag-theme-alpine input[class^=ag-][type=datetime-local],
.ag-theme-alpine textarea[class^=ag-], .ag-theme-alpine-dark input[class^=ag-]:not([type]),
.ag-theme-alpine-dark input[class^=ag-][type=text],
.ag-theme-alpine-dark input[class^=ag-][type=number],
.ag-theme-alpine-dark input[class^=ag-][type=tel],
.ag-theme-alpine-dark input[class^=ag-][type=date],
.ag-theme-alpine-dark input[class^=ag-][type=datetime-local],
.ag-theme-alpine-dark textarea[class^=ag-] {
  min-height: calc(var(--ag-grid-size) * 4);
  border-radius: var(--ag-border-radius);
}
.ag-theme-alpine .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-ltr textarea[class^=ag-], .ag-theme-alpine-dark .ag-ltr input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-ltr input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-ltr textarea[class^=ag-] {
  padding-left: var(--ag-grid-size);
}
.ag-theme-alpine .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine .ag-rtl textarea[class^=ag-], .ag-theme-alpine-dark .ag-rtl input[class^=ag-]:not([type]), .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=text], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=number], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=tel], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=date], .ag-theme-alpine-dark .ag-rtl input[class^=ag-][type=datetime-local], .ag-theme-alpine-dark .ag-rtl textarea[class^=ag-] {
  padding-right: var(--ag-grid-size);
}
.ag-theme-alpine .ag-tab, .ag-theme-alpine-dark .ag-tab {
  padding: calc(var(--ag-grid-size) * 1.5);
  transition: color 0.4s;
  flex: 1 1 auto;
}
.ag-theme-alpine .ag-tab-selected, .ag-theme-alpine-dark .ag-tab-selected {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-menu, .ag-theme-alpine-dark .ag-menu {
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-menu-header, .ag-theme-alpine-dark .ag-menu-header {
  background-color: var(--ag-control-panel-background-color);
  padding-top: 1px;
}
.ag-theme-alpine .ag-tabs-header, .ag-theme-alpine-dark .ag-tabs-header {
  border-bottom: var(--ag-borders) var(--ag-border-color);
}
.ag-theme-alpine .ag-charts-settings-group-title-bar,
.ag-theme-alpine .ag-charts-data-group-title-bar,
.ag-theme-alpine .ag-charts-format-top-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-settings-group-title-bar,
.ag-theme-alpine-dark .ag-charts-data-group-title-bar,
.ag-theme-alpine-dark .ag-charts-format-top-level-group-title-bar {
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
  line-height: calc(var(--ag-icon-size) + var(--ag-grid-size) - 2px);
}
.ag-theme-alpine .ag-chart-mini-thumbnail, .ag-theme-alpine-dark .ag-chart-mini-thumbnail {
  background-color: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-settings-nav-bar, .ag-theme-alpine-dark .ag-chart-settings-nav-bar {
  border-top: var(--ag-borders-secondary) var(--ag-secondary-border-color);
}
.ag-theme-alpine .ag-ltr .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-ltr .ag-group-title-bar-icon {
  margin-right: var(--ag-grid-size);
}
.ag-theme-alpine .ag-rtl .ag-group-title-bar-icon, .ag-theme-alpine-dark .ag-rtl .ag-group-title-bar-icon {
  margin-left: var(--ag-grid-size);
}
.ag-theme-alpine .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-charts-format-top-level-group-toolbar {
  margin-top: var(--ag-grid-size);
}
.ag-theme-alpine .ag-ltr .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-ltr .ag-charts-format-top-level-group-toolbar {
  padding-left: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-rtl .ag-charts-format-top-level-group-toolbar, .ag-theme-alpine-dark .ag-rtl .ag-charts-format-top-level-group-toolbar {
  padding-right: calc(var(--ag-icon-size) * 0.5 + var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-charts-format-sub-level-group, .ag-theme-alpine-dark .ag-charts-format-sub-level-group {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  padding-left: var(--ag-grid-size);
  margin-bottom: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-charts-format-sub-level-group-title-bar, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-title-bar {
  padding-top: 0;
  padding-bottom: 0;
  background: none;
  font-weight: 700;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-container, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-container {
  padding-bottom: 0;
}
.ag-theme-alpine .ag-charts-format-sub-level-group-item:last-child, .ag-theme-alpine-dark .ag-charts-format-sub-level-group-item:last-child {
  margin-bottom: 0;
}
.ag-theme-alpine.ag-dnd-ghost, .ag-theme-alpine-dark.ag-dnd-ghost {
  font-size: calc(var(--ag-font-size) - 1px);
  font-weight: 700;
}
.ag-theme-alpine .ag-side-buttons, .ag-theme-alpine-dark .ag-side-buttons {
  width: calc(var(--ag-grid-size) * 5);
}
.ag-theme-alpine .ag-standard-button, .ag-theme-alpine-dark .ag-standard-button {
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  border-radius: var(--ag-border-radius);
  border: 1px solid;
  border-color: var(--ag-alpine-active-color);
  color: var(--ag-alpine-active-color);
  background-color: var(--ag-background-color);
  font-weight: 600;
  padding: var(--ag-grid-size) calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-standard-button:hover, .ag-theme-alpine-dark .ag-standard-button:hover {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-row-hover-color);
}
.ag-theme-alpine .ag-standard-button:active, .ag-theme-alpine-dark .ag-standard-button:active {
  border-color: var(--ag-alpine-active-color);
  background-color: var(--ag-alpine-active-color);
  color: var(--ag-background-color);
}
.ag-theme-alpine .ag-standard-button:disabled, .ag-theme-alpine-dark .ag-standard-button:disabled {
  color: var(--ag-disabled-foreground-color);
  background-color: var(--ag-input-disabled-background-color);
  border-color: var(--ag-input-disabled-border-color);
}
.ag-theme-alpine .ag-column-drop-vertical, .ag-theme-alpine-dark .ag-column-drop-vertical {
  min-height: 75px;
}
.ag-theme-alpine .ag-column-drop-vertical-title-bar, .ag-theme-alpine-dark .ag-column-drop-vertical-title-bar {
  padding: calc(var(--ag-grid-size) * 2);
  padding-bottom: 0px;
}
.ag-theme-alpine .ag-column-drop-vertical-empty-message, .ag-theme-alpine-dark .ag-column-drop-vertical-empty-message {
  display: flex;
  align-items: center;
  border: dashed 1px;
  border-color: var(--ag-border-color);
  margin: calc(var(--ag-grid-size) * 2);
  padding: calc(var(--ag-grid-size) * 2);
}
.ag-theme-alpine .ag-column-drop-empty-message, .ag-theme-alpine-dark .ag-column-drop-empty-message {
  color: var(--ag-foreground-color);
  opacity: 0.75;
}
.ag-theme-alpine .ag-status-bar, .ag-theme-alpine-dark .ag-status-bar {
  font-weight: normal;
}
.ag-theme-alpine .ag-status-name-value-value, .ag-theme-alpine-dark .ag-status-name-value-value {
  font-weight: 700;
}
.ag-theme-alpine .ag-paging-number, .ag-theme-alpine .ag-paging-row-summary-panel-number, .ag-theme-alpine-dark .ag-paging-number, .ag-theme-alpine-dark .ag-paging-row-summary-panel-number {
  font-weight: 700;
}
.ag-theme-alpine .ag-column-drop-cell-button, .ag-theme-alpine-dark .ag-column-drop-cell-button {
  opacity: 0.5;
}
.ag-theme-alpine .ag-column-drop-cell-button:hover, .ag-theme-alpine-dark .ag-column-drop-cell-button:hover {
  opacity: 0.75;
}
.ag-theme-alpine .ag-header-cell-menu-button:hover,
.ag-theme-alpine .ag-side-button-button:hover,
.ag-theme-alpine .ag-tab:hover,
.ag-theme-alpine .ag-panel-title-bar-button:hover,
.ag-theme-alpine .ag-header-expand-icon:hover,
.ag-theme-alpine .ag-column-group-icons:hover,
.ag-theme-alpine .ag-set-filter-group-icons:hover,
.ag-theme-alpine .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine .ag-chart-settings-prev:hover,
.ag-theme-alpine .ag-chart-settings-next:hover,
.ag-theme-alpine .ag-group-title-bar-icon:hover,
.ag-theme-alpine .ag-column-select-header-icon:hover,
.ag-theme-alpine .ag-floating-filter-button-button:hover,
.ag-theme-alpine .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine .ag-chart-menu-icon:hover,
.ag-theme-alpine .ag-chart-menu-close:hover, .ag-theme-alpine-dark .ag-header-cell-menu-button:hover,
.ag-theme-alpine-dark .ag-side-button-button:hover,
.ag-theme-alpine-dark .ag-tab:hover,
.ag-theme-alpine-dark .ag-panel-title-bar-button:hover,
.ag-theme-alpine-dark .ag-header-expand-icon:hover,
.ag-theme-alpine-dark .ag-column-group-icons:hover,
.ag-theme-alpine-dark .ag-set-filter-group-icons:hover,
.ag-theme-alpine-dark .ag-group-expanded .ag-icon:hover,
.ag-theme-alpine-dark .ag-group-contracted .ag-icon:hover,
.ag-theme-alpine-dark .ag-chart-settings-prev:hover,
.ag-theme-alpine-dark .ag-chart-settings-next:hover,
.ag-theme-alpine-dark .ag-group-title-bar-icon:hover,
.ag-theme-alpine-dark .ag-column-select-header-icon:hover,
.ag-theme-alpine-dark .ag-floating-filter-button-button:hover,
.ag-theme-alpine-dark .ag-filter-toolpanel-expand:hover,
.ag-theme-alpine-dark .ag-chart-menu-icon:hover,
.ag-theme-alpine-dark .ag-chart-menu-close:hover {
  color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close, .ag-theme-alpine-dark .ag-chart-menu-close {
  background: var(--ag-background-color);
}
.ag-theme-alpine .ag-chart-menu-close:hover .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close:hover .ag-icon {
  border-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-chart-menu-close .ag-icon, .ag-theme-alpine-dark .ag-chart-menu-close .ag-icon {
  background: var(--ag-header-background-color);
  border: 1px solid var(--ag-border-color);
  border-right: none;
}
.ag-theme-alpine .ag-chart-settings-card-item.ag-not-selected:hover, .ag-theme-alpine-dark .ag-chart-settings-card-item.ag-not-selected:hover {
  opacity: 0.35;
}
.ag-theme-alpine .ag-ltr .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-ltr .ag-panel-title-bar-button {
  margin-left: calc(var(--ag-grid-size) * 2);
  margin-right: var(--ag-grid-size);
}
.ag-theme-alpine .ag-rtl .ag-panel-title-bar-button, .ag-theme-alpine-dark .ag-rtl .ag-panel-title-bar-button {
  margin-right: calc(var(--ag-grid-size) * 2);
  margin-left: var(--ag-grid-size);
}
.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-group-container {
  padding-left: var(--ag-grid-size);
}
.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-group-container, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-group-container {
  padding-right: var(--ag-grid-size);
}
.ag-theme-alpine .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-filter-toolpanel-instance-filter {
  border: none;
  background-color: var(--ag-control-panel-background-color);
}
.ag-theme-alpine .ag-ltr .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-ltr .ag-filter-toolpanel-instance-filter {
  border-left: dashed 1px;
  border-left-color: var(--ag-border-color);
  margin-left: calc(var(--ag-icon-size) * 0.5);
}
.ag-theme-alpine .ag-rtl .ag-filter-toolpanel-instance-filter, .ag-theme-alpine-dark .ag-rtl .ag-filter-toolpanel-instance-filter {
  border-right: dashed 1px;
  border-right-color: var(--ag-border-color);
  margin-right: calc(var(--ag-icon-size) * 0.5);
}
.ag-theme-alpine .ag-set-filter-list, .ag-theme-alpine-dark .ag-set-filter-list {
  padding-top: calc(var(--ag-grid-size) * 0.5);
  padding-bottom: calc(var(--ag-grid-size) * 0.5);
}
.ag-theme-alpine .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine .ag-layout-print .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-auto-height .ag-center-cols-container, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-viewport, .ag-theme-alpine-dark .ag-layout-print .ag-center-cols-container {
  min-height: 150px;
}
.ag-theme-alpine .ag-overlay-no-rows-wrapper.ag-layout-auto-height, .ag-theme-alpine-dark .ag-overlay-no-rows-wrapper.ag-layout-auto-height {
  padding-top: 60px;
}
.ag-theme-alpine .ag-date-time-list-page-entry-is-current, .ag-theme-alpine-dark .ag-date-time-list-page-entry-is-current {
  background-color: var(--ag-alpine-active-color);
}
.ag-theme-alpine .ag-advanced-filter-builder-button, .ag-theme-alpine-dark .ag-advanced-filter-builder-button {
  padding: var(--ag-grid-size);
  font-weight: 600;
}
.ag-theme-alpine-dark {
  color-scheme: dark;
}

.empty-state.svelte-1o3pwe8{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);margin:20px 0}.empty-icon.svelte-1o3pwe8{font-size:4rem;margin-bottom:20px;opacity:0.6}.empty-title.svelte-1o3pwe8{font-size:1.25rem;font-weight:600;color:#333;margin:0 0 12px 0}.empty-description.svelte-1o3pwe8{font-size:1rem;color:#666;margin:0 0 24px 0;line-height:1.5;max-width:400px}.btn.svelte-1o3pwe8{display:inline-flex;align-items:center;justify-content:center;padding:10px 20px;font-size:0.95rem;font-weight:500;border:none;border-radius:6px;cursor:pointer;text-decoration:none;transition:all 0.2s ease;min-height:44px}.btn-primary.svelte-1o3pwe8{background-color:#3273dc;color:white}.btn-primary.svelte-1o3pwe8:hover{background-color:#2860b5;transform:translateY(-1px)}.btn-primary.svelte-1o3pwe8:active{transform:translateY(0)}
.loading-overlay.svelte-tsptl0{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(255, 255, 255, 0.8);display:flex;align-items:center;justify-content:center;z-index:1000}.loading-content.svelte-tsptl0{display:flex;flex-direction:column;align-items:center;gap:15px}.loading-container.svelte-tsptl0{display:flex;flex-direction:column;align-items:center;gap:15px;padding:20px}.loading-centered.svelte-tsptl0{justify-content:center;min-height:200px}.loading-spinner.svelte-tsptl0{border-radius:50%;animation:svelte-tsptl0-spin 1s linear infinite;border-style:solid;border-color:#f3f3f3;border-top-color:#3273dc}.loading-spinner-sm.svelte-tsptl0{width:24px;height:24px;border-width:3px}.loading-spinner-md.svelte-tsptl0{width:40px;height:40px;border-width:4px}.loading-spinner-lg.svelte-tsptl0{width:60px;height:60px;border-width:6px}.loading-message.svelte-tsptl0{color:#666;font-size:1rem;text-align:center}@keyframes svelte-tsptl0-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(prefers-reduced-motion: reduce){.loading-spinner.svelte-tsptl0{animation:none;border:4px solid #3273dc}}
.table-container.svelte-wi56t3.svelte-wi56t3{width:100%;overflow-x:auto;margin-bottom:var(--spacing-lg)}.table-responsive.svelte-wi56t3.svelte-wi56t3{border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm)}.table-header-content.svelte-wi56t3.svelte-wi56t3{display:flex;align-items:center;justify-content:space-between;width:100%}.table.svelte-wi56t3 th.sortable.svelte-wi56t3{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background-color 0.2s ease}.table.svelte-wi56t3 th.sortable.svelte-wi56t3:hover{background-color:var(--color-gray-100)}.table.svelte-wi56t3 th.sortable.svelte-wi56t3:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.sort-indicator.svelte-wi56t3.svelte-wi56t3{margin-left:var(--spacing-xs);opacity:0.5;font-size:var(--font-size-sm);min-width:12px;display:inline-block;text-align:center}.table.svelte-wi56t3 th.sorted .sort-indicator.svelte-wi56t3{opacity:1;color:var(--primary-color)}.table-select-header.svelte-wi56t3.svelte-wi56t3,.table-select-cell.svelte-wi56t3.svelte-wi56t3{width:50px;text-align:center}.table-select-header.svelte-wi56t3 input.svelte-wi56t3,.table-select-cell.svelte-wi56t3 input.svelte-wi56t3{margin:0;transform:scale(1.1)}.table-loading.svelte-wi56t3.svelte-wi56t3,.table-empty.svelte-wi56t3.svelte-wi56t3{text-align:center;padding:var(--spacing-xl)}.loading-content.svelte-wi56t3.svelte-wi56t3{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--text-muted)}.table.svelte-wi56t3 tbody tr.selected.svelte-wi56t3{background-color:rgba(50, 115, 220, 0.1);border-left:3px solid var(--primary-color)}.clickable-cell.svelte-wi56t3.svelte-wi56t3{cursor:pointer;transition:background-color 0.2s ease}.clickable-cell.svelte-wi56t3.svelte-wi56t3:hover{background-color:var(--color-gray-100)}.clickable-cell.svelte-wi56t3.svelte-wi56t3:focus{outline:2px solid var(--primary-color);outline-offset:-2px}.table-sticky-header.svelte-wi56t3 thead th.svelte-wi56t3{position:sticky;top:0;z-index:10;background-color:var(--color-gray-50);box-shadow:0 2px 2px -1px rgba(0, 0, 0, 0.1)}@media(max-width: 768px){.table-responsive.svelte-wi56t3.svelte-wi56t3{border-radius:0;box-shadow:none}.table-cell.svelte-wi56t3.svelte-wi56t3::before{content:attr(data-label) ': ';font-weight:var(--font-weight-semibold);color:var(--text-muted);display:inline-block;min-width:80px}}@media(max-width: 576px){.table-container.table-responsive.svelte-wi56t3 .table.svelte-wi56t3,.table-container.table-responsive.svelte-wi56t3 .table thead.svelte-wi56t3,.table-container.table-responsive.svelte-wi56t3 .table tbody.svelte-wi56t3,.table-container.table-responsive.svelte-wi56t3 .table th.svelte-wi56t3,.table-container.table-responsive.svelte-wi56t3 .table td.svelte-wi56t3,.table-container.table-responsive.svelte-wi56t3 .table tr.svelte-wi56t3{display:block}.table-container.table-responsive.svelte-wi56t3 .table thead tr.svelte-wi56t3{position:absolute;top:-9999px;left:-9999px}.table-container.table-responsive.svelte-wi56t3 .table tr.svelte-wi56t3{background:var(--color-white);border:1px solid var(--border-color);border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md);padding:var(--spacing-md)}.table-container.table-responsive.svelte-wi56t3 .table td.svelte-wi56t3{border:none;padding:var(--spacing-sm) 0;position:relative;padding-left:50%}.table-container.table-responsive.svelte-wi56t3 .table td.svelte-wi56t3::before{content:attr(data-label);position:absolute;left:0;width:45%;padding-right:var(--spacing-sm);white-space:nowrap;font-weight:var(--font-weight-semibold);color:var(--text-muted);font-size:var(--font-size-sm)}}
.btn-group.svelte-10lbibk{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical.svelte-10lbibk{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-attached.svelte-10lbibk .btn{position:relative;flex:1 1 auto}.btn-group-attached.svelte-10lbibk .btn:not(:first-child){margin-left:-1px}.btn-group-attached.svelte-10lbibk:not(.btn-group-vertical) .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group-attached.svelte-10lbibk:not(.btn-group-vertical) .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group-attached.btn-group-vertical.svelte-10lbibk .btn:not(:first-child){margin-left:0;margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.btn-group-attached.btn-group-vertical.svelte-10lbibk .btn:not(:last-child){border-bottom-left-radius:0;border-bottom-right-radius:0}.btn-group-attached.svelte-10lbibk .btn:hover,.btn-group-attached.svelte-10lbibk .btn:focus,.btn-group-attached.svelte-10lbibk .btn:active{z-index:1}.btn-group.svelte-10lbibk:not(.btn-group-attached){gap:var(--spacing-xs)}.btn-group:not(.btn-group-attached).btn-group-vertical.svelte-10lbibk{gap:var(--spacing-xs)}.btn-group-responsive.svelte-10lbibk{flex-wrap:wrap;gap:var(--spacing-sm)}@media(max-width: 768px){.btn-group-responsive.svelte-10lbibk{flex-direction:column;gap:var(--spacing-xs);width:100%}.btn-group-responsive.svelte-10lbibk .btn{border-radius:var(--border-radius-md) !important;margin:0 !important;width:100%}.btn-group-responsive.svelte-10lbibk .btn:not(:first-child){border-radius:var(--border-radius-md) !important;margin-left:0 !important;margin-top:0 !important}.btn-group-responsive.svelte-10lbibk .btn:not(:last-child){border-radius:var(--border-radius-md) !important}}@media(min-width: 768px) and (max-width: 991px){.btn-group-responsive.svelte-10lbibk{flex-wrap:wrap;gap:var(--spacing-sm)}.btn-group-responsive.svelte-10lbibk .btn{flex:1;min-width:140px}}
.project-actions.svelte-1itm1qg{display:flex;justify-content:center;align-items:center}
.modal-overlay.svelte-u1m590.svelte-u1m590{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);display:flex;justify-content:center;align-items:center;z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);transition:all 0.3s ease}.modal-container.svelte-u1m590.svelte-u1m590{background:var(--color-white);border-radius:var(--border-radius-xl);box-shadow:var(--shadow-2xl);max-width:800px;width:90%;max-height:90vh;overflow:hidden;position:relative;transform:scale(0.9);transition:transform 0.3s ease}.modal-overlay.svelte-u1m590 .modal-container.svelte-u1m590{transform:scale(1)}.modal-header.svelte-u1m590.svelte-u1m590{padding:var(--spacing-lg);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);color:var(--color-white);border-top-left-radius:var(--border-radius-xl);border-top-right-radius:var(--border-radius-xl);position:sticky;top:0;z-index:10}.modal-header.svelte-u1m590 h3.svelte-u1m590{margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-white);text-shadow:0 1px 2px rgba(0, 0, 0, 0.1)}.close-modal-btn.svelte-u1m590.svelte-u1m590{background:rgba(255, 255, 255, 0.1);border:1px solid rgba(255, 255, 255, 0.2);font-size:var(--font-size-lg);color:var(--color-white);cursor:pointer;padding:var(--spacing-2);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);transition:var(--transition-all);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.close-modal-btn.svelte-u1m590.svelte-u1m590:hover{background:rgba(255, 255, 255, 0.2);border-color:rgba(255, 255, 255, 0.3);transform:scale(1.05)}.modal-content.svelte-u1m590.svelte-u1m590{padding:var(--spacing-lg);overflow-y:auto;max-height:calc(90vh - 140px)}.detail-section.svelte-u1m590.svelte-u1m590{margin-bottom:var(--spacing-6);background-color:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);padding:var(--spacing-5)}.detail-section.svelte-u1m590 h4.svelte-u1m590{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-gray-900);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:2px solid var(--color-primary-light);display:flex;align-items:center;gap:var(--spacing-2)}.detail-section.svelte-u1m590 h4.svelte-u1m590::before{content:'';width:4px;height:20px;background-color:var(--color-primary);border-radius:var(--border-radius-full)}.detail-grid.svelte-u1m590.svelte-u1m590{display:grid;grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));gap:var(--spacing-5)}.detail-item.svelte-u1m590.svelte-u1m590{display:flex;flex-direction:column;gap:var(--spacing-2);padding:var(--spacing-3);background-color:var(--color-gray-25);border-radius:var(--border-radius);border-left:3px solid var(--color-primary-light)}.detail-label.svelte-u1m590.svelte-u1m590{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:1px;margin-bottom:var(--spacing-1)}.detail-value.svelte-u1m590.svelte-u1m590{font-size:var(--font-size-base);color:var(--color-gray-900);font-weight:var(--font-weight-medium);line-height:var(--line-height-relaxed);min-height:24px;display:flex;align-items:center}.detail-content.svelte-u1m590.svelte-u1m590{background-color:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--border-radius-lg);padding:var(--spacing-5);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);white-space:pre-wrap;color:var(--color-gray-800);box-shadow:inset 0 1px 3px rgba(0, 0, 0, 0.1)}.skills-list.svelte-u1m590.svelte-u1m590{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.skill-tag.svelte-u1m590.svelte-u1m590{background-color:var(--color-primary);color:var(--color-white);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius);font-size:0.875rem;font-weight:500}.requirements-list.svelte-u1m590.svelte-u1m590,.preferred-list.svelte-u1m590.svelte-u1m590{display:flex;flex-direction:column;gap:var(--spacing-xs)}.requirement-item.svelte-u1m590.svelte-u1m590,.preferred-item.svelte-u1m590.svelte-u1m590{font-size:0.95rem;color:var(--color-gray-800);line-height:1.5}.description-content.svelte-u1m590.svelte-u1m590,.contact-content.svelte-u1m590.svelte-u1m590{line-height:1.6}.description-content.svelte-u1m590 p.svelte-u1m590,.contact-content.svelte-u1m590 p.svelte-u1m590{margin:0;white-space:pre-wrap;word-break:break-word}.no-data.svelte-u1m590.svelte-u1m590{color:var(--color-gray-500);font-style:italic}.modal-footer.svelte-u1m590.svelte-u1m590{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-5) var(--spacing-6);border-top:1px solid var(--color-gray-200);background-color:var(--color-gray-25);border-bottom-left-radius:var(--border-radius-lg);border-bottom-right-radius:var(--border-radius-lg)}.modal-actions-right.svelte-u1m590.svelte-u1m590{display:flex;gap:var(--spacing-3)}.modal-btn.svelte-u1m590.svelte-u1m590{padding:var(--spacing-2) var(--spacing-4);border:none;border-radius:var(--border-radius);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-all);display:inline-flex;align-items:center;gap:var(--spacing-1);min-width:80px;justify-content:center}.modal-btn.svelte-u1m590.svelte-u1m590:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}.modal-btn.cancel.svelte-u1m590.svelte-u1m590{background-color:var(--color-gray-500);color:var(--color-white);border:1px solid var(--color-gray-500)}.modal-btn.cancel.svelte-u1m590.svelte-u1m590:hover{background-color:var(--color-gray-600);border-color:var(--color-gray-600)}.status-active.svelte-u1m590.svelte-u1m590{color:var(--color-success);font-weight:600}.status-deleted.svelte-u1m590.svelte-u1m590{color:var(--color-danger);font-weight:600}.status-open.svelte-u1m590.svelte-u1m590{color:var(--color-warning);font-weight:600}.status-closed.svelte-u1m590.svelte-u1m590{color:var(--color-info);font-weight:600}.admin-notes-section.svelte-u1m590.svelte-u1m590{border:2px solid var(--color-primary, #007bff);border-radius:8px;background-color:#f8f9ff;margin-bottom:100px}.admin-notes-title.svelte-u1m590.svelte-u1m590{color:var(--color-primary, #007bff) !important;border-bottom-color:var(--color-primary, #007bff) !important}.admin-notes-content.svelte-u1m590.svelte-u1m590{background-color:#f0f4ff !important;border-color:var(--color-primary, #007bff) !important}.admin-notes-text.svelte-u1m590.svelte-u1m590{font-style:italic;color:var(--color-primary, #007bff)}@media(max-width: 768px){.modal-container.svelte-u1m590.svelte-u1m590{margin:var(--spacing-2);max-width:none;width:calc(100% - var(--spacing-4))}.modal-footer.svelte-u1m590.svelte-u1m590{flex-direction:column;gap:var(--spacing-3)}.modal-actions-right.svelte-u1m590.svelte-u1m590{width:100%;justify-content:center}.modal-btn.svelte-u1m590.svelte-u1m590{flex:1;min-width:auto}.detail-grid.svelte-u1m590.svelte-u1m590{grid-template-columns:1fr}}@media(max-width: 480px){.modal-overlay.svelte-u1m590.svelte-u1m590{padding:var(--spacing-xs);align-items:flex-start;padding-top:10vh}.modal-container.svelte-u1m590.svelte-u1m590{width:100%;max-width:100%;margin:0;border-radius:var(--border-radius-md)}.modal-header.svelte-u1m590 h3.svelte-u1m590{font-size:var(--font-size-lg)}}
.tabs.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;border-bottom:2px solid var(--color-border, #e9ecef);margin-bottom:var(--spacing-lg, 1.5rem)}.tab-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background:none;border:none;padding:var(--spacing-md, 1rem) var(--spacing-lg, 1.5rem);cursor:pointer;font-size:1rem;font-weight:500;color:var(--color-text-secondary, #6c757d);border-bottom:2px solid transparent;transition:all 0.3s ease}.tab-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{color:var(--color-primary, #007bff);background-color:var(--color-light, #f8f9fa)}.tab-btn.active.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-primary, #007bff);border-bottom-color:var(--color-primary, #007bff);background-color:transparent}.tab-content.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-lg, 1.5rem)}.main-content.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-lg, 1.5rem) 0;min-height:calc(100vh - 80px);max-width:2500px;margin:0 auto}.navbar-actions{display:none}.register-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-lg, 1.5rem);background-color:var(--color-white, #fff);border-radius:8px;border:0px solid var(--color-border, #e9ecef);margin-bottom:var(--spacing-md, 1rem)}.result-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-lg, 1.5rem);background-color:var(--color-white, #fff);border-radius:8px;border:0px solid var(--color-border, #e9ecef);margin-bottom:var(--spacing-md, 1rem)}@media(max-width: 768px){.tab-content.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-md, 1rem)}.register-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn,.result-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-md, 1rem)}.navbar-actions{display:none}}.loading-spinner.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{border:4px solid var(--color-border, #e9ecef);border-top:4px solid var(--color-primary, #007bff);border-radius:50%;width:40px;height:40px;animation:svelte-a8t1yn-spin 1s linear infinite;margin:0 auto}@keyframes svelte-a8t1yn-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.success-icon.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{font-size:3rem;color:var(--color-success, #28a745);margin-bottom:var(--spacing-md, 1rem)}.form-grid-2.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:grid;grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));gap:var(--spacing-md, 1rem)}.array-items.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;flex-direction:column;gap:var(--spacing-sm, 0.5rem)}.input-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;gap:var(--spacing-sm, 0.5rem);align-items:center}.input-group.svelte-a8t1yn .form-input.svelte-a8t1yn.svelte-a8t1yn{flex:1}.alert-success.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.text-muted.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-text-secondary, #6c757d) !important}.py-5.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding-top:var(--spacing-xl, 2rem) !important;padding-bottom:var(--spacing-xl, 2rem) !important}.mt-3.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{margin-top:var(--spacing-md, 1rem) !important}.mb-2.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{margin-bottom:var(--spacing-sm, 0.5rem) !important}.mb-3.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{margin-bottom:var(--spacing-md, 1rem) !important}.mb-4.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{margin-bottom:var(--spacing-lg, 1.5rem) !important}.required.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn::after{content:" *";color:var(--color-danger, #dc3545)}.btn-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;gap:var(--spacing-sm, 0.5rem);flex-wrap:nowrap}.action-buttons-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;gap:var(--spacing-sm, 0.5rem);flex-wrap:nowrap;align-items:center}.action-buttons-container.svelte-a8t1yn .btn.svelte-a8t1yn.svelte-a8t1yn{white-space:nowrap;font-size:0.875rem;padding:0.5rem 0.75rem}.page-size-select.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background-color:white;border:2px solid var(--color-primary, #007bff);border-radius:6px;padding:0.5rem 0.75rem;font-size:0.875rem;font-weight:500;color:var(--color-text, #333);cursor:pointer;transition:all 0.2s ease;min-width:80px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);margin-left:0.5rem}.page-size-select.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{border-color:var(--color-primary, #007bff);box-shadow:0 2px 6px rgba(0, 123, 255, 0.3);transform:translateY(-1px)}.page-size-select.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 0.2rem rgba(0, 123, 255, 0.25)}.dropdown.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:relative;display:inline-block}.dropdown-toggle.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;align-items:center;gap:0.5rem}.dropdown-arrow.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{font-size:0.75rem;transition:transform 0.2s ease}.dropdown-menu.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:absolute;top:100%;right:0;background:white;border:1px solid var(--color-border, #e9ecef);border-radius:6px;box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);min-width:220px;z-index:1000;display:none;padding:0.5rem 0;margin-top:2px}.dropdown-menu.show.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:block}.dropdown-item.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;align-items:center;gap:0.5rem;width:100%;padding:0.5rem 1rem;border:none;background:none;text-align:left;font-size:0.875rem;color:var(--color-text, #333);cursor:pointer;transition:background-color 0.2s ease}.dropdown-item.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{background-color:var(--color-gray-100, #f8f9fa)}.dropdown-item.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:disabled{opacity:0.5;cursor:not-allowed}.dropdown-item.text-danger.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-danger, #dc3545)}.dropdown-divider.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{height:1px;background-color:var(--color-border, #e9ecef);margin:0.5rem 0}.status-icon.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{font-size:0.875rem;width:16px;text-align:center}.status-icon.success.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:#22c55e}.status-icon.warning.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:#f59e0b}.status-icon.secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:#6b7280}.status-icon.info.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:#3b82f6}.status-icon.danger.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:#ef4444}.btn-outline-secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background-color:transparent;border:2px solid #6c757d;color:#6c757d;padding:0.5rem 0.75rem;border-radius:6px;font-size:0.875rem;font-weight:500;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.btn-outline-secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{background-color:#6c757d;color:white;border-color:#6c757d;transform:translateY(-1px);box-shadow:0 2px 4px rgba(108, 117, 125, 0.2)}.btn-outline-secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:disabled{opacity:0.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-outline-secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:disabled:hover{background-color:transparent;color:#6c757d;border-color:#6c757d}@media(max-width: 768px){.btn-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{justify-content:flex-end}.action-buttons-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{flex-wrap:nowrap;overflow-x:auto;gap:0.25rem}.action-buttons-container.svelte-a8t1yn .btn.svelte-a8t1yn.svelte-a8t1yn{font-size:0.75rem;padding:0.375rem 0.5rem;min-width:auto;flex-shrink:0}.btn-outline-secondary.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{font-size:0.75rem;padding:0.375rem 0.5rem;border-width:1px}.page-size-select.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{min-width:70px;padding:0.375rem 0.5rem;font-size:0.75rem;margin-left:0.25rem}}.gap-3.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{gap:var(--spacing-md, 1rem)}.align-center.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{align-items:center}.d-flex.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex}.justify-between.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{justify-content:space-between}.deleted-row{opacity:0.6;background-color:#f8f9fa !important;color:#6c757d}.deleted-row:hover{background-color:#e9ecef !important}.status-badge.deleted{background-color:#dc3545;color:white}.title-search-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background-color:#f8f9fa;border-radius:8px;padding:1rem 1.5rem;border:1px solid var(--color-border, #e9ecef);gap:1rem;flex-wrap:wrap;align-items:center}.actions-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{align-items:center;gap:1rem;flex-wrap:wrap}.search-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;align-items:center;max-width:350px;min-width:280px}.search-input-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:relative;display:flex;align-items:center;width:100%;max-width:350px;height:42px}.search-input.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{width:100%;padding:0.5rem 3rem 0.5rem 1rem;border:1px solid var(--color-border, #dee2e6);border-radius:6px;font-size:0.875rem;font-weight:400;background-color:var(--color-white, #fff);color:var(--color-text, #495057);transition:all 0.15s ease-in-out;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075);height:100%;line-height:1.5;vertical-align:middle;box-sizing:border-box}.search-input.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:focus{border-color:var(--color-primary, #80bdff);outline:0;box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 0 0.2rem rgba(0, 123, 255, 0.25)}.search-input.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn::-moz-placeholder{color:var(--color-text-secondary, #6c757d)}.search-input.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn::placeholder{color:var(--color-text-secondary, #6c757d)}.search-icon.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary, #6c757d);font-size:0.9rem;pointer-events:none;display:flex;align-items:center;justify-content:center}.search-clear-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:absolute;right:2.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-text-secondary, #6c757d);cursor:pointer;font-size:0.9rem;padding:0.25rem;border-radius:4px;transition:all 0.2s ease;z-index:2;height:24px;width:24px;display:flex;align-items:center;justify-content:center}.search-clear-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{background-color:var(--color-gray-200, #f1f3f5);color:var(--color-danger, #dc3545)}.search-result-info.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{font-size:0.875rem;color:var(--color-text-secondary, #6c757d);padding:0.5rem 1rem;background-color:#e3f2fd;border-radius:6px;border-left:3px solid var(--color-primary, #007bff)}.search-result-info.svelte-a8t1yn .text-muted.svelte-a8t1yn.svelte-a8t1yn{font-style:italic;color:var(--color-primary, #007bff) !important;font-weight:500}@media(max-width: 768px){.title-search-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{flex-direction:column;align-items:stretch;gap:1rem;padding:1rem}.title-search-row.svelte-a8t1yn .d-flex.svelte-a8t1yn.svelte-a8t1yn{flex-direction:column;align-items:stretch;gap:1rem}.search-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{max-width:100%;order:-1}.search-input-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{max-width:100%}.actions-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{justify-content:center}.btn-group.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{justify-content:center;flex-wrap:wrap}.btn-group.svelte-a8t1yn button.svelte-a8t1yn.svelte-a8t1yn{font-size:0.8rem;padding:0.5rem 0.75rem}h3.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{text-align:center;margin:0}.checkbox-wrapper.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{justify-content:center;margin-left:0}.manage-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-md, 0rem);margin-bottom:var(--spacing-sm, 0.5rem)}.title-search-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:0.75rem}.actions-row.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:0 0.5rem}}.checkbox-wrapper.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;align-items:center;gap:0.375rem;margin-left:var(--spacing-sm, 0.5rem)}.checkbox-wrapper.svelte-a8t1yn input[type="checkbox"].svelte-a8t1yn.svelte-a8t1yn{width:1rem;height:1rem;cursor:pointer;margin:0}.checkbox-wrapper.svelte-a8t1yn label.svelte-a8t1yn.svelte-a8t1yn{font-size:0.875rem;color:var(--color-text-secondary, #6c757d);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap;margin:0}.checkbox-wrapper.svelte-a8t1yn input[type="checkbox"].svelte-a8t1yn:checked+label[for="excludeExpired"].svelte-a8t1yn{color:var(--color-primary, #007bff);font-weight:500}.checkbox-wrapper.svelte-a8t1yn input[type="checkbox"]#excludeExpired.svelte-a8t1yn.svelte-a8t1yn:checked{accent-color:var(--color-primary, #007bff)}.manage-section.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:var(--spacing-lg, rem);background-color:var(--color-white, #fff);border-radius:8px;border:0px solid var(--color-border, #e9ecef);margin-bottom:var(--spacing-md, 1rem)}.data-table th:hover{color:var(--color-text, #333) !important;background-color:var(--color-gray-100, #f8f9fa) !important}.data-table th a:hover{color:var(--color-text, #333) !important}.data-table thead th:hover{color:var(--color-text, #333) !important}thead th{text-align:center !important;vertical-align:middle !important}table th{text-align:center !important}.table-header-content{justify-content:center !important;text-align:center !important;display:flex !important;align-items:center !important}.sort-indicator{margin-left:0.25rem !important}.table-select-header{text-align:center !important}.data-table .table-cell-deadline{font-weight:600;color:var(--color-text, #333)}.data-table .table-cell-deadline.deadline-soon{color:var(--color-warning, #f39c12) !important;background-color:#fef9e7 !important}.data-table .table-cell-deadline.deadline-today{color:var(--color-danger, #dc3545) !important;background-color:#fdebee !important;animation:svelte-a8t1yn-pulse 2s infinite}.data-table .table-cell-deadline.deadline-expired{color:var(--color-gray-500, #6c757d) !important;background-color:var(--color-gray-100, #f8f9fa) !important;text-decoration:line-through}@keyframes svelte-a8t1yn-pulse{0%{opacity:1}50%{opacity:0.7}100%{opacity:1}}.data-table td:last-child,.data-table th:last-child{text-align:center !important}.data-table .actions-cell{display:flex;justify-content:center;align-items:center;gap:var(--spacing-sm, 0.5rem)}.data-table .sort-indicator{display:none !important}.data-table th.sorted .sort-indicator{display:none !important}.data-table th:not(.sortable) .sort-indicator{display:none !important}.form-help-text.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:block;margin-top:0.25rem;font-size:0.875rem;color:var(--color-text-secondary, #6c757d);font-style:italic}.data-table .clickable-cell{cursor:pointer !important;color:var(--color-primary, #007bff) !important;text-decoration:underline !important;font-weight:500 !important}.data-table .clickable-cell:hover{color:var(--color-primary-dark, #0056b3) !important;text-decoration:underline !important}.admin-only-field.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{border:2px solid var(--color-primary, #007bff);border-radius:8px;padding:var(--spacing-md, 1rem);background-color:#f8f9ff;position:relative;margin-top:var(--spacing-lg, 1.5rem)}.admin-only-field.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn::before{content:"👑 관리자 전용";position:absolute;top:-12px;left:12px;background-color:var(--color-primary, #007bff);color:white;padding:4px 8px;border-radius:4px;font-size:0.75rem;font-weight:600}.admin-only-field.svelte-a8t1yn label.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-primary, #007bff);font-weight:600}.admin-only-field.svelte-a8t1yn .form-help-text.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-primary, #007bff);font-weight:500}.loading-status.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-primary, #007bff) !important;font-style:italic}.data-table .table-cell-admin_notes{background-color:#f8f9ff !important;border-left:3px solid var(--color-primary, #007bff) !important;font-style:italic;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:0.875rem}.data-table .table-cell-admin_notes:hover{background-color:#e6f0ff !important;overflow:visible;white-space:normal;z-index:10;position:relative;box-shadow:0 2px 8px rgba(0, 123, 255, 0.3)}.data-table th:has(.table-header-content:contains("관리자 비고")){background-color:var(--color-primary, #007bff) !important;color:white !important}.data-table th:has(.table-header-content:contains("관리자 비고")) .table-header-content{color:white !important}.grid-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{height:600px;width:100%;margin-top:1rem}.grid-header-controls.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;justify-content:flex-end;align-items:center;margin-bottom:1rem;padding:0.5rem 0;border-bottom:1px solid var(--color-border, #e9ecef)}.grid-info.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-text-secondary, #6c757d);font-size:0.875rem}.ag-theme-alpine{--ag-header-height:45px;--ag-row-height:50px;--ag-font-size:14px;--ag-font-family:inherit;--ag-header-background-color:#f8f9fa;--ag-header-foreground-color:#333;--ag-odd-row-background-color:#ffffff;--ag-even-row-background-color:#f8f9fa;--ag-row-hover-color:#e3f2fd;--ag-selected-row-background-color:#e3f2fd;--ag-border-color:#e9ecef}.ag-theme-alpine .ag-header-cell{font-weight:600;border-right:1px solid var(--ag-border-color)}.ag-theme-alpine .ag-cell{border-right:1px solid var(--ag-border-color);display:flex;align-items:center;padding:0 8px}.ag-theme-alpine .ag-row{border-bottom:1px solid var(--ag-border-color)}.ag-theme-alpine .ag-row:hover{background-color:var(--ag-row-hover-color)}.ag-theme-alpine .action-buttons{display:flex;gap:0.5rem;align-items:center;justify-content:center;width:100%}.ag-theme-alpine .btn-edit{background-color:var(--color-primary, #007bff);color:white;border:none;padding:0.25rem 0.5rem;border-radius:4px;font-size:0.75rem;cursor:pointer;transition:background-color 0.2s ease}.ag-theme-alpine .btn-edit:hover{background-color:#0056b3}.ag-theme-alpine .btn-delete{background-color:var(--color-danger, #dc3545);color:white;border:none;padding:0.25rem 0.5rem;border-radius:4px;font-size:0.75rem;cursor:pointer;transition:background-color 0.2s ease}.ag-theme-alpine .btn-delete:hover{background-color:#c82333}.ag-theme-alpine .ag-selection-checkbox{margin:0 auto}.ag-theme-alpine .ag-checkbox-input-wrapper{width:18px;height:18px}.ag-theme-alpine .ag-paging-panel{border-top:1px solid var(--ag-border-color);padding:1rem;background-color:#f8f9fa;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.ag-theme-alpine .ag-paging-button-wrapper{display:flex;align-items:center;gap:0.5rem;flex:1}.ag-theme-alpine .ag-paging-page-size{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;font-weight:500;color:var(--color-text, #333);background-color:#f8f9fa;padding:0.5rem 1rem;border-radius:6px;border:1px solid #e9ecef;order:999;margin-left:auto}.ag-theme-alpine .ag-paging-page-size select{background-color:white;border:2px solid var(--color-primary, #007bff);border-radius:6px;padding:0.375rem 0.75rem;font-size:0.875rem;font-weight:500;color:var(--color-text, #333);cursor:pointer;transition:all 0.2s ease;min-width:80px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1)}.ag-theme-alpine .ag-paging-page-size select:hover{border-color:var(--color-primary, #007bff);box-shadow:0 2px 6px rgba(0, 123, 255, 0.3);transform:translateY(-1px)}.ag-theme-alpine .ag-paging-page-size select:focus{outline:none;border-color:var(--color-primary, #007bff);box-shadow:0 0 0 0.2rem rgba(0, 123, 255, 0.25)}.ag-theme-alpine .ag-paging-button{background-color:white;border:1px solid var(--ag-border-color);color:var(--color-text, #333);margin:0 2px;padding:0.25rem 0.5rem;border-radius:4px;cursor:pointer;transition:all 0.2s ease}.ag-theme-alpine .ag-paging-button:hover{background-color:var(--color-primary, #007bff);color:white;border-color:var(--color-primary, #007bff)}.ag-theme-alpine .ag-paging-button.ag-disabled{opacity:0.5;cursor:not-allowed}.ag-theme-alpine .ag-filter-wrapper{background-color:white;border:1px solid var(--ag-border-color);border-radius:4px;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.ag-theme-alpine .ag-overlay-loading-wrapper{background-color:rgba(255, 255, 255, 0.9)}.ag-theme-alpine .ag-overlay-loading-center{background-color:white;border:1px solid var(--ag-border-color);border-radius:4px;padding:1rem;box-shadow:0 2px 4px rgba(0, 0, 0, 0.1)}.mobile-project-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:12px;padding:16px;box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);transition:all 0.2s;width:100%}.mobile-project-card:hover{box-shadow:0 4px 6px rgba(0, 0, 0, 0.1);border-color:#d1d5db}.mobile-project-card .card-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.mobile-project-card .checkbox-container{flex-shrink:0;padding-top:2px}.mobile-project-card .mobile-checkbox{width:18px;height:18px;cursor:pointer}.mobile-project-card .project-title{flex:1;font-size:16px;font-weight:600;color:black;cursor:pointer;text-decoration:none;line-height:1.4}.mobile-project-card .project-title:hover{color:black;text-decoration:underline}.mobile-project-card .badges{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.mobile-project-card .project-deleted-tag{background-color:#ef4444;color:#ffffff;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:500;text-align:center}.mobile-project-card .card-body{display:flex;flex-direction:column;gap:8px}.mobile-project-card .card-row{display:flex;align-items:center;font-size:14px;line-height:1.4}.mobile-project-card .card-row strong{color:#374151;font-weight:600;min-width:100px;margin-right:12px}.mobile-project-card .card-row.deadline-expired{color:#ef4444}.mobile-project-card .card-row.deadline-today{color:#f59e0b;font-weight:600}.mobile-project-card .card-row.deadline-soon{color:#f59e0b}.mobile-project-card .card-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #f3f4f6}.mobile-project-card .mobile-action-btn{padding:6px 12px;border:1px solid #d1d5db;background-color:#ffffff;color:#374151;border-radius:4px;font-size:13px;cursor:pointer;transition:all 0.2s;flex:1}.mobile-project-card .mobile-action-btn:hover{background-color:#f3f4f6;border-color:#9ca3af}.mobile-project-card .mobile-action-btn.btn-delete{background-color:#ef4444;color:#ffffff;border-color:#ef4444}.mobile-project-card .mobile-action-btn.btn-delete:hover{background-color:#dc2626;border-color:#dc2626}@media(max-width: 768px){.grid-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{height:auto;min-height:400px}.grid-header-controls.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{flex-direction:column;gap:0.5rem;align-items:stretch}.grid-info.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{text-align:center}.ag-theme-alpine .ag-paging-panel{flex-direction:column;gap:0.75rem;padding:0.75rem}.ag-theme-alpine .ag-paging-page-size{order:1;justify-content:center;margin-left:0;margin-top:0.5rem;padding:0.75rem 1rem;background-color:#e3f2fd;border:2px solid var(--color-primary, #007bff);width:100%;box-sizing:border-box}.ag-theme-alpine .ag-paging-page-size select{min-width:100px;padding:0.5rem 1rem;font-size:1rem;font-weight:600;border:2px solid var(--color-primary, #007bff)}.ag-theme-alpine{--ag-header-height:0px;--ag-row-height:auto;--ag-font-size:13px}.ag-theme-alpine .ag-header{display:none}.ag-theme-alpine .ag-cell{padding:0;border:none;display:block}.ag-theme-alpine .ag-row{border:none;margin-bottom:8px}.ag-theme-alpine .ag-row:hover{background-color:transparent}.ag-theme-alpine .action-buttons{flex-direction:column;gap:0.25rem}.ag-theme-alpine .btn-edit,.ag-theme-alpine .btn-delete{font-size:0.7rem;padding:0.2rem 0.4rem}.mobile-project-card .card-row strong{min-width:90px;font-size:13px;margin-right:10px}.mobile-project-card .card-row{font-size:13px}.mobile-project-card .project-title{font-size:15px}}@media(max-width: 1024px) and (min-width: 769px){.grid-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{height:500px}.grid-header-controls.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{flex-wrap:wrap;gap:0.5rem}}.deleted-row{background-color:#fce8e6 !important;font-style:italic}@media(max-width: 768px){.grid-container.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{height:auto}.grid-info.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{text-align:center;margin-bottom:0.5rem}}.modal-overlay.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0, 0, 0, 0.5);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem}.deadline-modal.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background:white;border-radius:8px;box-shadow:0 10px 25px rgba(0, 0, 0, 0.2);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:svelte-a8t1yn-modalSlideIn 0.3s ease-out}@keyframes svelte-a8t1yn-modalSlideIn{from{transform:translateY(-50px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.5rem 1rem 1.5rem;border-bottom:1px solid var(--color-border, #e9ecef)}.modal-header.svelte-a8t1yn h3.svelte-a8t1yn.svelte-a8t1yn{margin:0;font-size:1.25rem;font-weight:600;color:var(--color-text, #333)}.modal-close-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{background:none;border:none;font-size:1.5rem;color:var(--color-text-secondary, #6c757d);cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.2s ease}.modal-close-btn.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn:hover{background-color:var(--color-gray-100, #f8f9fa);color:var(--color-text, #333)}.modal-body.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:1.5rem}.modal-description.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{margin:0 0 1.5rem 0;color:var(--color-text-secondary, #6c757d);font-size:0.95rem;line-height:1.5}.modal-description.svelte-a8t1yn strong.svelte-a8t1yn.svelte-a8t1yn{color:var(--color-primary, #007bff);font-weight:600}.modal-footer.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:1rem 1.5rem 1.5rem 1.5rem;border-top:1px solid var(--color-border, #e9ecef);display:flex;justify-content:flex-end;gap:0.75rem}.modal-footer.svelte-a8t1yn .btn.svelte-a8t1yn.svelte-a8t1yn{min-width:100px}@media(max-width: 768px){.modal-overlay.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:0.5rem}.deadline-modal.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{max-width:100%;margin:0}.modal-header.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:1rem}.modal-body.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:1rem}.modal-footer.svelte-a8t1yn.svelte-a8t1yn.svelte-a8t1yn{padding:1rem;flex-direction:column-reverse}.modal-footer.svelte-a8t1yn .btn.svelte-a8t1yn.svelte-a8t1yn{width:100%;min-width:auto}.modal-header.svelte-a8t1yn h3.svelte-a8t1yn.svelte-a8t1yn{font-size:1.1rem}}
.project-edit-container.svelte-1sylvli.svelte-1sylvli{display:flex;flex-direction:column;min-height:100vh;background-color:#f9f9f9;font-family:'Noto Sans KR', sans-serif;max-width:1200px;margin:0 auto;padding:0 20px}.project-edit-box.svelte-1sylvli.svelte-1sylvli{background-color:white;border-radius:10px;box-shadow:0 5px 15px rgba(0, 0, 0, 0.1);padding:40px;width:100%;max-width:900px;margin:40px auto}.edit-title.svelte-1sylvli.svelte-1sylvli{text-align:center;margin-bottom:30px}.edit-title.svelte-1sylvli h2.svelte-1sylvli{color:#333;font-size:1.8rem;font-weight:700}.edit-form.svelte-1sylvli.svelte-1sylvli{margin-bottom:30px}.form-help-text.svelte-1sylvli.svelte-1sylvli{display:block;margin-top:0.25rem;font-size:0.875rem;color:#6c757d;font-style:italic}.admin-only-field.svelte-1sylvli.svelte-1sylvli{border:2px solid #007bff;border-radius:8px;padding:1rem;background-color:#f8f9ff;position:relative;margin-top:1.5rem}.admin-only-field.svelte-1sylvli.svelte-1sylvli::before{content:"👑 관리자 전용";position:absolute;top:-12px;left:12px;background-color:#007bff;color:white;padding:4px 8px;border-radius:4px;font-size:0.75rem;font-weight:600}.admin-only-field.svelte-1sylvli label.svelte-1sylvli{color:#007bff;font-weight:600}.admin-only-field.svelte-1sylvli .form-help-text.svelte-1sylvli{color:#007bff;font-weight:500}.edit-form.svelte-1sylvli h2.svelte-1sylvli{font-size:1.5rem;margin-bottom:10px;color:#333}.guidance.svelte-1sylvli.svelte-1sylvli{color:#666;margin-bottom:20px;font-size:0.95rem}.form-group.svelte-1sylvli.svelte-1sylvli{margin-bottom:20px}.form-grid.svelte-1sylvli.svelte-1sylvli{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;margin-bottom:20px}@media(max-width: 768px){.project-edit-container.svelte-1sylvli.svelte-1sylvli{padding:0 10px}.project-edit-box.svelte-1sylvli.svelte-1sylvli{margin:20px auto;padding:20px}.form-grid.svelte-1sylvli.svelte-1sylvli{grid-template-columns:1fr}}label.svelte-1sylvli.svelte-1sylvli{display:block;font-size:0.95rem;color:#555;margin-bottom:8px;font-weight:500}input.svelte-1sylvli.svelte-1sylvli,textarea.svelte-1sylvli.svelte-1sylvli,select.svelte-1sylvli.svelte-1sylvli{width:100%;padding:12px;border:1px solid #ddd;border-radius:5px;font-size:1rem;transition:border-color 0.3s}input.svelte-1sylvli.svelte-1sylvli:focus,textarea.svelte-1sylvli.svelte-1sylvli:focus,select.svelte-1sylvli.svelte-1sylvli:focus{border-color:#3273dc;outline:none}.array-items.svelte-1sylvli.svelte-1sylvli{display:flex;flex-direction:column;gap:10px}.array-item.svelte-1sylvli.svelte-1sylvli{display:flex;align-items:center;gap:10px}.error-message.svelte-1sylvli.svelte-1sylvli{padding:12px;border-radius:5px;margin:15px 0;background-color:#ffeeee;color:#cc0000;font-size:0.95rem}.success-message.svelte-1sylvli.svelte-1sylvli{text-align:center;padding:40px 0}.success-icon.svelte-1sylvli.svelte-1sylvli{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background-color:#3273dc;color:white;font-size:2.5rem;border-radius:50%;margin-bottom:20px}.success-message.svelte-1sylvli h3.svelte-1sylvli{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:15px}
.status-badge.svelte-wsxv2k{display:inline-block;font-weight:500;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:20px;line-height:1.2}.status-badge-sm.svelte-wsxv2k{padding:3px 8px;font-size:0.75rem}.status-badge-md.svelte-wsxv2k{padding:5px 12px;font-size:0.85rem}.status-badge-lg.svelte-wsxv2k{padding:8px 16px;font-size:0.95rem}.status-badge-default.svelte-wsxv2k{background-color:#f1f3f5;color:#495057}.status-badge-primary.svelte-wsxv2k{background-color:#e7f5ff;color:#3273dc}.status-badge-success.svelte-wsxv2k{background-color:#d3f9d8;color:#2b8a3e}.status-badge-warning.svelte-wsxv2k{background-color:#fff9db;color:#f59f00}.status-badge-error.svelte-wsxv2k{background-color:#ffe3e3;color:#e03131}.status-badge-info.svelte-wsxv2k{background-color:#e5dbff;color:#7950f2}.status-badge.applied.svelte-wsxv2k{background-color:#e7f5ff;color:#3273dc}.status-badge.reviewing.svelte-wsxv2k{background-color:#fff9db;color:#f59f00}.status-badge.proceeding.svelte-wsxv2k{background-color:#d3f9d8;color:#40c057}.status-badge.accepted.svelte-wsxv2k{background-color:#b2f2bb;color:#2b8a3e}.status-badge.rejected.svelte-wsxv2k{background-color:#ffe3e3;color:#e03131}.status-badge.project_canceled.svelte-wsxv2k,.status-badge.canceled.svelte-wsxv2k{background-color:#ffe3e3;color:#fa5252}.status-badge.project_delayed.svelte-wsxv2k{background-color:#e5dbff;color:#7950f2}.status-badge.closed.svelte-wsxv2k{background-color:#f1f3f5;color:#868e96}.status-badge.모집중.svelte-wsxv2k{background-color:#e7f5ff;color:#3273dc}.status-badge.마감.svelte-wsxv2k{background-color:#f1f3f5;color:#495057}.status-badge.종료.svelte-wsxv2k{background-color:#fff5f5;color:#fa5252}
.form-modal-body.svelte-86ztp7{display:flex;flex-direction:column;gap:var(--spacing-lg)}.form-modal-actions.svelte-86ztp7{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@media(max-width: 768px){.form-modal-actions.svelte-86ztp7{flex-direction:column-reverse;gap:var(--spacing-xs)}}.form-modal-body .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-modal-body .form-group label{font-weight:var(--font-weight-medium);color:var(--text-color)}.form-modal-body .form-group input,.form-modal-body .form-group textarea,.form-modal-body .form-group select{padding:var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-md);font-size:var(--font-size-base);transition:border-color 0.3s ease}.form-modal-body .form-group input:focus,.form-modal-body .form-group textarea:focus,.form-modal-body .form-group select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(50, 115, 220, 0.25)}.form-modal-body .form-group .help-text{font-size:var(--font-size-sm);color:var(--text-muted)}.form-modal-body .form-group .error-text{font-size:var(--font-size-sm);color:var(--danger-color)}
.confirm-content.svelte-wame87{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--spacing-lg)}.confirm-icon.svelte-wame87{font-size:3rem;color:var(--info-color)}.confirm-icon.danger.svelte-wame87{color:var(--danger-color)}.confirm-message.svelte-wame87{font-size:var(--font-size-base);color:var(--text-color);line-height:var(--line-height-relaxed)}.confirm-actions.svelte-wame87{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}@media(max-width: 768px){.confirm-actions.svelte-wame87{flex-direction:column-reverse;gap:var(--spacing-xs)}}
.admin-applicants-container.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:0 var(--spacing-lg);max-width:1800px;margin:0 auto}.applicants-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-top:1rem}.page-header.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--spacing-md)}.page-title.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:2rem}.admin-content-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-lg)}.admin-left-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background-color:var(--color-white, #fff);border:1px solid var(--color-gray-200, #e9ecef);border-radius:var(--border-radius-lg, 8px);overflow:hidden;display:flex;flex-direction:column}.admin-project-list-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{flex-grow:1;display:flex;flex-direction:column}.admin-project-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-height:calc(100vh - 300px);overflow-y:auto;flex-grow:1}.applicants-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background-color:var(--color-white, #fff);padding:var(--spacing-lg);border:1px solid var(--color-gray-200, #e9ecef);border-radius:var(--border-radius-lg, 8px);max-height:830px;overflow-y:auto}.applicants-header.svelte-1o7s1l9 h3.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:var(--spacing-md)}@media(max-width: 992px){.admin-content-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{grid-template-columns:250px 1fr}}@media(max-width: 767px){.admin-applicants-container.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:0 var(--spacing-sm)}.page-header.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:0 var(--spacing-md);flex-direction:column;align-items:flex-start}.admin-content-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:block}.admin-left-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:var(--spacing-lg)}.admin-project-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-height:35vh}.applicants-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:var(--spacing-md)}}.logo h1{color:#3273dc;font-size:2rem;font-weight:700;text-transform:none;cursor:pointer}.profile-files-modal.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-width:800px;max-height:80vh}.files-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-height:400px;overflow-y:auto}.files-header.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.files-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;flex-direction:column;gap:12px}.file-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;padding:12px;border:1px solid #dee2e6;border-radius:8px;background:#f8f9fa;transition:background-color 0.2s}.file-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#e9ecef}.file-icon.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:24px;margin-right:12px;flex-shrink:0}.file-info.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{flex:1;min-width:0}.file-name.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-weight:600;color:#495057;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-details.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;gap:12px;font-size:12px;color:#6c757d;flex-wrap:wrap}.file-details.svelte-1o7s1l9 span.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:#ffffff;padding:2px 6px;border-radius:4px;border:1px solid #dee2e6}.file-description.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-top:6px;font-size:14px;color:#6c757d;font-style:italic}.file-actions.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{flex-shrink:0;margin-left:12px}.download-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:#28a745;color:white;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s}.download-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#218838}.filter-options.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-md, 16px)}.checkbox-group.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-lg, 24px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:var(--color-gray-50, #f8f9fa);border-radius:var(--border-radius, 8px);border:1px solid var(--color-gray-200, #e9ecef)}.modern-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-xs, 8px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;font-size:14px;color:var(--color-gray-700, #495057);transition:all 0.2s ease}.modern-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{color:var(--color-primary, #007bff)}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{position:relative;width:18px;height:18px;background-color:white;border:2px solid var(--color-gray-300, #ced4da);border-radius:4px;transition:all 0.2s ease;flex-shrink:0}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9{background-color:var(--color-primary, #007bff);border-color:var(--color-primary, #007bff)}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9::after{content:'';position:absolute;left:5px;top:1px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.modern-checkbox.svelte-1o7s1l9:hover .checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px rgba(0, 123, 255, 0.1)}.checkbox-label.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-weight:500;transition:color 0.2s ease}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9+.checkbox-label.svelte-1o7s1l9{color:var(--color-primary, #007bff)}.modal-header.svelte-1o7s1l9 h3.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:white}.mobile-grid{height:auto !important}.mobile-card{padding:12px;border-radius:8px;background:#ffffff;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:3px 0}.mobile-card .card-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px}.mobile-card .name{font-size:15px !important;font-weight:600;margin-bottom:0;flex:1;display:flex;align-items:center;gap:8px}.mobile-card .card-body{margin-top:8px}.mobile-card .card-row{padding:1px 0;font-size:13px;line-height:1.4;display:flex;justify-content:space-between;align-items:center}.applicant-blacklist-tag{background-color:#dc3545;color:white;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;line-height:1.2;flex-shrink:0}.checkbox-container{display:flex;align-items:center;margin-right:8px}.mobile-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.status-row{border-top:1px solid #e9ecef;padding-top:4px !important;margin-top:4px}.mobile-status-select{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;font-size:12px;min-width:100px}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px !important;border-top:1px solid #e9ecef}.actions-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px !important;border-top:1px solid #e9ecef}.profile-docs-btn{border:none;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:15px !important;transition:all 0.2s ease;font-weight:600;min-width:120px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.profile-docs-btn .doc-icon{font-size:18px;display:inline-block}.detail-btn .detail-icon{font-size:18px;display:inline-block}.profile-docs-btn[style*="#4A90E2"]{background:#4A90E2 !important;color:white !important}.profile-docs-btn[style*="#4A90E2"]:hover{background:#357ABD !important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(74, 144, 226, 0.3)}.profile-docs-btn[style*="#6c757d"]{background:#6c757d !important;color:white !important}.profile-docs-btn[style*="#6c757d"]:hover{background:#5a6268 !important;transform:translateY(-1px);box-shadow:0 2px 4px rgba(108, 117, 125, 0.3)}.detail-btn{background:#28a745;color:white;border:none;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:15px !important;transition:all 0.2s ease;font-weight:600;min-width:120px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.detail-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px rgba(40, 167, 69, 0.3)}.checkbox-cell{display:flex !important;align-items:center;justify-content:center;padding:0 !important}.ag-selection-checkbox{margin:0 !important}.ag-header-select-all{margin:0 !important}@media(max-width: 992px){.admin-content-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{grid-template-columns:250px 1fr}}.logo h1{color:#3273dc;font-size:2rem;font-weight:700;text-transform:none;cursor:pointer}.profile-docs-btn{padding:4px 8px;font-size:12px}.ag-cell .profile-docs-btn{width:100% !important;height:100% !important;min-width:unset !important;min-height:35px !important;margin:2px !important;box-sizing:border-box !important}.ag-cell .detail-btn{width:100% !important;height:100% !important;min-width:unset !important;min-height:35px !important;margin:2px !important;box-sizing:border-box !important;font-size:15px !important}.detail-btn.small{font-size:15px !important}button.detail-btn{font-size:15px !important}.profile-files-modal.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-width:800px;max-height:80vh}.files-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-height:400px;overflow-y:auto}.files-header.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.files-grid.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;flex-direction:column;gap:12px}.file-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;padding:12px;border:1px solid #dee2e6;border-radius:8px;background:#f8f9fa;transition:background-color 0.2s}.file-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#e9ecef}.file-icon.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:24px;margin-right:12px;flex-shrink:0}.file-info.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{flex:1;min-width:0}.file-name.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-weight:600;color:#495057;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-details.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;gap:12px;font-size:12px;color:#6c757d;flex-wrap:wrap}.file-details.svelte-1o7s1l9 span.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:#ffffff;padding:2px 6px;border-radius:4px;border:1px solid #dee2e6}.file-description.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-top:6px;font-size:14px;color:#6c757d;font-style:italic}.file-actions.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{flex-shrink:0;margin-left:12px}.download-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:#28a745;color:white;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s}.download-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#218838}.filter-options.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-md, 16px)}.checkbox-group.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-lg, 24px);padding:var(--spacing-sm, 8px) var(--spacing-md, 16px);background:var(--color-gray-50, #f8f9fa);border-radius:var(--border-radius, 8px);border:1px solid var(--color-gray-200, #e9ecef)}.modern-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;gap:var(--spacing-xs, 8px);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;font-size:14px;color:var(--color-gray-700, #495057);transition:all 0.2s ease}.modern-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{color:var(--color-primary, #007bff)}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{position:relative;width:18px;height:18px;background-color:white;border:2px solid var(--color-gray-300, #ced4da);border-radius:4px;transition:all 0.2s ease;flex-shrink:0}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9{background-color:var(--color-primary, #007bff);border-color:var(--color-primary, #007bff)}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9::after{content:'';position:absolute;left:5px;top:1px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.modern-checkbox.svelte-1o7s1l9:hover .checkbox-custom.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{border-color:var(--color-primary, #007bff);box-shadow:0 0 0 3px rgba(0, 123, 255, 0.1)}.checkbox-label.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-weight:500;transition:color 0.2s ease}.modern-checkbox.svelte-1o7s1l9 input[type="checkbox"].svelte-1o7s1l9:checked+.checkbox-custom.svelte-1o7s1l9+.checkbox-label.svelte-1o7s1l9{color:var(--color-primary, #007bff)}.modal-header.svelte-1o7s1l9 h3.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:white}.mobile-grid{height:auto !important}.mobile-card{padding:12px;border-radius:8px;background:#ffffff;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:3px 0}.mobile-card .card-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px}.mobile-card .name{font-size:15px !important;font-weight:600;margin-bottom:0;flex:1;display:flex;align-items:center;gap:8px}.mobile-card .card-body{margin-top:8px}.mobile-card .card-row{padding:1px 0;font-size:13px;line-height:1.4;display:flex;justify-content:space-between;align-items:center}.applicant-blacklist-tag{background-color:#dc3545;color:white;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;line-height:1.2;flex-shrink:0}.checkbox-container{display:flex;align-items:center;margin-right:8px}.mobile-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.status-row{border-top:1px solid #e9ecef;padding-top:4px !important;margin-top:4px}.mobile-status-select{background:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;padding:4px 8px;font-size:12px;min-width:100px}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px !important;border-top:1px solid #e9ecef}.actions-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px !important;border-top:1px solid #e9ecef}.profile-docs-btn{border:none;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:15px !important;transition:all 0.2s ease;font-weight:600;min-width:120px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.profile-docs-btn .doc-icon{font-size:18px;display:inline-block}.detail-btn .detail-icon{font-size:18px;display:inline-block}.profile-docs-btn[style*="#4A90E2"]{background:#4A90E2 !important;color:white !important}.profile-docs-btn[style*="#4A90E2"]:hover{background:#357ABD !important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(74, 144, 226, 0.3)}.profile-docs-btn[style*="#6c757d"]{background:#6c757d !important;color:white !important}.profile-docs-btn[style*="#6c757d"]:hover{background:#5a6268 !important;transform:translateY(-1px);box-shadow:0 2px 4px rgba(108, 117, 125, 0.3)}.detail-btn{background:#28a745;color:white;border:none;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:15px !important;transition:all 0.2s ease;font-weight:600;min-width:120px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.detail-btn:hover{background:#218838;transform:translateY(-1px);box-shadow:0 4px 8px rgba(40, 167, 69, 0.3)}.checkbox-cell{display:flex !important;align-items:center;justify-content:center;padding:0 !important}.ag-selection-checkbox{margin:0 !important}.ag-header-select-all{margin:0 !important}.project-title-link.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:#3273dc;text-decoration:underline;background:none;border:none;cursor:pointer;font-size:inherit;padding:0}.skills-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;flex-wrap:wrap;gap:var(--spacing-sm, 8px)}.skill-tag.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background-color:var(--color-primary, #007bff);color:var(--color-white, #fff);padding:var(--spacing-xs, 4px) var(--spacing-sm, 8px);border-radius:var(--border-radius, 4px);font-size:0.875rem;font-weight:500}.requirements-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.preferred-list.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px)}.requirement-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.preferred-item.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:0.95rem;color:var(--color-gray-800, #374151);line-height:1.5}.description-content.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.contact-content.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{line-height:1.6}.description-content.svelte-1o7s1l9 p.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.contact-content.svelte-1o7s1l9 p.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin:0;white-space:pre-wrap;word-break:break-word}.no-data.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-gray-500, #6b7280);font-style:italic}.status-active.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-success, #10b981);font-weight:600}.status-deleted.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-danger, #ef4444);font-weight:600}.status-open.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-warning, #f59e0b);font-weight:600}.status-closed.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-info, #3b82f6);font-weight:600}.admin-notes-section.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{border:2px solid var(--color-primary, #007bff);border-radius:8px;background-color:#f8f9ff;margin-bottom:100px}.admin-notes-title.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:var(--color-primary, #007bff) !important;border-bottom-color:var(--color-primary, #007bff) !important}.admin-notes-content.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background-color:#f0f4ff !important;border-color:var(--color-primary, #007bff) !important}.admin-notes-text.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-style:italic;color:var(--color-primary, #007bff)}.status-filter-select.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:6px 12px;font-size:14px;border:1px solid #ddd;border-radius:4px;background-color:white;cursor:pointer;min-width:120px;margin-right:10px}.bulk-actions.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.bulk-update-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.bulk-status-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:var(--primary-color, #3273dc);color:white;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.bulk-update-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover,.bulk-status-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#2366d1}.bulk-unread-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background:#6c757d;color:white;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px}.bulk-unread-btn.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background:#5a6268}.read-status-container.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex !important;align-items:center !important;justify-content:center !important}.read-status-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin:0 !important;cursor:default !important;transform:scale(1.2) !important}.read-status-mobile.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:flex;align-items:center;margin-left:8px;gap:4px}.read-status-checkbox-mobile.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin:0;cursor:default;transform:scale(1.1)}.read-status-label.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:10px;font-weight:600;color:#495057}.read-status-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:checked{accent-color:#28a745}.read-status-checkbox.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:not(:checked){accent-color:#6c757d}.read-status-checkbox-mobile.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:checked{accent-color:#28a745}.read-status-checkbox-mobile.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:not(:checked){accent-color:#6c757d}.ag-theme-alpine .ag-cell .read-status-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.actions-row .read-status-mobile{flex-shrink:0;display:flex;align-items:center;padding:2px 6px;border-radius:4px;background-color:rgba(0,0,0,0.05);font-size:11px;font-weight:600}.admin-filter-container.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin:10px 0;display:flex;align-items:center;gap:8px}.admin-filter-container.svelte-1o7s1l9 label.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{font-size:14px;font-weight:600;color:#333;min-width:40px}.admin-status-filter.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{padding:6px 12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;font-size:14px;color:#333;cursor:pointer;min-width:120px}.admin-status-filter.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 2px rgba(74, 144, 226, 0.2)}.admin-status-filter.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{border-color:#4a90e2}.modal-btn.interview.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{background-color:#8b5cf6;color:white;border:none;padding:8px 16px;border-radius:6px;font-size:0.85rem;font-weight:600;cursor:pointer;transition:background-color 0.2s}.modal-btn.interview.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:hover{background-color:#7c3aed}.interview-modal.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{max-width:560px}.interview-form-group.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{margin-bottom:14px}.interview-form-group.svelte-1o7s1l9 label.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{display:block;margin-bottom:5px;font-weight:600;font-size:0.85rem;color:#374151}.interview-form-group.svelte-1o7s1l9 input.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.interview-form-group.svelte-1o7s1l9 select.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9,.interview-form-group.svelte-1o7s1l9 textarea.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{width:100%;padding:9px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:0.9rem;outline:none;transition:border-color 0.2s;box-sizing:border-box}.interview-form-group.svelte-1o7s1l9 input.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:focus,.interview-form-group.svelte-1o7s1l9 select.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:focus,.interview-form-group.svelte-1o7s1l9 textarea.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9:focus{border-color:#8b5cf6;box-shadow:0 0 0 2px rgba(139, 92, 246, 0.1)}.interview-form-group.svelte-1o7s1l9 textarea.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{resize:vertical}.iv-required.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9.svelte-1o7s1l9{color:#ef4444}
/* Main CSS File - Import all styles */

/* 1. Base styles - foundational styles that need to load first */

/* CSS Reset */

*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
    padding: 0;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
}

body {
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
}

img,
picture,
video,
canvas,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

#root,
#__next {
    isolation: isolate;
}

/* CSS Variables */

:root {
    /* Primary Colors */
    --primary-color: #3273dc;
    --primary-hover: #2860b5;
    --primary-light: #f0f5ff;
    
    /* Status Colors */
    --success-color: #28a745;
    --warning-color: #ffc107;
    --danger-color: #dc3545;
    --info-color: #17a2b8;
    
    /* Neutral Colors */
    --text-color: #333;
    --text-muted: #666;
    --text-light: #999;
    --border-color: #e9ecef;
    --background-color: #f9f9f9;
    --white: #ffffff;
    
    /* Legacy color variables for backward compatibility */
    --color-primary: var(--primary-color);
    --color-primary-dark: var(--primary-hover);
    --color-primary-light: var(--primary-light);
    --color-secondary: #6c757d;
    --color-success: var(--success-color);
    --color-danger: var(--danger-color);
    --color-warning: var(--warning-color);
    --color-info: var(--info-color);
    --color-light: #f8f9fa;
    --color-dark: #343a40;
    --color-white: var(--white);
    --color-black: #000000;
    
    --color-gray-100: #f8f9fa;
    --color-gray-200: #e9ecef;
    --color-gray-300: #dee2e6;
    --color-gray-400: #ced4da;
    --color-gray-500: #adb5bd;
    --color-gray-600: var(--text-muted);
    --color-gray-700: #495057;
    --color-gray-800: #343a40;
    --color-gray-900: var(--text-color);
    
    /* Typography */
    --font-family: 'Noto Sans KR', 'Apple SD Gothic Neo', sans-serif;
    --font-mono: 'Monaco', 'Menlo', monospace;
    
    /* Font Sizes */
    --font-size-xs: 0.75rem;     /* 12px */
    --font-size-sm: 0.875rem;    /* 14px */
    --font-size-base: 1rem;      /* 16px */
    --font-size-lg: 1.125rem;    /* 18px */
    --font-size-xl: 1.25rem;     /* 20px */
    --font-size-2xl: 1.5rem;     /* 24px */
    --font-size-3xl: 1.875rem;   /* 30px */
    
    /* Font Weights */
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    
    /* Legacy font variables for backward compatibility */
    --font-family-primary: var(--font-family);
    --font-family-monospace: var(--font-mono);
    --font-weight-normal: var(--font-weight-regular);
    --font-size-4xl: 2.25rem;
    
    --line-height-tight: 1.25;
    --line-height-normal: 1.5;
    --line-height-relaxed: 1.75;
    
    /* Spacing */
    --spacing-xs: 0.25rem;   /* 4px */
    --spacing-sm: 0.5rem;    /* 8px */
    --spacing-md: 1rem;      /* 16px */
    --spacing-lg: 1.5rem;    /* 24px */
    --spacing-xl: 2rem;      /* 32px */
    --spacing-2xl: 3rem;     /* 48px */
    --spacing-3xl: 4rem;     /* 64px */
    
    /* Legacy spacing variables for backward compatibility */
    --spacing-1: var(--spacing-xs);
    --spacing-2: var(--spacing-sm);
    --spacing-3: 0.75rem;
    --spacing-4: var(--spacing-md);
    --spacing-5: 1.25rem;
    --spacing-6: var(--spacing-lg);
    --spacing-8: var(--spacing-xl);
    --spacing-10: 2.5rem;
    --spacing-12: var(--spacing-2xl);
    --spacing-16: var(--spacing-3xl);
    --spacing-20: 5rem;
    --spacing-24: 6rem;
    
    /* Border Radius */
    --border-radius-sm: 0.125rem;
    --border-radius: 0.25rem;
    --border-radius-md: 0.375rem;
    --border-radius-lg: 0.5rem;
    --border-radius-xl: 0.75rem;
    --border-radius-2xl: 1rem;
    --border-radius-full: 9999px;
    
    /* Shadows */
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    
    /* Transitions */
    --transition-all: all 0.3s ease;
    --transition-colors: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
    --transition-transform: transform 0.15s ease-in-out;
    
    /* Z-index */
    --z-dropdown: 1000;
    --z-sticky: 1020;
    --z-fixed: 1030;
    --z-modal-backdrop: 1040;
    --z-modal: 1050;
    --z-popover: 1060;
    --z-tooltip: 1070;
    
    /* ========================================
       Breakpoints (브레이크포인트)
       ======================================== */
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    --breakpoint-xxl: 1400px;
    
    /* Container max-widths */
    --container-sm: 540px;
    --container-md: 720px;
    --container-lg: 960px;
    --container-xl: 1140px;
    --container-xxl: 1320px;
}

/* 8. 유틸리티 스타일 - 타이포그래피 (Typography) */

/* ========================================
   기본 타이포그래피 설정
   ======================================== */

body {
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-normal);
    color: var(--text-color);
}

/* ========================================
   제목 태그 스타일
   ======================================== */

h1, h2, h3, h4, h5, h6 {
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    margin-bottom: var(--spacing-md);
    color: var(--text-color);
}

h1 {
    font-size: var(--font-size-4xl);
}

h2 {
    font-size: var(--font-size-3xl);
}

h3 {
    font-size: var(--font-size-2xl);
}

h4 {
    font-size: var(--font-size-xl);
}

h5 {
    font-size: var(--font-size-lg);
}

h6 {
    font-size: var(--font-size-base);
}

/* ========================================
   본문 및 링크 스타일
   ======================================== */

p {
    margin-bottom: var(--spacing-md);
    color: var(--text-muted);
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: var(--transition-colors);
}

a:hover {
    color: var(--primary-hover);
    text-decoration: underline;
}

/* ========================================
   폰트 크기 유틸리티
   ======================================== */

.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-5xl { font-size: 3rem !important; }

.text-6xl { font-size: 3.75rem !important; }

.text-7xl { font-size: 4.5rem !important; }

.text-8xl { font-size: 6rem !important; }

.text-9xl { font-size: 8rem !important; }

/* ========================================
   폰트 굵기 유틸리티
   ======================================== */

.font-thin { font-weight: 100 !important; }

.font-extralight { font-weight: 200 !important; }

.font-light { font-weight: var(--font-weight-light) !important; }

.font-normal { font-weight: var(--font-weight-regular) !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; }

.font-extrabold { font-weight: 800 !important; }

.font-black { font-weight: 900 !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-start { text-align: start !important; }

.text-end { text-align: end !important; }

/* ========================================
   텍스트 장식 유틸리티
   ======================================== */

.underline { text-decoration: underline !important; }

.line-through { text-decoration: line-through !important; }

.no-underline { text-decoration: none !important; }

.overline { text-decoration: overline !important; }

/* ========================================
   텍스트 변환 유틸리티
   ======================================== */

.uppercase { text-transform: uppercase !important; }

.lowercase { text-transform: lowercase !important; }

.capitalize { text-transform: capitalize !important; }

.normal-case { text-transform: none !important; }

/* ========================================
   폰트 스타일 유틸리티
   ======================================== */

.italic { font-style: italic !important; }

.not-italic { font-style: normal !important; }

/* ========================================
   라인 높이 유틸리티
   ======================================== */

.leading-none { line-height: 1 !important; }

.leading-tight { line-height: var(--line-height-tight) !important; }

.leading-snug { line-height: 1.375 !important; }

.leading-normal { line-height: var(--line-height-normal) !important; }

.leading-relaxed { line-height: var(--line-height-relaxed) !important; }

.leading-loose { line-height: 2 !important; }

/* 숫자 라인 높이 */

.leading-3 { line-height: 0.75rem !important; }

.leading-4 { line-height: 1rem !important; }

.leading-5 { line-height: 1.25rem !important; }

.leading-6 { line-height: 1.5rem !important; }

.leading-7 { line-height: 1.75rem !important; }

.leading-8 { line-height: 2rem !important; }

.leading-9 { line-height: 2.25rem !important; }

.leading-10 { line-height: 2.5rem !important; }

/* ========================================
   글자 간격 유틸리티
   ======================================== */

.tracking-tighter { letter-spacing: -0.05em !important; }

.tracking-tight { letter-spacing: -0.025em !important; }

.tracking-normal { letter-spacing: 0em !important; }

.tracking-wide { letter-spacing: 0.025em !important; }

.tracking-wider { letter-spacing: 0.05em !important; }

.tracking-widest { letter-spacing: 0.1em !important; }

/* ========================================
   단어 간격 유틸리티
   ======================================== */

.word-spacing-normal { word-spacing: normal !important; }

.word-spacing-wide { word-spacing: 0.25em !important; }

.word-spacing-wider { word-spacing: 0.5em !important; }

.word-spacing-widest { word-spacing: 1em !important; }

/* ========================================
   텍스트 들여쓰기 유틸리티
   ======================================== */

.indent-0 { text-indent: 0 !important; }

.indent-1 { text-indent: var(--spacing-xs) !important; }

.indent-2 { text-indent: var(--spacing-sm) !important; }

.indent-3 { text-indent: var(--spacing-md) !important; }

.indent-4 { text-indent: var(--spacing-lg) !important; }

.indent-5 { text-indent: var(--spacing-xl) !important; }

/* ========================================
   텍스트 오버플로우 유틸리티
   ======================================== */

.truncate {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.text-ellipsis { text-overflow: ellipsis !important; }

.text-clip { text-overflow: clip !important; }

/* ========================================
   공백 처리 유틸리티
   ======================================== */

.whitespace-normal { white-space: normal !important; }

.whitespace-nowrap { white-space: nowrap !important; }

.whitespace-pre { white-space: pre !important; }

.whitespace-pre-line { white-space: pre-line !important; }

.whitespace-pre-wrap { white-space: pre-wrap !important; }

.whitespace-break-spaces { white-space: break-spaces !important; }

/* ========================================
   단어 분리 유틸리티
   ======================================== */

.break-normal {
    overflow-wrap: normal !important;
    word-break: normal !important;
}

.break-words { overflow-wrap: break-word !important; }

.break-all { word-break: break-all !important; }

.break-keep { word-break: keep-all !important; }

/* ========================================
   하이픈 유틸리티
   ======================================== */

.hyphens-none { -webkit-hyphens: none !important; hyphens: none !important; }

.hyphens-manual { -webkit-hyphens: manual !important; hyphens: manual !important; }

.hyphens-auto { -webkit-hyphens: auto !important; hyphens: auto !important; }

/* ========================================
   텍스트 색상 유틸리티 (중복 방지를 위해 간소화)
   ======================================== */

.text-primary { color: var(--primary-color) !important; }

.text-secondary { color: var(--color-secondary) !important; }

.text-success { color: var(--success-color) !important; }

.text-danger { color: var(--danger-color) !important; }

.text-warning { color: var(--warning-color) !important; }

.text-info { color: var(--info-color) !important; }

.text-light { color: var(--color-light) !important; }

.text-dark { color: var(--color-dark) !important; }

.text-muted { color: var(--text-muted) !important; }

.text-body { color: var(--text-color) !important; }

/* ========================================
   수직 정렬 유틸리티
   ======================================== */

.align-baseline { vertical-align: baseline !important; }

.align-top { vertical-align: top !important; }

.align-middle { vertical-align: middle !important; }

.align-bottom { vertical-align: bottom !important; }

.align-text-top { vertical-align: text-top !important; }

.align-text-bottom { vertical-align: text-bottom !important; }

.align-sub { vertical-align: sub !important; }

.align-super { vertical-align: super !important; }

/* ========================================
   리스트 스타일 유틸리티
   ======================================== */

.list-none { list-style-type: none !important; }

.list-disc { list-style-type: disc !important; }

.list-decimal { list-style-type: decimal !important; }

.list-square { list-style-type: square !important; }

.list-circle { list-style-type: circle !important; }

.list-roman { list-style-type: upper-roman !important; }

.list-alpha { list-style-type: upper-alpha !important; }

.list-inside { list-style-position: inside !important; }

.list-outside { list-style-position: outside !important; }

/* ========================================
   반응형 타이포그래피
   ======================================== */

@media (max-width: 768px) {
    .mobile\:text-xs { font-size: var(--font-size-xs) !important; }
    .mobile\:text-sm { font-size: var(--font-size-sm) !important; }
    .mobile\:text-base { font-size: var(--font-size-base) !important; }
    .mobile\:text-lg { font-size: var(--font-size-lg) !important; }
    .mobile\:text-xl { font-size: var(--font-size-xl) !important; }
    .mobile\:text-2xl { font-size: var(--font-size-2xl) !important; }
    
    .mobile\:text-center { text-align: center !important; }
    .mobile\:text-left { text-align: left !important; }
    .mobile\:text-right { text-align: right !important; }
    
    .mobile\:leading-tight { line-height: var(--line-height-tight) !important; }
    .mobile\:leading-normal { line-height: var(--line-height-normal) !important; }
}

@media (min-width: 769px) and (max-width: 1024px) {
    .tablet\:text-xs { font-size: var(--font-size-xs) !important; }
    .tablet\:text-sm { font-size: var(--font-size-sm) !important; }
    .tablet\:text-base { font-size: var(--font-size-base) !important; }
    .tablet\:text-lg { font-size: var(--font-size-lg) !important; }
    .tablet\:text-xl { font-size: var(--font-size-xl) !important; }
    .tablet\:text-2xl { font-size: var(--font-size-2xl) !important; }
}

@media (min-width: 1025px) {
    .desktop\:text-xs { font-size: var(--font-size-xs) !important; }
    .desktop\:text-sm { font-size: var(--font-size-sm) !important; }
    .desktop\:text-base { font-size: var(--font-size-base) !important; }
    .desktop\:text-lg { font-size: var(--font-size-lg) !important; }
    .desktop\:text-xl { font-size: var(--font-size-xl) !important; }
    .desktop\:text-2xl { font-size: var(--font-size-2xl) !important; }
    .desktop\:text-3xl { font-size: var(--font-size-3xl) !important; }
    .desktop\:text-4xl { font-size: var(--font-size-4xl) !important; }
}

/* ========================================
   인쇄 모드 타이포그래피
   ======================================== */

@media print {
    .print\:text-xs { font-size: var(--font-size-xs) !important; }
    .print\:text-sm { font-size: var(--font-size-sm) !important; }
    .print\:text-base { font-size: var(--font-size-base) !important; }
    .print\:text-black { color: black !important; }
    .print\:no-underline { text-decoration: none !important; }
}

/* ========================================
   접근성 개선
   ======================================== */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.not-sr-only {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: normal !important;
}

/* Layout */

.container {
    width: 100%;
    max-width: 1800px; /* 기존 1200px → 1800px로 확대 */
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.container-fluid {
    width: 100%;
    padding: 0 var(--spacing-lg);
}

.container-sm {
    width: 100%;
    max-width: 768px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.container-md {
    width: 100%;
    max-width: 992px;
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.container-lg {
    width: 100%;
    max-width: 1800px; /* 기존 1200px → 1800px로 확대 */
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

.container-xl {
    width: 100%;
    max-width: 2000px; /* 기존 1400px → 2000px로 확대 */
    margin: 0 auto;
    padding: 0 var(--spacing-lg);
}

/* Flexbox utilities */

.d-flex { display: flex; }

.d-inline-flex { display: inline-flex; }

.d-none { display: none; }

.d-block { display: block; }

.d-inline { display: inline; }

.d-inline-block { display: inline-block; }

.flex-row { flex-direction: row; }

.flex-column { flex-direction: column; }

.flex-row-reverse { flex-direction: row-reverse; }

.flex-column-reverse { flex-direction: column-reverse; }

.flex-wrap { flex-wrap: wrap; }

.flex-nowrap { flex-wrap: nowrap; }

.flex-wrap-reverse { flex-wrap: wrap-reverse; }

.justify-content-start { justify-content: flex-start; }

.justify-content-end { justify-content: flex-end; }

.justify-content-center { justify-content: center; }

.justify-content-between { justify-content: space-between; }

.justify-content-around { justify-content: space-around; }

.justify-content-evenly { justify-content: space-evenly; }

.align-items-start { align-items: flex-start; }

.align-items-end { align-items: flex-end; }

.align-items-center { align-items: center; }

.align-items-baseline { align-items: baseline; }

.align-items-stretch { align-items: stretch; }

.flex-fill { flex: 1 1 auto; }

.flex-grow-0 { flex-grow: 0; }

.flex-grow-1 { flex-grow: 1; }

.flex-shrink-0 { flex-shrink: 0; }

.flex-shrink-1 { flex-shrink: 1; }

/* Grid utilities */

.d-grid { display: grid; }

.grid-gap-1 { gap: var(--spacing-1); }

.grid-gap-2 { gap: var(--spacing-2); }

.grid-gap-3 { gap: var(--spacing-3); }

.grid-gap-4 { gap: var(--spacing-4); }

.grid-gap-5 { gap: var(--spacing-5); }

.grid-gap-6 { gap: var(--spacing-6); }

/* Position utilities */

.position-static { position: static; }

.position-relative { position: relative; }

.position-absolute { position: absolute; }

.position-fixed { position: fixed; }

.position-sticky { position: sticky; }

/* Width and Height utilities */

.w-25 { width: 25%; }

.w-50 { width: 50%; }

.w-75 { width: 75%; }

.w-100 { width: 100%; }

.w-auto { width: auto; }

.h-25 { height: 25%; }

.h-50 { height: 50%; }

.h-75 { height: 75%; }

.h-100 { height: 100%; }

.h-auto { height: auto; }

.min-h-100 { min-height: 100%; }

.min-h-100vh { min-height: 100vh; }

.min-h-screen { min-height: 100vh; }

/* Overflow utilities */

.overflow-auto { overflow: auto; }

.overflow-hidden { overflow: hidden; }

.overflow-visible { overflow: visible; }

.overflow-scroll { overflow: scroll; }

.overflow-x-auto { overflow-x: auto; }

.overflow-y-auto { overflow-y: auto; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-y-hidden { overflow-y: hidden; }

/* Text utilities */

.text-left { text-align: left; }

.text-center { text-align: center; }

.text-right { text-align: right; }

.text-justify { text-align: justify; }

/* Responsive utilities */

@media (max-width: 767px) {
    .d-none-mobile { display: none; }
    .d-block-mobile { display: block; }
    .d-flex-mobile { display: flex; }
    
    .text-center-mobile { text-align: center; }
    .flex-column-mobile { flex-direction: column; }
    
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
        padding: 0 var(--spacing-md);
    }
    
    .row {
        margin: 0 calc(var(--spacing-sm) * -0.5);
    }
    
    .row > * {
        padding: 0 calc(var(--spacing-sm) * 0.5);
    }
}

@media (min-width: 768px) {
    .d-none-desktop { display: none; }
    .d-block-desktop { display: block; }
    .d-flex-desktop { display: flex; }
}

/* ========================================
   그리드 시스템
   ======================================== */

.row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 calc(var(--spacing-md) * -0.5);
}

.row > * {
    padding: 0 calc(var(--spacing-md) * 0.5);
}

.col {
    flex: 1;
    min-width: 0;
}

.col-auto {
    flex: 0 0 auto;
    width: auto;
}

/* 12칼럼 그리드 시스템 */

.col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }

.col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }

.col-3 { flex: 0 0 25%; max-width: 25%; }

.col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }

.col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }

.col-6 { flex: 0 0 50%; max-width: 50%; }

.col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }

.col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }

.col-9 { flex: 0 0 75%; max-width: 75%; }

.col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }

.col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }

.col-12 { flex: 0 0 100%; max-width: 100%; }

/* 반응형 그리드 */

@media (min-width: 576px) {
    .col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-sm-3 { flex: 0 0 25%; max-width: 25%; }
    .col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-sm-9 { flex: 0 0 75%; max-width: 75%; }
    .col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 768px) {
    .col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-md-3 { flex: 0 0 25%; max-width: 25%; }
    .col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-md-9 { flex: 0 0 75%; max-width: 75%; }
    .col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-md-12 { flex: 0 0 100%; max-width: 100%; }
}

@media (min-width: 992px) {
    .col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .col-lg-9 { flex: 0 0 75%; max-width: 75%; }
    .col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .col-lg-12 { flex: 0 0 100%; max-width: 100%; }
}

/* ========================================
   페이지 레이아웃 구조
   ======================================== */

.page-layout {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.page-header {
    flex-shrink: 0;
}

.page-main {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.page-content {
    flex: 1;
    padding: var(--spacing-lg) 0;
}

.page-footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* ========================================
   사이드바 레이아웃
   ======================================== */

.sidebar-layout {
    display: flex;
    min-height: 100vh;
}

.sidebar {
    flex-shrink: 0;
    width: 250px;
    background-color: var(--color-gray-50);
    border-right: 1px solid var(--border-color);
    overflow-y: auto;
}

.sidebar-content {
    flex: 1;
    overflow-x: auto;
}

.sidebar-collapse .sidebar {
    width: 70px;
}

/* ========================================
   중앙 정렬 레이아웃
   ======================================== */

.centered-layout {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--color-gray-50);
}

.centered-box {
    background-color: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    padding: var(--spacing-xl);
    width: 100%;
    max-width: 500px;
}

/* ========================================
   Flexbox 유틸리티
   ======================================== */

.d-flex { display: flex; }

.d-inline-flex { display: inline-flex; }

.d-none { display: none; }

.d-block { display: block; }

.d-inline { display: inline; }

.d-inline-block { display: inline-block; }

.flex-row { flex-direction: row; }

.flex-column { flex-direction: column; }

.flex-row-reverse { flex-direction: row-reverse; }

.flex-column-reverse { flex-direction: column-reverse; }

.flex-wrap { flex-wrap: wrap; }

.flex-nowrap { flex-wrap: nowrap; }

.flex-wrap-reverse { flex-wrap: wrap-reverse; }

.justify-content-start { justify-content: flex-start; }

.justify-content-end { justify-content: flex-end; }

.justify-content-center { justify-content: center; }

.justify-content-between { justify-content: space-between; }

.justify-content-around { justify-content: space-around; }

.justify-content-evenly { justify-content: space-evenly; }

.align-items-start { align-items: flex-start; }

.align-items-end { align-items: flex-end; }

.align-items-center { align-items: center; }

.align-items-baseline { align-items: baseline; }

.align-items-stretch { align-items: stretch; }

.align-self-start { align-self: flex-start; }

.align-self-end { align-self: flex-end; }

.align-self-center { align-self: center; }

.align-self-baseline { align-self: baseline; }

.align-self-stretch { align-self: stretch; }

.flex-fill { flex: 1 1 auto; }

.flex-grow-0 { flex-grow: 0; }

.flex-grow-1 { flex-grow: 1; }

.flex-shrink-0 { flex-shrink: 0; }

.flex-shrink-1 { flex-shrink: 1; }

/* ========================================
   Grid 유틸리티
   ======================================== */

.d-grid { display: grid; }

.grid-gap-xs { gap: var(--spacing-xs); }

.grid-gap-sm { gap: var(--spacing-sm); }

.grid-gap-md { gap: var(--spacing-md); }

.grid-gap-lg { gap: var(--spacing-lg); }

.grid-gap-xl { gap: var(--spacing-xl); }

.grid-cols-1 { grid-template-columns: repeat(1, 1fr); }

.grid-cols-2 { grid-template-columns: repeat(2, 1fr); }

.grid-cols-3 { grid-template-columns: repeat(3, 1fr); }

.grid-cols-4 { grid-template-columns: repeat(4, 1fr); }

.grid-cols-5 { grid-template-columns: repeat(5, 1fr); }

.grid-cols-6 { grid-template-columns: repeat(6, 1fr); }

/* ========================================
   위치 유틸리티
   ======================================== */

.position-static { position: static; }

.position-relative { position: relative; }

.position-absolute { position: absolute; }

.position-fixed { position: fixed; }

.position-sticky { position: sticky; }

.top-0 { top: 0; }

.bottom-0 { bottom: 0; }

.left-0 { left: 0; }

.right-0 { right: 0; }

.z-index-0 { z-index: 0; }

.z-index-1 { z-index: 1; }

.z-index-10 { z-index: 10; }

.z-index-100 { z-index: 100; }

.z-index-1000 { z-index: 1000; }

/* ========================================
   크기 유틸리티
   ======================================== */

.w-25 { width: 25%; }

.w-50 { width: 50%; }

.w-75 { width: 75%; }

.w-100 { width: 100%; }

.w-auto { width: auto; }

.h-25 { height: 25%; }

.h-50 { height: 50%; }

.h-75 { height: 75%; }

.h-100 { height: 100%; }

.h-auto { height: auto; }

.min-h-100 { min-height: 100%; }

.min-h-100vh { min-height: 100vh; }

.min-h-screen { min-height: 100vh; }

.max-w-xs { max-width: 20rem; }

.max-w-sm { max-width: 24rem; }

.max-w-md { max-width: 28rem; }

.max-w-lg { max-width: 32rem; }

.max-w-xl { max-width: 36rem; }

.max-w-2xl { max-width: 42rem; }

.max-w-3xl { max-width: 48rem; }

.max-w-4xl { max-width: 56rem; }

.max-w-full { max-width: 100%; }

/* ========================================
   오버플로우 유틸리티
   ======================================== */

.overflow-auto { overflow: auto; }

.overflow-hidden { overflow: hidden; }

.overflow-visible { overflow: visible; }

.overflow-scroll { overflow: scroll; }

.overflow-x-auto { overflow-x: auto; }

.overflow-y-auto { overflow-y: auto; }

.overflow-x-hidden { overflow-x: hidden; }

.overflow-y-hidden { overflow-y: hidden; }

/* ========================================
   텍스트 정렬
   ======================================== */

.text-left { text-align: left; }

.text-center { text-align: center; }

.text-right { text-align: right; }

.text-justify { text-align: justify; }

/* ========================================
   반응형 유틸리티
   ======================================== */

@media (max-width: 767px) {
    .d-none-mobile { display: none; }
    .d-block-mobile { display: block; }
    .d-flex-mobile { display: flex; }
    
    .text-center-mobile { text-align: center; }
    .flex-column-mobile { flex-direction: column; }
    
    .container,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl {
        padding: 0 var(--spacing-md);
    }
    
    .row {
        margin: 0 calc(var(--spacing-sm) * -0.5);
    }
    
    .row > * {
        padding: 0 calc(var(--spacing-sm) * 0.5);
    }
}

@media (min-width: 768px) {
    .d-none-desktop { display: none; }
    .d-block-desktop { display: block; }
    .d-flex-desktop { display: flex; }
}

/* 2. Component styles - reusable UI components */

/* 3. 버튼 컴포넌트 스타일 */

/* ========================================
   기본 버튼 클래스
   ======================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-sm) var(--spacing-md);
    border: 1px solid transparent;
    border-radius: var(--border-radius-md);
    font-family: var(--font-family);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-base);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    white-space: nowrap;
    vertical-align: middle;
    background-image: none;
    min-height: 44px; /* 접근성을 위한 최소 터치 영역 */
}

.btn:focus,
.btn:active:focus {
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(50, 115, 220, 0.25);
}

.btn:hover,
.btn:focus {
    text-decoration: none;
}

.btn:active {
    background-image: none;
    outline: 0;
    transform: translateY(1px);
}

/* ========================================
   버튼 변형 클래스 (색상별)
   ======================================== */

/* Primary Button - 주요 액션용 */

.btn-primary {
    color: var(--color-white);
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-primary:hover:not(:disabled) {
    color: var(--color-white);
    background-color: var(--primary-hover);
    border-color: var(--primary-hover);
}

.btn-primary:active {
    background-color: #1f4fa8;
    border-color: #1f4fa8;
}

/* Secondary Button - 보조 액션용 */

.btn-secondary {
    color: var(--text-color);
    background-color: var(--color-gray-100);
    border-color: var(--color-gray-300);
}

.btn-secondary:hover:not(:disabled) {
    color: var(--text-color);
    background-color: var(--color-gray-200);
    border-color: var(--color-gray-400);
}

/* Danger Button - 위험한 액션용 */

.btn-danger {
    color: var(--color-white);
    background-color: var(--danger-color);
    border-color: var(--danger-color);
}

.btn-danger:hover:not(:disabled) {
    color: var(--color-white);
    background-color: #c82333;
    border-color: #bd2130;
}

/* Success Button - 성공/확인 액션용 */

.btn-success {
    color: var(--color-white);
    background-color: var(--success-color);
    border-color: var(--success-color);
}

.btn-success:hover:not(:disabled) {
    color: var(--color-white);
    background-color: #218838;
    border-color: #1e7e34;
}

/* Warning Button - 경고 액션용 */

.btn-warning {
    color: var(--text-color);
    background-color: var(--warning-color);
    border-color: var(--warning-color);
}

.btn-warning:hover:not(:disabled) {
    color: var(--text-color);
    background-color: #e67700;
    border-color: #d96c00;
}

/* Info Button - 정보 표시용 */

.btn-info {
    color: var(--color-white);
    background-color: var(--info-color);
    border-color: var(--info-color);
}

.btn-info:hover:not(:disabled) {
    color: var(--color-white);
    background-color: #138496;
    border-color: #117a8b;
}

/* ========================================
   아웃라인 버튼 (.btn-outline)
   ======================================== */

.btn-outline {
    background-color: transparent;
    border-width: 1px;
}

.btn-outline.btn-primary {
    color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn-outline.btn-primary:hover:not(:disabled) {
    color: var(--color-white);
    background-color: var(--primary-color);
}

.btn-outline.btn-secondary {
    color: var(--color-gray-600);
    border-color: var(--color-gray-300);
}

.btn-outline.btn-secondary:hover:not(:disabled) {
    color: var(--text-color);
    background-color: var(--color-gray-100);
}

.btn-outline.btn-danger {
    color: var(--danger-color);
    border-color: var(--danger-color);
}

.btn-outline.btn-danger:hover:not(:disabled) {
    color: var(--color-white);
    background-color: var(--danger-color);
}

/* ========================================
   버튼 크기 클래스
   ======================================== */

/* Extra Small Button */

.btn-xs {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
    min-height: 32px;
    font-weight: var(--font-weight-regular);
}

/* Small Button */

.btn-sm {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-sm);
    min-height: 36px;
}

/* Medium Button (기본값) */

.btn-md {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-base);
    min-height: 44px;
}

/* Large Button */

.btn-lg {
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: var(--font-size-lg);
    min-height: 52px;
    font-weight: var(--font-weight-medium);
}

/* Extra Large Button */

.btn-xl {
    padding: var(--spacing-lg) var(--spacing-xl);
    font-size: var(--font-size-xl);
    min-height: 60px;
    font-weight: var(--font-weight-medium);
}

/* ========================================
   버튼 상태 클래스
   ======================================== */

/* Loading State */

.btn-loading {
    position: relative;
    pointer-events: none;
    opacity: 0.8;
}

.btn-loading::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: btn-spin 1s linear infinite;
}

@keyframes btn-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.btn-loading .btn-text {
    opacity: 0;
}

/* Disabled State */

.btn:disabled,
.btn-disabled {
    cursor: not-allowed;
    opacity: 0.6;
    background-color: var(--color-gray-400) !important;
    border-color: var(--color-gray-400) !important;
    color: var(--color-gray-600) !important;
    transform: none !important;
}

.btn-outline:disabled,
.btn-outline.btn-disabled {
    background-color: transparent !important;
    color: var(--color-gray-400) !important;
    border-color: var(--color-gray-300) !important;
}

/* Block Button - 전체 너비 */

.btn-block {
    display: flex;
    width: 100%;
}

/* ========================================
   특수 버튼 타입
   ======================================== */

/* Icon Button - 아이콘만 있는 버튼 */

.btn-icon {
    padding: var(--spacing-sm);
    width: 44px;
    height: 44px;
    border-radius: 50%;
}

.btn-icon.btn-sm {
    width: 36px;
    height: 36px;
    padding: var(--spacing-xs);
}

.btn-icon.btn-lg {
    width: 52px;
    height: 52px;
    padding: var(--spacing-md);
}

/* Ghost Button - 매우 미니멀한 버튼 */

.btn-ghost {
    background-color: transparent;
    border: none;
    color: var(--color-gray-600);
    font-weight: var(--font-weight-regular);
}

.btn-ghost:hover:not(:disabled) {
    background-color: var(--color-gray-100);
    color: var(--text-color);
}

/* Link Button - 링크처럼 보이는 버튼 */

.btn-link {
    background-color: transparent;
    border: none;
    color: var(--primary-color);
    text-decoration: underline;
    font-weight: var(--font-weight-regular);
    min-height: auto;
    padding: 0;
}

.btn-link:hover:not(:disabled) {
    color: var(--primary-hover);
    background-color: transparent;
}

/* ========================================
   버튼 그룹
   ======================================== */

.btn-group {
    position: relative;
    display: inline-flex;
    vertical-align: middle;
}

.btn-group > .btn {
    position: relative;
    flex: 1 1 auto;
}

.btn-group > .btn:not(:first-child) {
    margin-left: -1px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.btn-group > .btn:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active {
    z-index: 1;
}

/* ========================================
   반응형 버튼 디자인
   ======================================== */

/* 모바일 우선 반응형 디자인 */

@media (max-width: 768px) {
    .btn {
        min-height: 48px; /* 더 큰 터치 타겟 */
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: var(--font-size-base);
        border-radius: var(--border-radius-lg);
        font-weight: var(--font-weight-medium);
        letter-spacing: 0.025em;
    }

    .btn-sm {
        min-height: 40px;
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-sm);
    }

    .btn-lg {
        min-height: 56px;
        padding: var(--spacing-lg) var(--spacing-xl);
        font-size: var(--font-size-lg);
    }

    .btn-xl {
        min-height: 64px;
        padding: var(--spacing-xl) var(--spacing-2xl);
        font-size: var(--font-size-xl);
    }

    .btn-responsive {
        width: 100%;
        display: flex;
        justify-content: center;
        margin-bottom: var(--spacing-sm);
    }

    .btn-group-responsive {
        flex-direction: column;
        gap: var(--spacing-xs);
        width: 100%;
    }

    .btn-group-responsive > .btn {
        border-radius: var(--border-radius-md);
        margin: 0;
        width: 100%;
    }

    .btn-group-responsive > .btn:not(:first-child) {
        border-radius: var(--border-radius-md);
        margin-left: 0;
        margin-top: 0;
    }

    .btn-group-responsive > .btn:not(:last-child) {
        border-radius: var(--border-radius-md);
    }

    /* 모바일에서 버튼 간격 증가 */
    .btn-group {
        gap: var(--spacing-sm);
        flex-wrap: wrap;
        justify-content: center;
    }

    /* 모바일에서 아이콘 버튼 크기 조정 */
    .btn-icon {
        min-width: 48px;
        min-height: 48px;
        padding: var(--spacing-sm);
    }

    .btn-icon.btn-sm {
        min-width: 40px;
        min-height: 40px;
        padding: var(--spacing-xs);
    }

    .btn-icon.btn-lg {
        min-width: 56px;
        min-height: 56px;
        padding: var(--spacing-md);
    }

    /* 모바일 특화 버튼 스타일 */
    .btn:active {
        transform: scale(0.98);
        transition: transform 0.1s ease;
    }
}

/* 작은 모바일 화면 (480px 이하) */

@media (max-width: 480px) {
    .btn {
        font-size: var(--font-size-lg);
        min-height: 52px;
        padding: var(--spacing-lg) var(--spacing-xl);
        border-radius: var(--border-radius-xl);
        letter-spacing: 0.5px;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .btn-sm {
        min-height: 44px;
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: var(--font-size-base);
    }

    .btn-lg {
        min-height: 60px;
        padding: var(--spacing-xl) var(--spacing-2xl);
        font-size: var(--font-size-xl);
    }

    /* 모바일에서 버튼 텍스트 최적화 */
    .btn {
        text-align: center;
        word-wrap: break-word;
        overflow-wrap: break-word;
        -webkit-hyphens: auto;
                hyphens: auto;
    }

    /* 모바일에서 버튼 그룹 최적화 */
    .btn-group-responsive {
        gap: var(--spacing-md);
    }

    .btn-group-responsive > .btn {
        border-radius: var(--border-radius-lg);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        margin-bottom: var(--spacing-sm);
    }

    /* 풀스크린 버튼 옵션 */
    .btn-fullwidth {
        width: 100%;
        margin: var(--spacing-sm) 0;
        border-radius: var(--border-radius-xl);
        min-height: 56px;
        font-size: var(--font-size-lg);
        font-weight: var(--font-weight-semibold);
    }
}

/* 태블릿 최적화 (768px - 991px) */

@media (min-width: 768px) and (max-width: 991px) {
    .btn {
        min-height: 44px;
        padding: var(--spacing-sm) var(--spacing-lg);
        font-size: var(--font-size-base);
    }

    .btn-lg {
        min-height: 48px;
        padding: var(--spacing-md) var(--spacing-xl);
    }

    .btn-group {
        gap: var(--spacing-sm);
    }

    .btn-responsive {
        width: auto;
        min-width: 120px;
    }

    .btn-group-responsive {
        flex-direction: row;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    .btn-group-responsive > .btn {
        flex: 1;
        min-width: 140px;
    }
}

/* 데스크톱 최적화 (992px 이상) */

@media (min-width: 992px) {
    .btn {
        min-height: 40px;
        padding: var(--spacing-sm) var(--spacing-md);
        font-size: var(--font-size-base);
        transition: all 0.3s ease;
    }

    .btn-lg {
        min-height: 48px;
        padding: var(--spacing-md) var(--spacing-lg);
        font-size: var(--font-size-lg);
    }

    .btn-group {
        gap: var(--spacing-xs);
    }

    .btn-group-responsive {
        flex-direction: row;
        gap: var(--spacing-sm);
    }

    /* 데스크톱에서 호버 효과 강화 */
    .btn:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    }

    .btn:active {
        transform: translateY(0);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    .btn-icon:hover:not(:disabled) {
        transform: scale(1.05) translateY(-1px);
    }

    .btn-ghost:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
}

/* ========================================
   접근성 향상
   ======================================== */

.btn:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* 고대비 모드 지원 */

@media (prefers-contrast: high) {
    .btn {
        border-width: 2px;
    }
    
    .btn:focus {
        outline: 3px solid;
        outline-offset: 2px;
    }
}

/* 애니메이션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
    .btn {
        transition: none;
    }
    
    .btn-loading::before {
        animation: none;
    }
}

/* 4. 폼 컴포넌트 스타일 */

/* ========================================
   기본 폼 구조
   ======================================== */

.form-group {
  margin-bottom: var(--spacing-lg);
  position: relative;
}

.form-row {
  display: flex;
  flex-wrap: wrap;
  margin-right: calc(var(--spacing-sm) * -1);
  margin-left: calc(var(--spacing-sm) * -1);
}

.form-row > .form-group {
  padding-right: var(--spacing-sm);
  padding-left: var(--spacing-sm);
}

.form-grid {
  display: grid;
  gap: var(--spacing-md);
}

.form-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.form-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}

/* ========================================
   라벨 스타일
   ======================================== */

.form-label {
  display: block;
  margin-bottom: var(--spacing-xs);
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
  color: var(--text-color);
  line-height: var(--line-height-base);
}

.form-label.required::after {
  content: ' *';
  color: var(--danger-color);
  font-weight: var(--font-weight-bold);
}

.form-label.optional::after {
  content: ' (선택)';
  color: var(--text-muted);
  font-weight: var(--font-weight-regular);
  font-size: var(--font-size-xs);
}

/* ========================================
   기본 입력 필드
   ======================================== */

.form-input,
.form-control {
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  line-height: var(--line-height-base);
  color: var(--text-color);
  background-color: var(--color-white);
  transition: all 0.3s ease;
  min-height: 44px; /* 접근성을 위한 최소 터치 영역 */
}

.form-input:focus,
.form-control:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(50, 115, 220, 0.2);
  background-color: var(--color-white);
}

.form-input::-moz-placeholder, .form-control::-moz-placeholder {
  color: var(--text-muted);
  opacity: 1;
  font-style: italic;
}

.form-input::placeholder,
.form-control::placeholder {
  color: var(--text-muted);
  opacity: 1;
  font-style: italic;
}

/* ========================================
   입력 필드 크기 변형
   ======================================== */

.form-input-xs {
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-size-xs);
  min-height: 32px;
}

.form-input-sm {
  padding: var(--spacing-xs) var(--spacing-sm);
  font-size: var(--font-size-sm);
  min-height: 36px;
}

.form-input-lg {
  padding: var(--spacing-md) var(--spacing-lg);
  font-size: var(--font-size-lg);
  min-height: 52px;
}

.form-input-xl {
  padding: var(--spacing-lg) var(--spacing-xl);
  font-size: var(--font-size-xl);
  min-height: 60px;
}

/* ========================================
   텍스트 영역
   ======================================== */

.form-divider {
  border: none;
  height: 1px;
  background-color: var(--border-color);
  margin: var(--spacing-lg) 0;
  opacity: 0.6;
}

.form-textarea {
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  line-height: var(--line-height-relaxed);
  color: var(--text-color);
  background-color: var(--color-white);
  transition: all 0.3s ease;
  resize: vertical;
  min-height: 120px;
}

.form-textarea:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(50, 115, 220, 0.2);
}

.form-textarea::-moz-placeholder {
  color: var(--text-muted);
  opacity: 1;
  font-style: italic;
}

.form-textarea::placeholder {
  color: var(--text-muted);
  opacity: 1;
  font-style: italic;
}

/* ========================================
   선택 박스
   ======================================== */

.form-select {
  width: 100%;
  padding: var(--spacing-sm) var(--spacing-xl) var(--spacing-sm) var(--spacing-md);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  font-family: var(--font-family);
  font-size: var(--font-size-base);
  color: var(--text-color);
  background-color: var(--color-white);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23666' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m1 6 7 7 7-7'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right var(--spacing-md) center;
  background-size: 16px 12px;
  transition: all 0.3s ease;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
  min-height: 44px;
}

.form-select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(50, 115, 220, 0.2);
}

.form-select option {
  color: var(--text-color);
  background-color: var(--color-white);
  padding: var(--spacing-xs);
}

/* ========================================
   입력 그룹 (버튼과 함께 사용)
   ======================================== */

.input-group {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  gap: var(--spacing-xs);
}

.input-group > .form-input,
.input-group > .form-select {
  flex: 1;
  position: relative;
  min-width: 0;
}

.input-group > .btn {
  flex-shrink: 0;
  white-space: nowrap;
}

.input-group-prepend,
.input-group-append {
  display: flex;
  align-items: center;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: var(--spacing-sm) var(--spacing-md);
  font-size: var(--font-size-base);
  font-weight: var(--font-weight-regular);
  color: var(--text-muted);
  background-color: var(--color-gray-100);
  border: 1px solid var(--border-color);
  border-radius: var(--border-radius-md);
  white-space: nowrap;
}

/* ========================================
   체크박스 스타일
   ======================================== */

.checkbox-container {
  display: flex;
  align-items: flex-start;
  position: relative;
  margin-bottom: var(--spacing-sm);
  cursor: pointer;
  font-size: var(--font-size-base);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  line-height: var(--line-height-base);
}

.checkbox-container input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  background-color: var(--color-white);
  border: 2px solid var(--border-color);
  border-radius: var(--border-radius-sm);
  margin-right: var(--spacing-sm);
  flex-shrink: 0;
  transition: all 0.3s ease;
}

.checkbox-container:hover input[type="checkbox"] ~ .checkmark {
  border-color: var(--primary-color);
}

.checkbox-container input[type="checkbox"]:checked ~ .checkmark {
  background-color: var(--primary-color);
  border-color: var(--primary-color);
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.checkbox-container input[type="checkbox"]:checked ~ .checkmark:after {
  display: block;
}

.checkbox-container .checkmark:after {
  left: 6px;
  top: 2px;
  width: 6px;
  height: 10px;
  border: solid var(--color-white);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ========================================
   라디오 버튼 스타일
   ======================================== */

.radio-container {
  display: flex;
  align-items: center;
  position: relative;
  cursor: pointer;
  font-size: var(--font-size-base);
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  margin-bottom: var(--spacing-sm);
  margin-right: var(--spacing-lg);
}

.radio-container input[type="radio"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.radio-custom {
  height: 20px;
  width: 20px;
  background-color: var(--color-white);
  border: 2px solid var(--border-color);
  border-radius: 50%;
  margin-right: var(--spacing-sm);
  transition: all 0.3s ease;
}

.radio-container:hover input[type="radio"] ~ .radio-custom {
  border-color: var(--primary-color);
}

.radio-container input[type="radio"]:checked ~ .radio-custom {
  background-color: var(--color-white);
  border-color: var(--primary-color);
}

.radio-custom:after {
  content: "";
  position: absolute;
  display: none;
}

.radio-container input[type="radio"]:checked ~ .radio-custom:after {
  display: block;
}

.radio-container .radio-custom:after {
  top: 4px;
  left: 4px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--primary-color);
}

.radio-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--spacing-sm);
}

/* ========================================
   파일 업로드
   ======================================== */

.file-input {
  position: relative;
  display: inline-block;
  cursor: pointer;
  width: 100%;
}

.file-input input[type="file"] {
  position: absolute;
  opacity: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.file-input-label {
  display: flex;
  align-items: center;
  padding: var(--spacing-sm) var(--spacing-md);
  border: 2px dashed var(--border-color);
  border-radius: var(--border-radius-md);
  background-color: var(--color-gray-50);
  color: var(--text-muted);
  transition: all 0.3s ease;
  min-height: 120px;
  text-align: center;
  justify-content: center;
  flex-direction: column;
}

.file-input:hover .file-input-label {
  border-color: var(--primary-color);
  background-color: rgba(50, 115, 220, 0.05);
  color: var(--primary-color);
}

.file-input-icon {
  font-size: var(--font-size-2xl);
  margin-bottom: var(--spacing-xs);
}

.file-input-text {
  font-size: var(--font-size-sm);
  font-weight: var(--font-weight-medium);
}

.file-input-hint {
  font-size: var(--font-size-xs);
  color: var(--text-muted);
  margin-top: var(--spacing-xs);
}

/* ========================================
   폼 상태 클래스
   ======================================== */

/* 에러 상태 */

.form-input.error,
.form-control.error,
.form-textarea.error,
.form-select.error {
  border-color: var(--danger-color);
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

.form-input.error:focus,
.form-control.error:focus,
.form-textarea.error:focus,
.form-select.error:focus {
  border-color: var(--danger-color);
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.3);
}

/* 성공 상태 */

.form-input.success,
.form-control.success,
.form-textarea.success,
.form-select.success {
  border-color: var(--success-color);
  box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.2);
}

.form-input.success:focus,
.form-control.success:focus,
.form-textarea.success:focus,
.form-select.success:focus {
  border-color: var(--success-color);
  box-shadow: 0 0 0 2px rgba(40, 167, 69, 0.3);
}

/* 비활성화 상태 */

.form-input:disabled,
.form-control:disabled,
.form-textarea:disabled,
.form-select:disabled,
.form-input.disabled,
.form-control.disabled,
.form-textarea.disabled,
.form-select.disabled {
  background-color: var(--color-gray-100);
  border-color: var(--color-gray-300);
  color: var(--text-muted);
  cursor: not-allowed;
  opacity: 0.7;
}

.checkbox-container input[type="checkbox"]:disabled ~ .checkmark,
.radio-container input[type="radio"]:disabled ~ .radio-custom {
  background-color: var(--color-gray-100);
  border-color: var(--color-gray-300);
  cursor: not-allowed;
  opacity: 0.7;
}

/* ========================================
   메시지 스타일
   ======================================== */

.form-error,
.invalid-feedback {
  display: block;
  margin-top: var(--spacing-xs);
  color: var(--danger-color);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-base);
}

.form-success,
.valid-feedback {
  display: block;
  margin-top: var(--spacing-xs);
  color: var(--success-color);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  line-height: var(--line-height-base);
}

.form-help,
.form-text {
  display: block;
  margin-top: var(--spacing-xs);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  line-height: var(--line-height-base);
}

/* ========================================
   폼 유효성 검사 시각적 피드백
   ======================================== */

.was-validated .form-input:valid,
.was-validated .form-control:valid,
.form-input.is-valid,
.form-control.is-valid {
  border-color: var(--success-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='m2.3 6.73.69-.69L5.24 3.8l.69.69L5.24 5.18l-.69.69-.69-.69-.69-.69-.69-.69L2.3 6.73z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-input:invalid,
.was-validated .form-control:invalid,
.form-input.is-invalid,
.form-control.is-invalid {
  border-color: var(--danger-color);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath d='m5.8 3.6.7.7-1.4 1.4 1.4 1.4-.7.7L4.4 6.4l-1.4 1.4-.7-.7L3.7 5.7 2.3 4.3l.7-.7L4.4 5l1.4-1.4z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

/* ========================================
   반응형 폼 디자인
   ======================================== */

/* 태블릿 및 모바일 최적화 */

@media (max-width: 768px) {
  /* 그리드 레이아웃 모바일 대응 */
  .form-grid-2,
  .form-grid-3 {
    grid-template-columns: 1fr;
    gap: var(--spacing-lg);
  }

  .form-row {
    flex-direction: column;
    margin-right: 0;
    margin-left: 0;
  }

  .form-row > .form-group {
    padding-right: 0;
    padding-left: 0;
    margin-bottom: var(--spacing-lg);
  }

  /* 입력 필드 모바일 최적화 */
  .form-input,
  .form-control,
  .form-select,
  .form-textarea {
    font-size: 16px; /* iOS 줌 방지 */
    min-height: 48px; /* 더 큰 터치 타겟 */
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    border-width: 2px;
  }

  .form-textarea {
    min-height: 120px;
    padding: var(--spacing-lg);
  }

  /* 입력 필드 크기 변형 모바일 조정 */
  .form-input-sm {
    min-height: 44px;
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: 16px;
  }

  .form-input-lg {
    min-height: 56px;
    padding: var(--spacing-lg) var(--spacing-xl);
    font-size: var(--font-size-lg);
  }

  /* 라벨 크기 조정 */
  .form-label {
    font-size: var(--font-size-base);
    margin-bottom: var(--spacing-sm);
    font-weight: var(--font-weight-semibold);
  }

  /* 입력 그룹 모바일 대응 */
  .input-group {
    flex-direction: column;
    gap: var(--spacing-sm);
    align-items: stretch;
  }

  .input-group > .btn {
    margin-top: var(--spacing-xs);
    min-height: 48px;
  }

  .input-group-prepend,
  .input-group-append {
    width: 100%;
    justify-content: center;
  }

  /* 체크박스/라디오 모바일 최적화 */
  .checkbox-container,
  .radio-container {
    margin-bottom: var(--spacing-md);
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-md);
    transition: background-color 0.3s ease;
  }

  .checkbox-container:hover,
  .radio-container:hover {
    background-color: rgba(50, 115, 220, 0.05);
  }

  .checkmark,
  .radio-custom {
    width: 24px;
    height: 24px;
    margin-right: var(--spacing-md);
  }

  .radio-group {
    flex-direction: column;
    gap: var(--spacing-sm);
  }

  .radio-container {
    margin-right: 0;
  }

  /* 파일 입력 모바일 최적화 */
  .file-input-label {
    min-height: 48px;
    padding: var(--spacing-md) var(--spacing-lg);
    font-size: var(--font-size-base);
    border-radius: var(--border-radius-lg);
    border-width: 2px;
  }

  /* 에러/성공 메시지 */
  .form-error,
  .form-success,
  .form-help {
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm);
    padding: var(--spacing-sm);
    border-radius: var(--border-radius-md);
  }

  .form-error {
    background-color: rgba(220, 53, 69, 0.1);
    color: var(--danger-color);
    border-left: 4px solid var(--danger-color);
  }

  .form-success {
    background-color: rgba(40, 167, 69, 0.1);
    color: var(--success-color);
    border-left: 4px solid var(--success-color);
  }
}

/* 작은 모바일 화면 (480px 이하) */

@media (max-width: 480px) {
  .form-group {
    margin-bottom: var(--spacing-xl);
  }

  .form-input,
  .form-control,
  .form-select,
  .form-textarea {
    font-size: 18px; /* iOS 줌 방지를 위한 더 큰 폰트 */
    min-height: 52px;
    padding: var(--spacing-lg) var(--spacing-xl);
    border-radius: var(--border-radius-xl);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  .form-textarea {
    min-height: 140px;
    padding: var(--spacing-xl);
  }

  .form-label {
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-md);
    color: var(--text-color);
  }

  .input-group {
    gap: var(--spacing-md);
  }

  .checkbox-container,
  .radio-container {
    min-height: 52px;
    padding: var(--spacing-md) var(--spacing-lg);
    border-radius: var(--border-radius-lg);
    margin-bottom: var(--spacing-lg);
  }

  .checkmark,
  .radio-custom {
    width: 28px;
    height: 28px;
    margin-right: var(--spacing-lg);
  }

  /* 더 명확한 포커스 표시 */
  .form-input:focus,
  .form-control:focus,
  .form-select:focus,
  .form-textarea:focus {
    border-width: 3px;
    box-shadow: 0 0 0 3px rgba(50, 115, 220, 0.3);
    transform: scale(1.02);
  }

  /* 파일 입력 최적화 */
  .file-input-label {
    min-height: 60px;
    padding: var(--spacing-lg) var(--spacing-xl);
    font-size: var(--font-size-lg);
    border-radius: var(--border-radius-xl);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--spacing-sm);
  }

  .file-input-icon {
    font-size: var(--font-size-2xl);
  }
}

/* 태블릿 최적화 (768px - 991px) */

@media (min-width: 768px) and (max-width: 991px) {
  .form-grid-2 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
  }

  .form-grid-3 {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--spacing-lg);
  }

  .form-input,
  .form-control,
  .form-select,
  .form-textarea {
    min-height: 44px;
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: var(--font-size-base);
  }

  .input-group {
    flex-direction: row;
    gap: var(--spacing-sm);
  }

  .radio-group {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--spacing-md);
  }
}

/* 데스크톱 최적화 (992px 이상) */

@media (min-width: 992px) {
  .form-grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .form-input,
  .form-control,
  .form-select,
  .form-textarea {
    transition: all 0.3s ease;
  }

  .form-input:hover,
  .form-control:hover,
  .form-select:hover,
  .form-textarea:hover {
    border-color: rgba(50, 115, 220, 0.5);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  }

  /* 데스크톱에서 폼 요소 그리드 최적화 */
  .form-row {
    align-items: end;
  }

  .form-group.form-group-inline {
    display: flex;
    align-items: center;
    gap: var(--spacing-md);
    flex-wrap: wrap;
  }

  .form-group.form-group-inline .form-label {
    margin-bottom: 0;
    white-space: nowrap;
    min-width: 120px;
  }

  .form-group.form-group-inline .form-input,
  .form-group.form-group-inline .form-select {
    flex: 1;
    min-width: 200px;
  }
}

/* ========================================
   접근성 향상
   ======================================== */

.form-input:focus-visible,
.form-control:focus-visible,
.form-textarea:focus-visible,
.form-select:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* 스크린 리더용 숨김 클래스 */

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* 고대비 모드 지원 */

@media (prefers-contrast: high) {
  .form-input,
  .form-control,
  .form-textarea,
  .form-select,
  .checkmark,
  .radio-custom {
    border-width: 2px;
  }
  
  .form-input:focus,
  .form-control:focus,
  .form-textarea:focus,
  .form-select:focus {
    outline: 3px solid;
    outline-offset: 2px;
  }
}

/* 애니메이션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
  .form-input,
  .form-control,
  .form-textarea,
  .form-select,
  .checkmark,
  .radio-custom,
  .file-input-label {
    transition: none;
  }
}

/* Modals */

.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-modal);
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    outline: 0;
}

.modal-dialog {
    position: relative;
    width: auto;
    margin: var(--spacing-4);
    pointer-events: none;
}

.modal.fade .modal-dialog {
    transition: transform 0.3s ease-out;
    transform: translate(0, -50px);
}

.modal.show .modal-dialog {
    transform: none;
}

.modal-content {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    background-color: var(--color-white);
    background-clip: padding-box;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    outline: 0;
    pointer-events: auto;
}

.modal-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    z-index: var(--z-modal-backdrop);
    width: 100vw;
    height: 100vh;
    background-color: var(--color-black);
}

.modal-backdrop.fade {
    opacity: 0;
}

.modal-backdrop.show {
    opacity: 0.5;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-gray-300);
    border-top-left-radius: calc(var(--border-radius-lg) - 1px);
    border-top-right-radius: calc(var(--border-radius-lg) - 1px);
}

.modal-title {
    margin-bottom: 0;
    line-height: var(--line-height-normal);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
}

.modal-body {
    position: relative;
    flex: 1 1 auto;
    padding: var(--spacing-4);
}

.modal-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    padding: calc(var(--spacing-4) - var(--spacing-2) * 0.5);
    border-top: 1px solid var(--color-gray-300);
    border-bottom-right-radius: calc(var(--border-radius-lg) - 1px);
    border-bottom-left-radius: calc(var(--border-radius-lg) - 1px);
}

.modal-footer > * {
    margin: calc(var(--spacing-2) * 0.5);
}

.btn-close {
    box-sizing: content-box;
    width: 1em;
    height: 1em;
    padding: 0.25em 0.25em;
    color: var(--color-black);
    background: transparent url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 011.414 0L8 6.586 14.293.293a1 1 0 111.414 1.414L9.414 8l6.293 6.293a1 1 0 01-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 01-1.414-1.414L6.586 8 .293 1.707a1 1 0 010-1.414z'/%3e%3c/svg%3e") center/1em auto no-repeat;
    border: 0;
    border-radius: var(--border-radius);
    opacity: 0.5;
    cursor: pointer;
}

.btn-close:hover {
    color: var(--color-black);
    text-decoration: none;
    opacity: 0.75;
}

.btn-close:focus {
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(0, 123, 255, 0.25);
    opacity: 1;
}

.btn-close:disabled,
.btn-close.disabled {
    pointer-events: none;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    opacity: 0.25;
}

/* Modal sizes */

.modal-sm {
    max-width: 300px;
}

.modal-lg {
    max-width: 800px;
}

.modal-xl {
    max-width: 1140px;
}

.modal-fullscreen {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
}

.modal-fullscreen .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
}

.modal-fullscreen .modal-header {
    border-radius: 0;
}

.modal-fullscreen .modal-body {
    overflow-y: auto;
}

.modal-fullscreen .modal-footer {
    border-radius: 0;
}

/* Responsive modal sizes */

@media (min-width: 576px) {
    .modal-dialog {
        max-width: 500px;
        margin: var(--spacing-12) auto;
    }
    
    .modal-sm {
        max-width: 300px;
    }
}

@media (min-width: 992px) {
    .modal-lg,
    .modal-xl {
        max-width: 800px;
    }
}

@media (min-width: 1200px) {
    .modal-xl {
        max-width: 1140px;
    }
}

/* 6. 모달 스타일 */

/* ========================================
   모달 기본 구조
   ======================================== */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
    -webkit-backdrop-filter: blur(2px);
            backdrop-filter: blur(2px);
    transition: all 0.3s ease;
}

.modal-overlay.fade-in {
    animation: fadeIn 0.3s ease;
}

.modal-overlay.fade-out {
    animation: fadeOut 0.3s ease;
}

.modal {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    position: relative;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.modal-overlay.fade-in .modal {
    transform: scale(1);
}

/* 모달 크기 변형 */

.modal-sm {
    max-width: 300px;
}

.modal-md {
    max-width: 500px;
}

.modal-lg {
    max-width: 800px;
}

.modal-xl {
    max-width: 1200px;
}

.modal-fullscreen {
    max-width: 95vw;
    max-height: 95vh;
    width: 95vw;
    height: 95vh;
}

/* ========================================
   모달 컨테이너 (기존 호환성)
   ======================================== */

.modal-container {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-lg);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: hidden;
    position: relative;
    transform: scale(0.9);
    transition: transform 0.3s ease;
}

.modal-container.email-modal {
    max-width: 600px;
}

.modal-container.bulk-modal {
    max-width: 500px;
}

/* ========================================
   모달 헤더
   ======================================== */

.modal-header {
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: var(--color-white);
    position: sticky;
    top: 0;
    z-index: 10;
}

.modal-header h2,
.modal-header h3 {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
}

.modal-title {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
}

/* ========================================
   모달 바디
   ======================================== */

.modal-body {
    padding: var(--spacing-lg);
    overflow-y: auto;
    max-height: calc(90vh - 140px); /* 헤더/푸터 고려 */
}

.modal-content {
    padding: var(--spacing-lg);
    overflow-y: auto;
    max-height: calc(90vh - 140px);
}

.modal-body p {
    margin-bottom: var(--spacing-md);
    line-height: 1.6;
    color: var(--text-color);
}

.modal-body pre {
    background-color: var(--color-gray-50);
    padding: var(--spacing-md);
    border-radius: var(--border-radius-md);
    border: 1px solid var(--border-color);
    white-space: pre-wrap;
    word-wrap: break-word;
    font-family: 'Courier New', monospace;
    font-size: var(--font-size-sm);
    line-height: 1.4;
    overflow-x: auto;
}

/* ========================================
   모달 푸터
   ======================================== */

.modal-footer {
    padding: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-sm);
    background-color: var(--color-gray-50);
    position: sticky;
    bottom: 0;
}

.modal-footer.space-between {
    justify-content: space-between;
}

.modal-actions {
    display: flex;
    justify-content: center;
    gap: var(--spacing-md);
    padding: var(--spacing-lg);
}

.modal-actions-left {
    display: flex;
    gap: var(--spacing-sm);
}

.modal-actions-right {
    display: flex;
    gap: var(--spacing-sm);
}

/* ========================================
   모달 버튼
   ======================================== */

.modal-btn {
    padding: var(--spacing-sm) var(--spacing-lg);
    border: none;
    border-radius: var(--border-radius-md);
    cursor: pointer;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    transition: all 0.3s ease;
    min-width: 80px;
    text-align: center;
}

.modal-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* 모달 버튼 변형 */

.modal-btn.primary {
    background-color: var(--primary-color);
    color: var(--color-white);
}

.modal-btn.primary:hover:not(:disabled) {
    background-color: var(--primary-hover);
    transform: translateY(-1px);
}

.modal-btn.secondary {
    background-color: var(--color-gray-100);
    color: var(--text-color);
    border: 1px solid var(--border-color);
}

.modal-btn.secondary:hover:not(:disabled) {
    background-color: var(--color-gray-200);
}

.modal-btn.cancel {
    background-color: var(--color-gray-100);
    color: var(--text-muted);
    border: 1px solid var(--border-color);
}

.modal-btn.cancel:hover:not(:disabled) {
    background-color: var(--color-gray-200);
    color: var(--text-color);
}

.modal-btn.delete {
    background-color: var(--danger-color);
    color: var(--color-white);
}

.modal-btn.delete:hover:not(:disabled) {
    background-color: var(--danger-hover);
    transform: translateY(-1px);
}

.modal-btn.success {
    background-color: var(--success-color);
    color: var(--color-white);
}

.modal-btn.success:hover:not(:disabled) {
    background-color: var(--success-hover);
    transform: translateY(-1px);
}

.modal-btn.warning {
    background-color: var(--warning-color);
    color: var(--color-white);
}

.modal-btn.warning:hover:not(:disabled) {
    background-color: var(--warning-hover);
    transform: translateY(-1px);
}

.modal-btn.blacklist {
    background-color: #dc3545;
    color: var(--color-white);
}

.modal-btn.blacklist:hover:not(:disabled) {
    background-color: #c82333;
    transform: translateY(-1px);
}

.modal-btn.unblacklist {
    background-color: #28a745;
    color: var(--color-white);
}

.modal-btn.unblacklist:hover:not(:disabled) {
    background-color: #218838;
    transform: translateY(-1px);
}

/* ========================================
   모달 닫기 버튼
   ======================================== */

.modal-close,
.close-modal-btn {
    position: absolute;
    top: var(--spacing-md);
    right: var(--spacing-md);
    background: none;
    border: none;
    font-size: var(--font-size-xl);
    cursor: pointer;
    color: var(--text-muted);
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-md);
    transition: all 0.3s ease;
}

.modal-close:hover,
.close-modal-btn:hover {
    background-color: var(--color-gray-100);
    color: var(--text-color);
    transform: scale(1.1);
}

/* ========================================
   모달 특수 유형
   ======================================== */

/* 확인 모달 */

.modal-confirm .modal-body {
    text-align: center;
    padding: var(--spacing-xl);
}

.modal-confirm .modal-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-lg);
}

.modal-confirm .modal-icon.warning {
    color: var(--warning-color);
}

.modal-confirm .modal-icon.danger {
    color: var(--danger-color);
}

.modal-confirm .modal-icon.success {
    color: var(--success-color);
}

.modal-confirm .modal-icon.info {
    color: var(--info-color);
}

/* 로딩 모달 */

.modal-loading .modal-body {
    text-align: center;
    padding: var(--spacing-xl);
}

.modal-loading .loading-spinner {
    width: 40px;
    height: 40px;
    border: 4px solid var(--color-gray-200);
    border-top: 4px solid var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin: 0 auto var(--spacing-lg);
}

/* 폼 모달 */

.modal-form .form-group {
    margin-bottom: var(--spacing-lg);
}

.modal-form .form-group:last-child {
    margin-bottom: 0;
}

/* ========================================
   모달 애니메이션
   ======================================== */

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes slideIn {
    from {
        transform: translateY(-50px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideOut {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-50px);
        opacity: 0;
    }
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ========================================
   반응형 모달
   ======================================== */

@media (max-width: 768px) {
    .modal,
    .modal-container {
        width: 95%;
        max-width: 95vw;
        max-height: 95vh;
        margin: var(--spacing-sm);
    }
    
    .modal-lg,
    .modal-xl {
        max-width: 95vw;
    }
    
    .modal-header {
        padding: var(--spacing-md);
    }
    
    .modal-body,
    .modal-content {
        padding: var(--spacing-md);
        max-height: calc(95vh - 120px);
    }
    
    .modal-footer {
        padding: var(--spacing-md);
        flex-direction: column;
        gap: var(--spacing-xs);
    }
    
    .modal-actions {
        flex-direction: column;
        gap: var(--spacing-xs);
    }
    
    .modal-actions-left,
    .modal-actions-right {
        flex-direction: column;
        gap: var(--spacing-xs);
    }
    
    .modal-btn {
        width: 100%;
        min-width: auto;
    }
}

@media (max-width: 480px) {
    .modal-overlay {
        padding: var(--spacing-xs);
        align-items: flex-start;
        padding-top: 10vh;
    }
    
    .modal,
    .modal-container {
        width: 100%;
        max-width: 100%;
        margin: 0;
        border-radius: var(--border-radius-md);
    }
    
    .modal-header h2,
    .modal-header h3,
    .modal-title {
        font-size: var(--font-size-lg);
    }
}

/* ========================================
   접근성 및 포커스 관리
   ======================================== */

.modal-overlay[aria-hidden="true"] {
    display: none;
}

.modal-overlay:focus {
    outline: none;
}

.modal:focus {
    outline: none;
}

.modal-btn:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* 고대비 모드 지원 */

@media (prefers-contrast: high) {
    .modal-overlay {
        background-color: rgba(0, 0, 0, 0.8);
    }
    
    .modal,
    .modal-container {
        border: 2px solid var(--text-color);
    }
    
    .modal-btn {
        border: 1px solid currentColor;
    }
}

/* 애니메이션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
    .modal-overlay,
    .modal,
    .modal-container,
    .modal-btn,
    .modal-close,
    .close-modal-btn {
        transition: none;
        animation: none;
    }
    
    .loading-spinner {
        animation: none;
        border: 4px solid var(--primary-color);
    }
}

/* ========================================
   기존 코드에 반응형 개선사항 추가
   ======================================== */

/* 스마트폰 세로 모드 (480px 이하) */

@media (max-width: 480px) {
    .modal-dialog {
        margin: 0;
        max-width: 100%;
        height: 100vh;
        border-radius: 0;
    }

    .modal-content {
        height: 100vh;
        border-radius: 0;
        border: none;
        display: flex;
        flex-direction: column;
    }

    .modal-header {
        padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
        border-bottom: 2px solid var(--border-color);
        background-color: var(--primary-color);
        color: var(--white);
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .modal-title {
        font-size: var(--font-size-xl);
        font-weight: var(--font-weight-bold);
        margin: 0;
        line-height: var(--line-height-tight);
    }

    .modal-close {
        color: var(--white);
        font-size: var(--font-size-2xl);
        font-weight: var(--font-weight-bold);
        padding: var(--spacing-sm);
        margin: calc(var(--spacing-sm) * -1);
        border-radius: var(--border-radius-md);
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal-close:hover {
        background-color: rgba(255, 255, 255, 0.2);
        color: var(--white);
    }

    .modal-body {
        flex: 1;
        padding: var(--spacing-lg);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    .modal-footer {
        padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
        border-top: 2px solid var(--border-color);
        background-color: var(--color-gray-50);
        display: flex;
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .modal-footer .btn {
        width: 100%;
        order: 2;
        min-height: 48px;
        font-size: var(--font-size-lg);
    }

    .modal-footer .btn-primary {
        order: 1;
    }

    /* 폼이 있는 모달 최적화 */
    .modal-body .form-group {
        margin-bottom: var(--spacing-lg);
    }

    .modal-body .form-input,
    .modal-body .form-select,
    .modal-body .form-textarea {
        font-size: 16px; /* iOS 줌 방지 */
        min-height: 48px;
        padding: var(--spacing-md) var(--spacing-lg);
    }

    .modal-body .form-label {
        font-size: var(--font-size-base);
        font-weight: var(--font-weight-semibold);
        margin-bottom: var(--spacing-sm);
    }

    /* 확인 다이얼로그 최적화 */
    .modal.modal-confirm .modal-dialog {
        margin: var(--spacing-xl);
        max-width: calc(100% - var(--spacing-2xl));
        height: auto;
        border-radius: var(--border-radius-xl);
    }

    .modal.modal-confirm .modal-content {
        height: auto;
        border-radius: var(--border-radius-xl);
        text-align: center;
        padding: var(--spacing-xl);
    }

    .modal.modal-confirm .modal-header {
        background-color: transparent;
        color: var(--text-color);
        border-bottom: none;
        padding-bottom: var(--spacing-md);
        position: static;
    }

    .modal.modal-confirm .modal-title {
        font-size: var(--font-size-2xl);
        color: var(--primary-color);
    }

    .modal.modal-confirm .modal-body {
        padding: 0 0 var(--spacing-lg);
        font-size: var(--font-size-lg);
        line-height: var(--line-height-relaxed);
    }

    .modal.modal-confirm .modal-footer {
        background-color: transparent;
        border-top: none;
        padding-top: 0;
        flex-direction: column;
        gap: var(--spacing-md);
    }
}

/* 태블릿 세로 모드 (768px 이하) */

@media (max-width: 768px) {
    .modal-dialog {
        margin: var(--spacing-lg);
        max-width: calc(100% - var(--spacing-2xl));
    }

    .modal-content {
        border-radius: var(--border-radius-lg);
        box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    }

    .modal-header {
        padding: var(--spacing-lg);
        background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
        color: var(--white);
        border-bottom: none;
        border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
    }

    .modal-title {
        font-size: var(--font-size-lg);
        font-weight: var(--font-weight-semibold);
    }

    .modal-close {
        color: var(--white);
        font-size: var(--font-size-xl);
        padding: var(--spacing-sm);
        border-radius: var(--border-radius-md);
        min-width: 40px;
        min-height: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal-body {
        padding: var(--spacing-lg);
        max-height: 60vh;
        overflow-y: auto;
    }

    .modal-footer {
        padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
        background-color: var(--color-gray-50);
        border-top: 1px solid var(--border-color);
        border-radius: 0 0 var(--border-radius-lg) var(--border-radius-lg);
        display: flex;
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .modal-footer .btn {
        width: 100%;
        min-height: 44px;
    }

    .modal-footer .btn-primary {
        order: -1;
    }

    /* 중간 크기 모달 */
    .modal-dialog.modal-md {
        max-width: calc(100% - var(--spacing-xl));
    }

    /* 큰 모달 */
    .modal-dialog.modal-lg {
        max-width: calc(100% - var(--spacing-lg));
        margin: var(--spacing-md);
    }

    .modal-dialog.modal-lg .modal-content {
        max-height: calc(100vh - var(--spacing-xl));
        display: flex;
        flex-direction: column;
    }

    .modal-dialog.modal-lg .modal-body {
        flex: 1;
        overflow-y: auto;
        max-height: none;
    }
}

/* 태블릿 가로 모드 및 작은 데스크톱 (768px - 991px) */

@media (min-width: 768px) and (max-width: 991px) {
    .modal-dialog {
        margin: var(--spacing-xl) auto;
        max-width: 600px;
    }

    .modal-content {
        border-radius: var(--border-radius-lg);
        box-shadow: 0 12px 48px rgba(0, 0, 0, 0.2);
    }

    .modal-header {
        padding: var(--spacing-lg) var(--spacing-xl);
        background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
        color: var(--white);
    }

    .modal-body {
        padding: var(--spacing-xl);
        max-height: 70vh;
        overflow-y: auto;
    }

    .modal-footer {
        padding: var(--spacing-lg) var(--spacing-xl);
        background-color: var(--color-gray-50);
        display: flex;
        flex-direction: row-reverse;
        gap: var(--spacing-md);
    }

    .modal-footer .btn {
        width: auto;
        min-width: 120px;
        min-height: 44px;
    }

    /* 중간 크기 모달 */
    .modal-dialog.modal-md {
        max-width: 700px;
    }

    /* 큰 모달 */
    .modal-dialog.modal-lg {
        max-width: 900px;
    }
}

/* 데스크톱 최적화 (992px 이상) */

@media (min-width: 992px) {
    .modal {
        backdrop-filter: blur(8px);
        -webkit-backdrop-filter: blur(8px);
    }

    .modal-backdrop {
        background-color: rgba(0, 0, 0, 0.6);
    }

    .modal-dialog {
        margin: calc(var(--spacing-xl) * 2) auto;
        transform: translateY(0);
        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    }

    .modal.show .modal-dialog {
        transform: translateY(0) scale(1);
    }

    .modal-content {
        border-radius: var(--border-radius-xl);
        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(255, 255, 255, 0.1);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
    }

    .modal-header {
        padding: var(--spacing-xl) var(--spacing-2xl);
        background: linear-gradient(135deg, var(--primary-color), var(--primary-hover));
        color: var(--white);
        border-radius: var(--border-radius-xl) var(--border-radius-xl) 0 0;
    }

    .modal-title {
        font-size: var(--font-size-xl);
        font-weight: var(--font-weight-semibold);
    }

    .modal-close {
        color: var(--white);
        font-size: var(--font-size-xl);
        padding: var(--spacing-md);
        border-radius: var(--border-radius-md);
        transition: all 0.3s ease;
        min-width: 44px;
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .modal-close:hover {
        background-color: rgba(255, 255, 255, 0.2);
        transform: scale(1.1);
        color: var(--white);
    }

    .modal-body {
        padding: var(--spacing-2xl);
        max-height: 60vh;
        overflow-y: auto;
    }

    .modal-footer {
        padding: var(--spacing-lg) var(--spacing-2xl) var(--spacing-xl);
        background-color: var(--color-gray-50);
        border-radius: 0 0 var(--border-radius-xl) var(--border-radius-xl);
        display: flex;
        flex-direction: row-reverse;
        gap: var(--spacing-md);
    }

    .modal-footer .btn {
        min-width: 120px;
        transition: all 0.3s ease;
    }

    .modal-footer .btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

    /* 큰 모달 */
    .modal-dialog.modal-lg {
        max-width: 1000px;
    }

    .modal-dialog.modal-lg .modal-body {
        max-height: 70vh;
    }

    /* 전체 화면 모달 */
    .modal-dialog.modal-fullscreen {
        margin: var(--spacing-lg);
        max-width: calc(100% - var(--spacing-2xl));
        max-height: calc(100vh - var(--spacing-2xl));
    }

    .modal-dialog.modal-fullscreen .modal-content {
        height: 100%;
        display: flex;
        flex-direction: column;
    }

    .modal-dialog.modal-fullscreen .modal-body {
        flex: 1;
        max-height: none;
        overflow-y: auto;
    }

    /* 애니메이션 강화 */
    .modal.fade .modal-dialog {
        transform: translateY(-50px) scale(0.8);
        opacity: 0;
    }

    .modal.fade.show .modal-dialog {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Modal Components */

.modal {
    display: none;
    position: fixed;
    z-index: var(--z-modal);
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0,0,0,0.5);
}

.modal.show {
    display: block;
}

.modal-content {
    background-color: var(--color-white);
    margin: 5% auto;
    padding: var(--spacing-6);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-xl);
    width: 90%;
    max-width: 600px;
    position: relative;
    animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-50px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-header {
    display: flex;
    justify-content: between;
    align-items: center;
    margin-bottom: var(--spacing-4);
    padding-bottom: var(--spacing-3);
    border-bottom: 1px solid var(--color-gray-200);
}

.modal-title {
    margin: 0;
    color: var(--color-gray-900);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
}

.modal-close {
    background: none;
    border: none;
    font-size: var(--font-size-2xl);
    color: var(--color-gray-500);
    cursor: pointer;
    padding: 0;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius);
    transition: var(--transition-colors);
}

.modal-close:hover {
    color: var(--color-gray-700);
    background-color: var(--color-gray-100);
}

.modal-body {
    margin-bottom: var(--spacing-6);
}

.modal-footer {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-3);
    padding-top: var(--spacing-4);
    border-top: 1px solid var(--color-gray-200);
}

.modal-btn {
    padding: var(--spacing-2) var(--spacing-4);
    border: none;
    border-radius: var(--border-radius);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: var(--transition-colors);
    min-width: 80px;
}

.modal-btn.primary {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.modal-btn.primary:hover {
    background-color: var(--color-primary-dark);
}

.modal-btn.secondary {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.modal-btn.secondary:hover {
    background-color: #545b62;
}

.modal-btn.danger {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.modal-btn.danger:hover {
    background-color: #c82333;
}

.modal-btn.cancel {
    background-color: var(--color-gray-200);
    color: var(--color-gray-700);
}

.modal-btn.cancel:hover {
    background-color: var(--color-gray-300);
}

.modal-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

/* Responsive modal */

@media (max-width: 768px) {
    .modal-content {
        width: 95%;
        margin: 10% auto;
        padding: var(--spacing-4);
    }
    
    .modal-footer {
        flex-direction: column;
    }
    
    .modal-btn {
        width: 100%;
    }
}

/* ================================
   AdminApplicants Modal Styles
   ================================ */

/* Modal Overlay */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: var(--z-modal);
    padding: var(--spacing-4);
}

/* Modal Container */

.modal-container {
    background-color: var(--color-white);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-2xl);
    width: 100%;
    max-width: 700px;
    max-height: 95vh;
    overflow: hidden;
    position: relative;
    animation: modalSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    border: 1px solid var(--color-gray-200);
    display: flex;
    flex-direction: column;
}

@keyframes modalSlideIn {
    from {
        opacity: 0;
        transform: scale(0.9) translateY(-30px);
    }
    to {
        opacity: 1;
        transform: scale(1) translateY(0);
    }
}

/* Modal Header */

.modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-6);
    border-bottom: 1px solid var(--color-gray-200);
    background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
    color: var(--color-white);
    border-top-left-radius: var(--border-radius-xl);
    border-top-right-radius: var(--border-radius-xl);
}

.modal-header h3 {
    margin: 0;
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-white);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.close-modal-btn {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: var(--font-size-lg);
    color: var(--color-white);
    cursor: pointer;
    padding: var(--spacing-2);
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-full);
    transition: var(--transition-all);
    -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
}

.close-modal-btn:hover {
    background: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.3);
    transform: scale(1.05);
}

/* Modal Content */

.modal-content {
    padding: var(--spacing-6);
    max-height: calc(95vh - 120px);
    overflow-y: auto;
    flex: 1;
}

/* Detail Sections */

.detail-section {
    margin-bottom: var(--spacing-6);
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-5);
}

.detail-section h4 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-4);
    padding-bottom: var(--spacing-3);
    border-bottom: 2px solid var(--color-primary-light);
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
}

.detail-section h4::before {
    content: '';
    width: 4px;
    height: 20px;
    background-color: var(--color-primary);
    border-radius: var(--border-radius-full);
}

.detail-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-5);
}

.detail-item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2);
    padding: var(--spacing-3);
    background-color: var(--color-gray-25);
    border-radius: var(--border-radius);
    border-left: 3px solid var(--color-primary-light);
}

.detail-label {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-600);
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: var(--spacing-1);
}

.detail-value {
    font-size: var(--font-size-base);
    color: var(--color-gray-900);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-relaxed);
    min-height: 24px;
    display: flex;
    align-items: center;
}

.detail-value select {
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-sm);
    background-color: var(--color-white);
    color: var(--color-gray-900);
    font-weight: var(--font-weight-medium);
    transition: var(--transition-colors);
    min-width: 140px;
}

.detail-value select:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-primary-light);
}

.previous-status {
    font-size: var(--font-size-xs);
    color: var(--color-gray-500);
    margin-top: var(--spacing-2);
    font-style: italic;
    padding: var(--spacing-1) var(--spacing-2);
    background-color: var(--color-gray-100);
    border-radius: var(--border-radius);
    display: inline-block;
}

.message-box {
    background-color: var(--color-gray-50);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    padding: var(--spacing-5);
    font-size: var(--font-size-base);
    line-height: var(--line-height-relaxed);
    white-space: pre-wrap;
    color: var(--color-gray-800);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1);
}

.raw-data-toggle {
    margin-bottom: var(--spacing-3);
}

.toggle-btn {
    background-color: var(--color-secondary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: var(--transition-all);
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-1);
}

.toggle-btn:hover {
    background-color: #545b62;
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.raw-data {
    background-color: var(--color-gray-900);
    color: var(--color-gray-100);
    padding: var(--spacing-5);
    border-radius: var(--border-radius-lg);
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    line-height: var(--line-height-normal);
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-all;
    border: 1px solid var(--color-gray-700);
    max-height: 300px;
    overflow-y: auto;
}

.raw-data.hidden {
    display: none;
}

/* Modal Footer 개선 */

.modal-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-5) var(--spacing-6);
    border-top: 1px solid var(--color-gray-200);
    background-color: var(--color-gray-25);
    border-bottom-left-radius: var(--border-radius-lg);
    border-bottom-right-radius: var(--border-radius-lg);
    position: sticky;
    bottom: 0;
}

.modal-actions-left {
    display: flex;
    gap: var(--spacing-3);
}

.modal-actions-right {
    display: flex;
    gap: var(--spacing-3);
}

/* Modal Button 개선 */

.modal-btn {
    padding: var(--spacing-2) var(--spacing-4);
    border: none;
    border-radius: var(--border-radius);
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: var(--transition-all);
    display: inline-flex;
    align-items: center;
    gap: var(--spacing-1);
    min-width: 80px;
    justify-content: center;
}

.modal-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--shadow-sm);
}

.modal-btn.blacklist {
    background-color: var(--color-warning);
    color: var(--color-dark);
    border: 1px solid #ffc107;
}

.modal-btn.blacklist:hover {
    background-color: #e0a800;
    border-color: #d39e00;
}

.modal-btn.unblacklist {
    background-color: var(--color-success);
    color: var(--color-white);
    border: 1px solid var(--color-success);
}

.modal-btn.unblacklist:hover {
    background-color: #1e7e34;
    border-color: #1c7430;
}

.modal-btn.delete {
    background-color: var(--color-danger);
    color: var(--color-white);
    border: 1px solid var(--color-danger);
}

.modal-btn.delete:hover {
    background-color: #c82333;
    border-color: #bd2130;
}

.modal-btn.cancel {
    background-color: var(--color-gray-500);
    color: var(--color-white);
    border: 1px solid var(--color-gray-500);
}

.modal-btn.cancel:hover {
    background-color: var(--color-gray-600);
    border-color: var(--color-gray-600);
}

.modal-btn.primary {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: 1px solid var(--color-primary);
}

.modal-btn.primary:hover {
    background-color: var(--color-primary-dark);
    border-color: var(--color-primary-dark);
}

/* Email Modal Specific */

.email-modal {
    max-width: 700px;
}

.email-form {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4);
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2);
}

.form-group label {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
}

.form-group input,
.form-group textarea {
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-base);
    font-family: var(--font-family);
    transition: var(--transition-colors);
}

.form-group input:focus,
.form-group textarea:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-primary-light);
}

.form-group input[readonly] {
    background-color: var(--color-gray-100);
    color: var(--color-gray-600);
}

.email-warning {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
    padding: var(--spacing-2);
    border-radius: var(--border-radius);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-1);
}

.email-success {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-8);
    text-align: center;
}

.success-icon {
    font-size: 4rem;
    color: var(--color-success);
    margin-bottom: var(--spacing-4);
}

.email-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--spacing-8);
    text-align: center;
}

.error-icon {
    font-size: 4rem;
    color: var(--color-danger);
    margin-bottom: var(--spacing-4);
}

.loading-spinner-small {
    width: 16px;
    height: 16px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: spin 1s linear infinite;
    display: inline-block;
    margin-right: var(--spacing-1);
}

/* Bulk Update Modal */

.bulk-modal {
    max-width: 800px;
}

.selected-applicants-list {
    margin-bottom: var(--spacing-5);
}

.selected-applicants-list h4 {
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-3);
    color: var(--color-gray-900);
}

.applicants-list-container {
    max-height: 300px;
    overflow-y: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius);
    padding: var(--spacing-2);
}

.selected-applicant-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: var(--spacing-2);
    margin-bottom: var(--spacing-1);
    background-color: var(--color-gray-50);
    border-radius: var(--border-radius);
}

.applicant-name {
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-900);
}

.applicant-status {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    background-color: var(--color-gray-200);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
}

.applicant-project {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.remove-applicant-btn {
    background: none;
    border: none;
    color: var(--color-danger);
    cursor: pointer;
    font-size: var(--font-size-sm);
    padding: var(--spacing-1);
    border-radius: var(--border-radius);
    transition: var(--transition-colors);
}

.remove-applicant-btn:hover {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.bulk-select {
    width: 100%;
    padding: var(--spacing-2) var(--spacing-3);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    font-size: var(--font-size-base);
    background-color: var(--color-white);
}

.bulk-warning {
    background-color: #fff3cd;
    border: 1px solid #ffeaa7;
    color: #856404;
    padding: var(--spacing-3);
    border-radius: var(--border-radius);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-4);
}

/* Responsive adjustments */

@media (max-width: 768px) {
    .modal-container {
        margin: var(--spacing-2);
        max-width: none;
        width: calc(100% - var(--spacing-4));
    }
    
    .modal-footer {
        flex-direction: column;
        gap: var(--spacing-3);
    }
    
    .modal-actions-left,
    .modal-actions-right {
        width: 100%;
        justify-content: center;
    }
    
    .modal-btn {
        flex: 1;
        min-width: auto;
    }
    
    .detail-grid {
        grid-template-columns: 1fr;
    }
    
    .selected-applicant-item {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-1);
    }
}

/* Blacklist Modal Specific Styles */

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: var(--spacing-3);
    margin-top: var(--spacing-4);
    padding-top: var(--spacing-4);
    border-top: 1px solid var(--color-gray-200);
}

.cancel-btn {
    background-color: var(--color-gray-200);
    color: var(--color-gray-700);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-4);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: var(--transition-colors);
    min-width: 80px;
}

.cancel-btn:hover {
    background-color: var(--color-gray-300);
}

.confirm-btn {
    background-color: var(--color-danger);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-4);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    transition: var(--transition-colors);
    min-width: 80px;
}

.confirm-btn:hover {
    background-color: #c82333;
}

/* 7. 테이블 스타일 */

/* ========================================
   기본 테이블 구조
   ======================================== */

.table {
    width: 100%;
    border-collapse: collapse;
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    margin-bottom: var(--spacing-lg);
    border: 1px solid var(--border-color);
}

.table th,
.table td {
    padding: var(--spacing-md);
    text-align: left;
    border-bottom: 1px solid var(--border-color);
    vertical-align: middle;
}

.table th {
    background-color: var(--color-gray-50);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: sticky;
    top: 0;
    z-index: 10;
}

.table tbody tr {
    transition: background-color 0.2s ease;
}

.table tbody tr:hover {
    background-color: rgba(50, 115, 220, 0.05);
}

.table tbody tr:last-child td {
    border-bottom: none;
}

/* ========================================
   테이블 크기 변형
   ======================================== */

.table-sm th,
.table-sm td {
    padding: var(--spacing-sm);
}

.table-lg th,
.table-lg td {
    padding: var(--spacing-lg);
}

.table-compact th,
.table-compact td {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-sm);
}

/* ========================================
   테이블 변형 클래스
   ======================================== */

/* 줄무늬 테이블 */

.table-striped tbody tr:nth-child(even) {
    background-color: rgba(0, 0, 0, 0.02);
}

.table-striped tbody tr:nth-child(even):hover {
    background-color: rgba(50, 115, 220, 0.08);
}

/* 테두리 테이블 */

.table-bordered {
    border: 1px solid var(--border-color);
}

.table-bordered th,
.table-bordered td {
    border: 1px solid var(--border-color);
}

.table-bordered thead th {
    border-bottom-width: 2px;
}

/* 테두리 없는 테이블 */

.table-borderless th,
.table-borderless td,
.table-borderless thead th,
.table-borderless tbody tr {
    border: none;
}

/* ========================================
   상태별 행 스타일
   ======================================== */

.table-row-success,
.table tbody tr.success {
    background-color: rgba(40, 167, 69, 0.1);
    border-left: 3px solid var(--success-color);
}

.table-row-warning,
.table tbody tr.warning {
    background-color: rgba(255, 193, 7, 0.1);
    border-left: 3px solid var(--warning-color);
}

.table-row-danger,
.table tbody tr.danger {
    background-color: rgba(220, 53, 69, 0.1);
    border-left: 3px solid var(--danger-color);
}

.table-row-info,
.table tbody tr.info {
    background-color: rgba(23, 162, 184, 0.1);
    border-left: 3px solid var(--info-color);
}

.table-row-primary,
.table tbody tr.primary {
    background-color: rgba(50, 115, 220, 0.1);
    border-left: 3px solid var(--primary-color);
}

.table-row-selected,
.table tbody tr.selected {
    background-color: rgba(50, 115, 220, 0.15);
    border-left: 3px solid var(--primary-color);
}

/* ========================================
   정렬 가능한 헤더 스타일
   ======================================== */

.table th.sortable {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
    position: relative;
    padding-right: calc(var(--spacing-md) + 20px);
}

.table th.sortable:hover {
    background-color: var(--color-gray-100);
}

.table th.sortable::after {
    content: '↕';
    position: absolute;
    right: var(--spacing-sm);
    top: 50%;
    transform: translateY(-50%);
    opacity: 0.5;
    font-size: var(--font-size-sm);
}

.table th.sortable.asc::after {
    content: '↑';
    opacity: 1;
    color: var(--primary-color);
}

.table th.sortable.desc::after {
    content: '↓';
    opacity: 1;
    color: var(--primary-color);
}

/* ========================================
   테이블 액션 셀
   ======================================== */

.table-actions {
    display: flex;
    gap: var(--spacing-xs);
    justify-content: center;
    align-items: center;
}

.table-actions .btn {
    padding: var(--spacing-xs) var(--spacing-sm);
    font-size: var(--font-size-xs);
    min-width: auto;
}

.table-cell-center {
    text-align: center;
}

.table-cell-right {
    text-align: right;
}

.table-cell-nowrap {
    white-space: nowrap;
}

.table-cell-truncate {
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ========================================
   그리드 기반 테이블 (기존 호환성)
   ======================================== */

.applicants-table,
.applications-table,
.projects-table {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    border: 1px solid var(--border-color);
}

.applicant-row,
.application-row,
.table-row {
    display: grid;
    align-items: center;
    padding: var(--spacing-md);
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.2s ease;
}

.applicant-row:last-child,
.application-row:last-child,
.table-row:last-child {
    border-bottom: none;
}

.applicant-row:not(.table-header):hover,
.application-row:not(.table-header):hover,
.table-row:not(.table-header):hover {
    background-color: rgba(50, 115, 220, 0.05);
}

.applicant-row.table-header,
.application-row.table-header,
.table-row.table-header {
    background-color: var(--color-gray-50);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
    font-size: var(--font-size-sm);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    position: sticky;
    top: 0;
    z-index: 10;
}

/* ========================================
   테이블 그리드 레이아웃
   ======================================== */

/* 지원자 테이블 레이아웃 */

.applicants-table .applicant-row {
    grid-template-columns: 40px 1fr 100px 90px 120px;
    gap: var(--spacing-sm);
}

/* 프로젝트 테이블 레이아웃 */

.projects-table .table-row {
    grid-template-columns: 50px 1fr 150px 120px 120px 120px;
    gap: var(--spacing-sm);
}

/* 지원서 테이블 레이아웃 */

.applications-table .application-row {
    grid-template-columns: 40px 1fr 120px 100px 90px;
    gap: var(--spacing-sm);
}

/* ========================================
   반응형 테이블
   ======================================== */

.table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    border-radius: var(--border-radius-lg);
}

.table-responsive .table {
    margin-bottom: 0;
    border-radius: 0;
}

/* 모바일 테이블 스택 */

@media (max-width: 768px) {
    .table-mobile-stack {
        border: none;
        box-shadow: none;
    }
    
    .table-mobile-stack,
    .table-mobile-stack thead,
    .table-mobile-stack tbody,
    .table-mobile-stack th,
    .table-mobile-stack td,
    .table-mobile-stack tr {
        display: block;
    }
    
    .table-mobile-stack thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    
    .table-mobile-stack tr {
        background: var(--color-white);
        border: 1px solid var(--border-color);
        border-radius: var(--border-radius-md);
        margin-bottom: var(--spacing-md);
        padding: var(--spacing-md);
        box-shadow: var(--shadow-sm);
    }
    
    .table-mobile-stack td {
        border: none;
        padding: var(--spacing-sm) 0;
        position: relative;
        padding-left: 50%;
    }
    
    .table-mobile-stack td:before {
        content: attr(data-label);
        position: absolute;
        left: 0;
        width: 45%;
        padding-right: var(--spacing-sm);
        white-space: nowrap;
        font-weight: var(--font-weight-semibold);
        color: var(--text-muted);
        font-size: var(--font-size-sm);
    }
    
    /* 그리드 테이블 모바일 반응형 */
    .applicants-table .applicant-row,
    .applications-table .application-row,
    .projects-table .table-row {
        grid-template-columns: 1fr;
        gap: var(--spacing-xs);
        padding: var(--spacing-sm);
    }
    
    .applicants-table .applicant-row:not(.table-header),
    .applications-table .application-row:not(.table-header),
    .projects-table .table-row:not(.table-header) {
        margin-bottom: var(--spacing-md);
        border-radius: var(--border-radius-md);
        border: 1px solid var(--border-color);
        box-shadow: var(--shadow-sm);
    }
}

@media (max-width: 576px) {
    .table th,
    .table td {
        padding: var(--spacing-sm);
        font-size: var(--font-size-sm);
    }
    
    .table-actions {
        flex-direction: column;
        gap: var(--spacing-xs);
    }
    
    .table-actions .btn {
        width: 100%;
    }
}

/* ========================================
   테이블 로딩 및 빈 상태
   ======================================== */

.table-loading {
    position: relative;
}

.table-loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.8);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

.table-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 4px solid var(--color-gray-200);
    border-top: 4px solid var(--primary-color);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    z-index: 101;
}

.table-empty {
    text-align: center;
    padding: var(--spacing-xl) var(--spacing-lg);
    color: var(--text-muted);
    font-style: italic;
}

.table-empty-icon {
    font-size: var(--font-size-2xl);
    margin-bottom: var(--spacing-md);
    opacity: 0.5;
}

/* ========================================
   테이블 페이지네이션
   ======================================== */

.table-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--spacing-lg);
    padding: var(--spacing-md) 0;
}

.table-pagination-info {
    color: var(--text-muted);
    font-size: var(--font-size-sm);
}

.table-pagination-controls {
    display: flex;
    gap: var(--spacing-sm);
}

/* ========================================
   테이블 필터 및 검색
   ======================================== */

.table-filters {
    display: flex;
    gap: var(--spacing-md);
    margin-bottom: var(--spacing-lg);
    align-items: center;
    flex-wrap: wrap;
}

.table-search {
    position: relative;
    flex: 1;
    min-width: 200px;
}

.table-search input {
    width: 100%;
    padding: var(--spacing-sm) var(--spacing-md);
    padding-left: 40px;
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-sm);
}

.table-search::before {
    content: '🔍';
    position: absolute;
    left: var(--spacing-sm);
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
}

.table-filter-select {
    min-width: 120px;
}

/* ========================================
   선택 가능한 테이블
   ======================================== */

.table-selectable tbody tr {
    cursor: pointer;
}

.table-selectable tbody tr:hover {
    background-color: rgba(50, 115, 220, 0.08);
}

.table-selectable tbody tr.selected {
    background-color: rgba(50, 115, 220, 0.15);
    border-left: 3px solid var(--primary-color);
}

.table-checkbox {
    width: 20px;
}

.table-checkbox input[type="checkbox"] {
    margin: 0;
    transform: scale(1.1);
}

/* ========================================
   테이블 요약
   ======================================== */

.table-summary {
    background-color: var(--color-gray-50);
    font-weight: var(--font-weight-semibold);
}

.table-summary td {
    border-top: 2px solid var(--border-color);
}

/* ========================================
   애니메이션
   ======================================== */

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* ========================================
   인쇄 스타일
   ======================================== */

@media print {
    .table {
        border-collapse: collapse;
        box-shadow: none;
    }
    
    .table th,
    .table td {
        border: 1px solid #000;
        padding: var(--spacing-xs);
    }
    
    .table tbody tr:hover {
        background-color: transparent;
    }
    
    .table-actions,
    .table-checkbox {
        display: none;
    }
}

/* ========================================
   접근성 개선
   ======================================== */

.table th[scope="col"] {
    text-align: left;
}

.table th[scope="row"] {
    font-weight: var(--font-weight-semibold);
}

.table-caption {
    caption-side: top;
    text-align: left;
    padding: var(--spacing-md) 0;
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
}

/* 고대비 모드 지원 */

@media (prefers-contrast: high) {
    .table {
        border: 2px solid var(--text-color);
    }
    
    .table th,
    .table td {
        border: 1px solid var(--text-color);
    }
    
    .table tbody tr:hover {
        background-color: var(--color-gray-200);
        color: var(--text-color);
    }
}

/* 애니메이션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
    .table tbody tr,
    .applicant-row,
    .application-row,
    .table-row {
        transition: none;
    }
    
    .table-loading::after {
        animation: none;
        border: 4px solid var(--primary-color);
    }
}

/* ========================================
   테이블 반응형 개선
   ======================================== */

/* 스마트폰 세로 모드 (480px 이하) */

@media (max-width: 480px) {
    .table {
        font-size: var(--font-size-sm);
        border-radius: var(--border-radius-md);
    }

    .table th,
    .table td {
        padding: var(--spacing-xs) var(--spacing-sm);
        vertical-align: middle;
    }

    .table th {
        font-size: var(--font-size-xs);
        text-transform: uppercase;
        letter-spacing: 0.5px;
        background-color: var(--primary-color);
        color: var(--white);
        border: none;
        position: sticky;
        top: 0;
        z-index: 10;
    }

    /* 중요한 열만 표시 */
    .table-mobile-priority-low {
        display: none;
    }

    .table-mobile-priority-medium {
        display: table-cell;
        font-size: var(--font-size-xs);
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .table-mobile-priority-high {
        display: table-cell;
        font-weight: var(--font-weight-medium);
    }

    /* 모바일 테이블 액션 */
    .table-actions {
        display: flex;
        flex-direction: column;
        gap: var(--spacing-xs);
        min-width: 60px;
    }

    .table-actions .btn {
        font-size: var(--font-size-xs);
        padding: var(--spacing-xs);
        min-height: 32px;
        min-width: 32px;
    }

    /* 테이블 필터 모바일 최적화 */
    .table-filters {
        flex-direction: column;
        gap: var(--spacing-sm);
        margin-bottom: var(--spacing-md);
    }

    .table-search {
        width: 100%;
        margin-bottom: var(--spacing-sm);
    }

    .table-search input {
        font-size: 16px; /* iOS 줌 방지 */
        min-height: 44px;
        border-radius: var(--border-radius-lg);
    }

    /* 페이지네이션 모바일 최적화 */
    .table-pagination {
        flex-direction: column;
        gap: var(--spacing-md);
        text-align: center;
    }

    .table-pagination-controls {
        justify-content: center;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    .table-pagination-controls .btn {
        min-height: 44px;
        min-width: 44px;
        padding: var(--spacing-sm);
    }
}

/* 태블릿 세로 모드 (768px 이하) */

@media (max-width: 768px) {
    .table-responsive {
        border-radius: var(--border-radius-md);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        overflow: hidden;
    }

    .table {
        margin-bottom: 0;
    }

    /* 테이블 헤더 고정 */
    .table thead th {
        position: sticky;
        top: 0;
        background-color: var(--primary-color);
        color: var(--white);
        z-index: 10;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }

    /* 행 호버 효과 개선 */
    .table tbody tr:hover {
        background-color: rgba(50, 115, 220, 0.08);
        transform: scale(1.01);
        transition: all 0.2s ease;
    }

    /* 상태별 행 스타일 강화 */
    .table-row-success,
    .applicant-row.accepted,
    .application-row.approved {
        border-left: 4px solid var(--success-color);
        background-color: rgba(40, 167, 69, 0.05);
    }

    .table-row-warning,
    .applicant-row.pending,
    .application-row.pending {
        border-left: 4px solid var(--warning-color);
        background-color: rgba(255, 193, 7, 0.05);
    }

    .table-row-danger,
    .applicant-row.rejected,
    .application-row.rejected {
        border-left: 4px solid var(--danger-color);
        background-color: rgba(220, 53, 69, 0.05);
    }

    /* 정렬 가능한 헤더 개선 */
    .table th.sortable {
        cursor: pointer;
        -webkit-user-select: none;
           -moz-user-select: none;
                user-select: none;
        transition: all 0.3s ease;
        position: relative;
    }

    .table th.sortable:hover {
        background-color: var(--primary-hover);
        transform: scale(1.02);
    }

    .table th.sortable::after {
        margin-left: var(--spacing-sm);
        font-size: var(--font-size-sm);
        opacity: 0.7;
    }

    .table th.sortable.asc::after {
        opacity: 1;
        color: var(--warning-color);
    }

    .table th.sortable.desc::after {
        opacity: 1;
        color: var(--warning-color);
    }
}

/* 데스크톱 최적화 (992px 이상) */

@media (min-width: 992px) {
    .table {
        transition: all 0.3s ease;
    }

    .table:hover {
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.1);
    }

    /* 데스크톱에서 호버 효과 강화 */
    .table tbody tr:hover {
        background-color: rgba(50, 115, 220, 0.06);
        transform: translateX(2px);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }

    /* 정렬 가능한 헤더 호버 효과 */
    .table th.sortable:hover {
        background-color: var(--primary-hover);
        color: var(--white);
        transform: translateY(-1px);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    /* 테이블 액션 호버 효과 */
    .table-actions .btn:hover {
        transform: scale(1.1);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    }

    /* 체크박스 호버 효과 */
    .table-checkbox input[type="checkbox"]:hover {
        transform: scale(1.2);
        cursor: pointer;
    }

    /* 필터 및 검색 호버 효과 */
    .table-search input:hover {
        border-color: rgba(50, 115, 220, 0.5);
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    }
}

/* ==========================================================================
   Navigation
   ========================================================================== */

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px;
  background-color: white;
  border-bottom: 1px solid #e9ecef;
  position: sticky;
  top: 0;
  z-index: 100;
}

.logo h1 {
  color: #3273dc;
  font-size: 2rem;
  font-weight: 700;
  text-transform: none;
  cursor: pointer;
}

.logo-button {
  background: none;
  border: none;
  padding: 0;
  font: inherit;
  cursor: pointer;
  color: inherit;
}

.desktop-nav ul {
  display: flex;
  list-style: none;
}

.desktop-nav li {
  margin-left: 30px;
}

.desktop-nav a {
  color: #333;
  text-decoration: none;
  font-weight: 500;
  padding: 8px 0;
  position: relative;
}

.desktop-nav a:hover,
.desktop-nav a.active {
  color: #3273dc;
}

.desktop-nav a.active:after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #3273dc;
}

.auth-buttons {
  display: flex;
  gap: 10px;
}

.login-btn {
  background-color: white;
  border: 1px solid #333;
  color: #333;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.9rem;
}

.login-btn:hover {
  background-color: #f8f9fa;
}

.menu-btn {
  display: none;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}

.user-dropdown {
  position: relative;
}

.user-btn {
  display: flex;
  align-items: center;
  background-color: white;
  border: 1px solid #3273dc;
  color: #3273dc;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.9rem;
}

.dropdown-arrow {
  font-size: 0.8rem;
  margin-left: 8px;
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  right: 0;
  background-color: white;
  border: 1px solid #eee;
  border-radius: 4px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  width: 180px;
  margin-top: 8px;
  z-index: 100;
}

.dropdown-menu button {
  display: block;
  width: 100%;
  text-align: left;
  padding: 10px 15px;
  background: none;
  border: none;
  border-bottom: 1px solid #eee;
  cursor: pointer;
  font-size: 0.9rem;
}

.dropdown-menu button:last-child {
  border-bottom: none;
}

.dropdown-menu button:hover {
  background-color: #f5f5f5;
  color: #3273dc;
}

/* 모바일 메뉴 */

.mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: -300px;
  width: 300px;
  height: 100vh;
  background-color: white;
  box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1);
  transition: right 0.3s ease-in-out;
  z-index: 1000;
  padding: 20px;
}

.mobile-menu.open {
  right: 0;
}

.close-btn {
  background: none;
  border: none;
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 1.5rem;
  cursor: pointer;
}

.mobile-menu ul {
  list-style: none;
  margin-top: 60px;
}

.mobile-menu li {
  margin-bottom: 20px;
}

.mobile-menu a {
  color: #333;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 500;
}

.user-info {
  font-weight: bold;
  color: #3273dc;
  padding: 0 0 10px 0;
  border-bottom: 1px solid #eee;
  margin-bottom: 15px;
}

@media (max-width: 768px) {
  .desktop-nav,
  .auth-buttons {
    display: none;
  }

  .menu-btn {
    display: block;
  }

  .mobile-menu {
    display: block;
  }
}

/* Cards */

.card {
    position: relative;
    display: flex;
    flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: var(--color-white);
    background-clip: border-box;
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-sm);
}

.card > hr {
    margin-right: 0;
    margin-left: 0;
}

.card > .list-group {
    border-top: inherit;
    border-bottom: inherit;
}

.card > .list-group:first-child {
    border-top-width: 0;
    border-top-left-radius: calc(var(--border-radius) - 1px);
    border-top-right-radius: calc(var(--border-radius) - 1px);
}

.card > .list-group:last-child {
    border-bottom-width: 0;
    border-bottom-right-radius: calc(var(--border-radius) - 1px);
    border-bottom-left-radius: calc(var(--border-radius) - 1px);
}

.card-body {
    flex: 1 1 auto;
    padding: var(--spacing-4);
}

.card-title {
    margin-bottom: var(--spacing-2);
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-medium);
}

.card-subtitle {
    margin-top: calc(var(--spacing-2) * -0.5);
    margin-bottom: 0;
    color: var(--color-gray-600);
}

.card-text:last-child {
    margin-bottom: 0;
}

.card-link:hover {
    text-decoration: none;
}

.card-link + .card-link {
    margin-left: var(--spacing-4);
}

.card-header {
    padding: var(--spacing-2) var(--spacing-4);
    margin-bottom: 0;
    background-color: var(--color-gray-100);
    border-bottom: 1px solid var(--color-gray-300);
    border-top-left-radius: calc(var(--border-radius) - 1px);
    border-top-right-radius: calc(var(--border-radius) - 1px);
}

.card-header:first-child {
    border-radius: var(--border-radius) var(--border-radius) 0 0;
}

.card-footer {
    padding: var(--spacing-2) var(--spacing-4);
    background-color: var(--color-gray-100);
    border-top: 1px solid var(--color-gray-300);
    border-bottom-right-radius: calc(var(--border-radius) - 1px);
    border-bottom-left-radius: calc(var(--border-radius) - 1px);
}

.card-header-tabs {
    margin-right: calc(var(--spacing-4) * -0.5);
    margin-bottom: calc(var(--spacing-2) * -1);
    margin-left: calc(var(--spacing-4) * -0.5);
    border-bottom: 0;
}

.card-header-pills {
    margin-right: calc(var(--spacing-4) * -0.5);
    margin-left: calc(var(--spacing-4) * -0.5);
}

.card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: var(--spacing-4);
    border-radius: calc(var(--border-radius) - 1px);
}

.card-img,
.card-img-top,
.card-img-bottom {
    width: 100%;
}

.card-img,
.card-img-top {
    border-top-left-radius: calc(var(--border-radius) - 1px);
    border-top-right-radius: calc(var(--border-radius) - 1px);
}

.card-img,
.card-img-bottom {
    border-bottom-right-radius: calc(var(--border-radius) - 1px);
    border-bottom-left-radius: calc(var(--border-radius) - 1px);
}

/* Card groups */

.card-group > .card {
    margin-bottom: var(--spacing-3);
}

@media (min-width: 576px) {
    .card-group {
        display: flex;
        flex-flow: row wrap;
    }
    
    .card-group > .card {
        flex: 1 0 0%;
        margin-bottom: 0;
    }
    
    .card-group > .card + .card {
        margin-left: 0;
        border-left: 0;
    }
    
    .card-group > .card:not(:last-child) {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    
    .card-group > .card:not(:first-child) {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
    }
}

/* Card deck */

.card-deck .card {
    margin-bottom: var(--spacing-4);
}

@media (min-width: 576px) {
    .card-deck {
        display: flex;
        flex-flow: row wrap;
        margin-right: calc(var(--spacing-4) * -0.5);
        margin-left: calc(var(--spacing-4) * -0.5);
    }
    
    .card-deck .card {
        flex: 1 0 0%;
        margin-right: calc(var(--spacing-4) * 0.5);
        margin-bottom: 0;
        margin-left: calc(var(--spacing-4) * 0.5);
    }
}

/* Card columns */

.card-columns .card {
    margin-bottom: var(--spacing-3);
}

@media (min-width: 576px) {
    .card-columns {
        -moz-column-count: 3;
             column-count: 3;
        -moz-column-gap: var(--spacing-4);
             column-gap: var(--spacing-4);
        orphans: 1;
        widows: 1;
    }
    
    .card-columns .card {
        display: inline-block;
        width: 100%;
    }
}

/* 6. 카드 스타일 */

/* ========================================
   카드 기본 구조
   ======================================== */

.card {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    overflow: hidden;
    border: 1px solid var(--border-color);
    position: relative;
}

.card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.card.clickable {
    cursor: pointer;
}

.card.clickable:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
}

/* ========================================
   카드 크기 변형
   ======================================== */

.card-sm {
    border-radius: var(--border-radius-md);
}

.card-md {
    border-radius: var(--border-radius-lg);
}

.card-lg {
    border-radius: var(--border-radius-xl);
}

/* ========================================
   카드 구성 요소
   ======================================== */

.card-header {
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
    background-color: var(--color-white);
}

.card-header h3,
.card-header h4,
.card-header h5 {
    margin: 0;
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
}

.card-header.no-border {
    border-bottom: none;
}

.card-body {
    padding: var(--spacing-lg);
}

.card-body p {
    margin-bottom: var(--spacing-md);
    line-height: 1.6;
    color: var(--text-color);
}

.card-body p:last-child {
    margin-bottom: 0;
}

.card-footer {
    padding: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
    background-color: var(--color-gray-50);
}

.card-footer.no-border {
    border-top: none;
    background-color: transparent;
}

/* ========================================
   카드 이미지
   ======================================== */

.card-img-top {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
    border-top-left-radius: var(--border-radius-lg);
    border-top-right-radius: var(--border-radius-lg);
}

.card-img-bottom {
    width: 100%;
    height: 200px;
    -o-object-fit: cover;
       object-fit: cover;
    border-bottom-left-radius: var(--border-radius-lg);
    border-bottom-right-radius: var(--border-radius-lg);
}

.card-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: end;
    padding: var(--spacing-lg);
    background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.7));
    color: var(--color-white);
    border-radius: var(--border-radius-lg);
}

/* ========================================
   프로젝트 카드
   ======================================== */

.project-card {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    overflow: hidden;
    border: 1px solid var(--border-color);
    cursor: pointer;
    position: relative;
}

.project-card:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-4px);
    border-color: var(--primary-color);
}

.project-card-header {
    padding: var(--spacing-lg);
    border-bottom: 1px solid var(--border-color);
}

.project-card-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
    margin: 0 0 var(--spacing-sm) 0;
    line-height: 1.4;
}

.project-card-company {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
}

.project-card-body {
    padding: var(--spacing-lg);
}

.project-card-description {
    font-size: var(--font-size-sm);
    color: var(--text-color);
    line-height: 1.6;
    margin-bottom: var(--spacing-md);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.project-card-skills {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-xs);
    margin-bottom: var(--spacing-md);
}

.project-card-skill {
    display: inline-block;
    padding: var(--spacing-xs) var(--spacing-sm);
    background-color: var(--color-gray-100);
    color: var(--text-muted);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.project-card-footer {
    padding: var(--spacing-lg);
    border-top: 1px solid var(--border-color);
    background-color: var(--color-gray-50);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-card-date {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
}

.project-card-status {
    padding: var(--spacing-xs) var(--spacing-sm);
    border-radius: var(--border-radius-md);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.project-card-status.active {
    background-color: var(--success-color);
    color: var(--color-white);
}

.project-card-status.closed {
    background-color: var(--color-gray-400);
    color: var(--color-white);
}

.project-card-status.pending {
    background-color: var(--warning-color);
    color: var(--color-white);
}

/* ========================================
   사용자 카드
   ======================================== */

.user-card {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    overflow: hidden;
    border: 1px solid var(--border-color);
    text-align: center;
}

.user-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.user-card-avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    -o-object-fit: cover;
       object-fit: cover;
    margin: var(--spacing-lg) auto var(--spacing-md);
    border: 3px solid var(--border-color);
}

.user-card-name {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
    margin: 0 0 var(--spacing-xs) 0;
}

.user-card-role {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0 0 var(--spacing-md) 0;
}

.user-card-stats {
    display: flex;
    justify-content: space-around;
    padding: var(--spacing-md) 0;
    border-top: 1px solid var(--border-color);
    margin-top: var(--spacing-md);
}

.user-card-stat {
    text-align: center;
}

.user-card-stat-number {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--primary-color);
    display: block;
}

.user-card-stat-label {
    font-size: var(--font-size-xs);
    color: var(--text-muted);
    margin-top: var(--spacing-xs);
}

/* ========================================
   정보 카드
   ======================================== */

.info-card {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    overflow: hidden;
    border: 1px solid var(--border-color);
}

.info-card:hover {
    box-shadow: var(--shadow-md);
}

.info-card-icon {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-2xl);
    margin-bottom: var(--spacing-md);
}

.info-card-icon.primary {
    background-color: rgba(50, 115, 220, 0.1);
    color: var(--primary-color);
}

.info-card-icon.success {
    background-color: rgba(40, 167, 69, 0.1);
    color: var(--success-color);
}

.info-card-icon.warning {
    background-color: rgba(255, 193, 7, 0.1);
    color: var(--warning-color);
}

.info-card-icon.danger {
    background-color: rgba(220, 53, 69, 0.1);
    color: var(--danger-color);
}

.info-card-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    color: var(--text-color);
    margin: 0 0 var(--spacing-sm) 0;
}

.info-card-description {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    line-height: 1.6;
    margin: 0;
}

/* ========================================
   통계 카드
   ======================================== */

.stats-card {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    transition: all 0.3s ease;
    overflow: hidden;
    border: 1px solid var(--border-color);
    position: relative;
}

.stats-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.stats-card-header {
    padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.stats-card-title {
    font-size: var(--font-size-sm);
    color: var(--text-muted);
    margin: 0;
    font-weight: var(--font-weight-medium);
}

.stats-card-icon {
    width: 40px;
    height: 40px;
    border-radius: var(--border-radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--font-size-lg);
}

.stats-card-body {
    padding: 0 var(--spacing-lg) var(--spacing-lg);
}

.stats-card-number {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--text-color);
    margin: 0 0 var(--spacing-xs) 0;
    line-height: 1;
}

.stats-card-change {
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    display: flex;
    align-items: center;
    gap: var(--spacing-xs);
}

.stats-card-change.positive {
    color: var(--success-color);
}

.stats-card-change.negative {
    color: var(--danger-color);
}

.stats-card-change.neutral {
    color: var(--text-muted);
}

/* ========================================
   카드 그룹
   ======================================== */

.card-group {
    display: flex;
    gap: var(--spacing-md);
}

.card-group .card {
    flex: 1;
}

.card-deck {
    display: grid;
    gap: var(--spacing-lg);
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.card-columns {
    -moz-column-count: 3;
         column-count: 3;
    -moz-column-gap: var(--spacing-lg);
         column-gap: var(--spacing-lg);
    -moz-column-fill: balance;
         column-fill: balance;
}

.card-columns .card {
    display: inline-block;
    width: 100%;
    margin-bottom: var(--spacing-lg);
    -moz-column-break-inside: avoid;
         break-inside: avoid;
}

/* ========================================
   카드 상태
   ======================================== */

.card.loading {
    position: relative;
    overflow: hidden;
}

.card.loading::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.8),
        transparent
    );
    animation: shimmer 1.5s infinite;
}

.card.disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}

.card.selected {
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(50, 115, 220, 0.2);
}

/* ========================================
   카드 애니메이션
   ======================================== */

@keyframes shimmer {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

/* ========================================
   반응형 카드 디자인
   ======================================== */

/* 태블릿 및 모바일 최적화 */

@media (max-width: 768px) {
    /* 카드 그룹 레이아웃 최적화 */
    .card-group {
        flex-direction: column;
        gap: var(--spacing-lg);
    }
    
    .card-deck {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }
    
    .card-columns {
        -moz-column-count: 1;
             column-count: 1;
        gap: var(--spacing-lg);
    }

    /* 기본 카드 스타일 조정 */
    .card {
        margin-bottom: var(--spacing-lg);
        border-radius: var(--border-radius-lg);
        box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        overflow: hidden;
        transition: all 0.3s ease;
    }

    .card:hover {
        transform: translateY(-2px);
        box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
    }
    
    .project-card-header,
    .project-card-body,
    .project-card-footer,
    .card-header,
    .card-body,
    .card-footer {
        padding: var(--spacing-lg);
    }

    .card-title {
        font-size: var(--font-size-xl);
        margin-bottom: var(--spacing-md);
        line-height: var(--line-height-tight);
    }

    .card-text {
        font-size: var(--font-size-base);
        line-height: var(--line-height-relaxed);
    }

    /* 프로젝트 카드 모바일 최적화 */
    .project-card-title {
        font-size: var(--font-size-lg);
        margin-bottom: var(--spacing-sm);
        line-height: var(--line-height-tight);
    }

    .project-card-company {
        font-size: var(--font-size-sm);
        margin-bottom: var(--spacing-md);
    }

    .project-card-description {
        font-size: var(--font-size-base);
        line-height: var(--line-height-relaxed);
        margin-bottom: var(--spacing-lg);
    }
    
    .project-card-skills {
        gap: var(--spacing-xs);
        margin-bottom: var(--spacing-md);
        flex-wrap: wrap;
    }
    
    .project-card-skill {
        font-size: var(--font-size-sm);
        padding: var(--spacing-xs) var(--spacing-sm);
        border-radius: var(--border-radius-md);
        white-space: nowrap;
    }

    .project-card-footer {
        border-top: 1px solid var(--border-color);
        background-color: var(--color-gray-50);
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
        gap: var(--spacing-sm);
    }

    /* 사용자 카드 모바일 최적화 */
    .user-card {
        text-align: center;
        padding: var(--spacing-lg);
    }
    
    .user-card-avatar {
        width: 64px;
        height: 64px;
        margin: 0 auto var(--spacing-md);
        border: 3px solid var(--color-white);
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    }

    .user-card-name {
        font-size: var(--font-size-lg);
        margin-bottom: var(--spacing-xs);
    }

    .user-card-role {
        font-size: var(--font-size-base);
        margin-bottom: var(--spacing-lg);
    }

    .user-card-stats {
        flex-direction: column;
        gap: var(--spacing-sm);
    }

    .user-card-stat {
        text-align: center;
        padding: var(--spacing-sm);
        background-color: var(--color-gray-50);
        border-radius: var(--border-radius-md);
    }

    /* 정보 카드 모바일 최적화 */
    .info-card {
        padding: var(--spacing-lg);
        text-align: center;
    }

    .info-card-icon {
        margin-bottom: var(--spacing-md);
        font-size: var(--font-size-3xl);
    }

    .info-card-title {
        font-size: var(--font-size-lg);
        margin-bottom: var(--spacing-sm);
    }

    .info-card-description {
        font-size: var(--font-size-base);
    }

    /* 통계 카드 모바일 최적화 */
    .stats-card {
        text-align: center;
    }

    .stats-card-header {
        padding: var(--spacing-lg) var(--spacing-lg) var(--spacing-md);
    }

    .stats-card-body {
        padding: var(--spacing-md) var(--spacing-lg) var(--spacing-lg);
    }
    
    .stats-card-number {
        font-size: var(--font-size-2xl);
        margin-bottom: var(--spacing-sm);
    }

    .stats-card-change {
        font-size: var(--font-size-sm);
    }
}

/* 작은 모바일 화면 (480px 이하) */

@media (max-width: 480px) {
    .card {
        margin-bottom: var(--spacing-xl);
        border-radius: var(--border-radius-xl);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.12);
    }
    
    .project-card,
    .user-card,
    .info-card,
    .stats-card {
        border-radius: var(--border-radius-xl);
        margin-bottom: var(--spacing-xl);
        box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
    }
    
    .project-card-header,
    .project-card-body,
    .project-card-footer,
    .card-header,
    .card-body,
    .card-footer {
        padding: var(--spacing-xl);
    }

    .card-title {
        font-size: var(--font-size-2xl);
        margin-bottom: var(--spacing-lg);
    }
    
    .project-card-title {
        font-size: var(--font-size-xl);
        margin-bottom: var(--spacing-md);
    }
    
    .project-card-description {
        font-size: var(--font-size-lg);
        line-height: var(--line-height-relaxed);
        -webkit-line-clamp: 3;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .project-card-skills {
        gap: var(--spacing-sm);
        margin-bottom: var(--spacing-lg);
    }

    .project-card-skill {
        font-size: var(--font-size-base);
        padding: var(--spacing-sm) var(--spacing-md);
        border-radius: var(--border-radius-lg);
    }

    .project-card-footer {
        flex-direction: column;
        align-items: stretch;
        gap: var(--spacing-md);
        text-align: center;
    }

    /* 사용자 카드 소형 모바일 최적화 */
    .user-card {
        padding: var(--spacing-xl);
    }

    .user-card-avatar {
        width: 80px;
        height: 80px;
        margin-bottom: var(--spacing-lg);
    }

    .user-card-name {
        font-size: var(--font-size-xl);
    }

    .user-card-role {
        font-size: var(--font-size-lg);
    }

    /* 정보 카드 소형 모바일 최적화 */
    .info-card {
        padding: var(--spacing-xl);
    }

    .info-card-icon {
        font-size: 4rem;
        margin-bottom: var(--spacing-lg);
    }

    .info-card-title {
        font-size: var(--font-size-xl);
        margin-bottom: var(--spacing-md);
    }

    .info-card-description {
        font-size: var(--font-size-lg);
    }

    /* 통계 카드 소형 모바일 최적화 */
    .stats-card-header {
        padding: var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);
    }

    .stats-card-body {
        padding: var(--spacing-lg) var(--spacing-xl) var(--spacing-xl);
    }

    .stats-card-number {
        font-size: var(--font-size-3xl);
        margin-bottom: var(--spacing-md);
    }

    .stats-card-title {
        font-size: var(--font-size-lg);
    }
}

/* 태블릿 최적화 (768px - 991px) */

@media (min-width: 768px) and (max-width: 991px) {
    .card-group {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }

    .card-deck {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--spacing-lg);
    }

    .card-columns {
        -moz-column-count: 2;
             column-count: 2;
        gap: var(--spacing-lg);
    }

    .project-card-header,
    .project-card-body,
    .project-card-footer {
        padding: var(--spacing-md) var(--spacing-lg);
    }

    .project-card-skills {
        gap: var(--spacing-xs);
    }

    .user-card-stats {
        flex-direction: row;
        gap: var(--spacing-md);
    }
}

/* 데스크톱 최적화 (992px 이상) */

@media (min-width: 992px) {
    .card-group {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--spacing-xl);
    }

    .card-deck {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
        gap: var(--spacing-xl);
    }

    .card-columns {
        -moz-column-count: 3;
             column-count: 3;
        gap: var(--spacing-xl);
    }

    /* 데스크톱에서 호버 효과 강화 */
    .card:hover {
        transform: translateY(-4px);
        box-shadow: 0 12px 24px rgba(0, 0, 0, 0.15);
        transition: all 0.3s ease;
    }

    .project-card:hover,
    .user-card:hover,
    .info-card:hover,
    .stats-card:hover {
        transform: translateY(-6px);
        box-shadow: 0 16px 32px rgba(0, 0, 0, 0.2);
    }

    /* 카드 간격 최적화 */
    .card {
        margin-bottom: var(--spacing-xl);
    }

    /* 그리드 자동 조정 */
    .cards-grid {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
        gap: var(--spacing-xl);
        margin: var(--spacing-xl) 0;
    }

    .cards-grid .card {
        margin-bottom: 0;
        height: -moz-fit-content;
        height: fit-content;
    }
}

/* ========================================
   접근성 및 포커스 관리
   ======================================== */

.card:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

.card.clickable:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
}

/* 고대비 모드 지원 */

@media (prefers-contrast: high) {
    .card {
        border: 2px solid var(--text-color);
    }
    
    .project-card-skill {
        border: 1px solid var(--text-muted);
    }
    
    .project-card-status {
        border: 1px solid currentColor;
    }
}

/* 애니메이션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
    .card,
    .project-card,
    .user-card,
    .info-card,
    .stats-card {
        transition: none;
        transform: none;
    }
    
    .card:hover,
    .project-card:hover,
    .user-card:hover,
    .info-card:hover,
    .stats-card:hover {
        transform: none;
    }
    
    .card.loading::before {
        animation: none;
    }
}

/* 3. Page-specific styles - styles for specific pages */

/* Authentication Pages */

.auth-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-4);
    background: linear-gradient(135deg, var(--color-primary-light), var(--color-primary));
}

/* Login Page Specific Styles */

.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-4);
    background-color: var(--color-gray-50);
}

.login-card {
    width: 100%;
    max-width: 450px;
    padding: var(--spacing-8);
    background-color: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    border: 1px solid var(--color-gray-200);
}

.login-header {
    text-align: center;
    margin-bottom: var(--spacing-6);
}

.login-title {
    font-size: 2.5rem;
    font-weight: var(--font-weight-bold);
    color: var(--color-primary);
    margin-bottom: var(--spacing-2);
    letter-spacing: -0.025em;
}

.login-subtitle {
    color: var(--color-gray-600);  
    font-size: var(--font-size-base);
    margin-bottom: var(--spacing-4);
}

.login-section-title {
    font-size: 1.5rem;
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
    margin-bottom: 0;
    text-align: center;
}

.login-form {
    margin-bottom: var(--spacing-6);
}

.login-footer {
    border-top: 1px solid var(--color-gray-200);
    padding-top: var(--spacing-4);
}

.login-form .form-group {
    margin-bottom: var(--spacing-4);
}

.login-form .form-label {
    display: block;
    font-size: var(--font-size-sm);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-700);
    margin-bottom: var(--spacing-2);
}

.login-form .form-input {
    width: 100%;
    padding: var(--spacing-3);
    font-size: var(--font-size-base);
    border: 2px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    background-color: var(--color-white);
    transition: all 0.2s ease-in-out;
}

.login-form .form-input:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.login-form .form-input::-moz-placeholder {
    color: var(--color-gray-400);
}

.login-form .form-input::placeholder {
    color: var(--color-gray-400);
}

.login-form .btn {
    font-weight: var(--font-weight-semibold);
    padding: var(--spacing-3) var(--spacing-4);
    border-radius: var(--border-radius);
    transition: all 0.2s ease-in-out;
}

/* Alert Styles */

.alert {
    padding: var(--spacing-3);
    border-radius: var(--border-radius);
    font-size: var(--font-size-sm);
    text-align: center;
}

.alert-danger {
    background-color: #fef2f2;
    color: #dc2626;
    border: 1px solid #fecaca;
}

.auth-card {
    width: 100%;
    max-width: 400px;
    padding: var(--spacing-8);
    background-color: var(--color-white);
    border-radius: var(--border-radius-xl);
    box-shadow: var(--shadow-xl);
}

.auth-header {
    text-align: center;
    margin-bottom: var(--spacing-6);
}

.auth-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-2);
}

.auth-subtitle {
    color: var(--color-gray-600);
    font-size: var(--font-size-base);
}

.auth-form {
    margin-bottom: var(--spacing-6);
}

.auth-form .form-group {
    margin-bottom: var(--spacing-4);
}

.auth-form .form-control {
    padding: var(--spacing-3);
    font-size: var(--font-size-base);
    border-radius: var(--border-radius-lg);
}

.auth-form .btn {
    width: 100%;
    padding: var(--spacing-3);
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    border-radius: var(--border-radius-lg);
}

.auth-divider {
    text-align: center;
    margin: var(--spacing-4) 0;
    position: relative;
}

.auth-divider::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    background-color: var(--color-gray-300);
}

.auth-divider span {
    background-color: var(--color-white);
    padding: 0 var(--spacing-4);
    color: var(--color-gray-500);
    font-size: var(--font-size-sm);
}

.auth-social {
    margin-bottom: var(--spacing-4);
}

.auth-social .btn {
    width: 100%;
    margin-bottom: var(--spacing-2);
    padding: var(--spacing-3);
    border-radius: var(--border-radius-lg);
    font-weight: var(--font-weight-medium);
}

.auth-footer {
    text-align: center;
    padding-top: var(--spacing-4);
    border-top: 1px solid var(--color-gray-200);
}

.auth-footer a {
    color: var(--color-primary);
    text-decoration: none;
    font-weight: var(--font-weight-medium);
}

.auth-footer a:hover {
    text-decoration: underline;
}

.auth-logo {
    width: 64px;
    height: 64px;
    margin: 0 auto var(--spacing-4);
    background-color: var(--color-primary);
    border-radius: var(--border-radius-full);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-white);
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-bold);
}

.auth-error {
    padding: var(--spacing-3);
    background-color: var(--color-danger);
    color: var(--color-white);
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-4);
    text-align: center;
    font-size: var(--font-size-sm);
}

.auth-success {
    padding: var(--spacing-3);
    background-color: var(--color-success);
    color: var(--color-white);
    border-radius: var(--border-radius);
    margin-bottom: var(--spacing-4);
    text-align: center;
    font-size: var(--font-size-sm);
}

.forgot-password {
    text-align: right;
    margin-top: var(--spacing-2);
}

.forgot-password a {
    color: var(--color-primary);
    text-decoration: none;
    font-size: var(--font-size-sm);
}

.forgot-password a:hover {
    text-decoration: underline;
}

.remember-me {
    display: flex;
    align-items: center;
    margin-bottom: var(--spacing-4);
}

.remember-me .form-check-input {
    margin-right: var(--spacing-2);
}

.remember-me .form-check-label {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
}

/* Responsive adjustments */

@media (max-width: 576px) {
    .auth-container {
        padding: var(--spacing-2);
    }
    
    .auth-card {
        padding: var(--spacing-6);
    }
    
    .auth-title {
        font-size: var(--font-size-2xl);
    }
    
    .login-container {
        padding: var(--spacing-2);
    }
    
    .login-card {
        padding: var(--spacing-6);
        margin: var(--spacing-2);
    }
    
    .login-title {
        font-size: 2rem;
    }
    
    .login-section-title {
        font-size: 1.25rem;
    }
}

/* Projects Pages */

.projects-container {
    padding: var(--spacing-6) 0;
}

.projects-header {
    margin-bottom: var(--spacing-6);
    text-align: center;
}

.projects-title {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-4);
}

.projects-subtitle {
    font-size: var(--font-size-lg);
    color: var(--color-gray-600);
    max-width: 600px;
    margin: 0 auto;
}

.projects-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-6);
    flex-wrap: wrap;
    gap: var(--spacing-4);
}

.projects-search {
    flex: 1;
    max-width: 400px;
}

.projects-search .form-control {
    padding: var(--spacing-3);
    border-radius: var(--border-radius-lg);
}

.projects-filters {
    display: flex;
    gap: var(--spacing-2);
    flex-wrap: wrap;
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--spacing-6);
    margin-bottom: var(--spacing-6);
}

.project-card {
    background-color: var(--color-white);
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    transition: var(--transition-all);
    box-shadow: var(--shadow-sm);
}

.project-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--shadow-lg);
}

.project-card-header {
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-gray-200);
}

.project-card-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-2);
}

.project-card-subtitle {
    color: var(--color-gray-600);
    font-size: var(--font-size-sm);
}

.project-card-body {
    padding: var(--spacing-4);
}

.project-card-description {
    color: var(--color-gray-700);
    margin-bottom: var(--spacing-4);
    line-height: var(--line-height-relaxed);
}

.project-card-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-2);
    margin-bottom: var(--spacing-4);
}

.project-tag {
    padding: var(--spacing-1) var(--spacing-2);
    background-color: var(--color-primary);
    color: var(--color-white);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
}

.project-card-footer {
    padding: var(--spacing-4);
    background-color: var(--color-gray-50);
    border-top: 1px solid var(--color-gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.project-card-actions {
    display: flex;
    gap: var(--spacing-2);
}

.project-card-meta {
    display: flex;
    align-items: center;
    gap: var(--spacing-4);
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
}

.project-status {
    padding: var(--spacing-1) var(--spacing-2);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
}

.project-status.active {
    background-color: var(--color-success);
    color: var(--color-white);
}

.project-status.pending {
    background-color: var(--color-warning);
    color: var(--color-dark);
}

.project-status.completed {
    background-color: var(--color-info);
    color: var(--color-white);
}

.project-status.cancelled {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.project-detail-header {
    background: white;
    color: #333;
    padding: var(--spacing-8) 0;
    margin-bottom: var(--spacing-6);
}

.project-detail-title {
    font-size: var(--font-size-4xl);
    font-weight: var(--font-weight-bold);
    margin-bottom: var(--spacing-2);
}

.project-detail-subtitle {
    font-size: var(--font-size-lg);
    opacity: 0.9;
    margin-bottom: var(--spacing-4);
}

.project-detail-meta {
    display: flex;
    gap: var(--spacing-6);
    flex-wrap: wrap;
}

.project-detail-meta-item {
    display: flex;
    flex-direction: column;
}

.project-detail-meta-label {
    font-size: var(--font-size-sm);
    opacity: 0.8;
    margin-bottom: var(--spacing-1);
}

.project-detail-meta-value {
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
}

.project-detail-content {
    display: block;
    margin-bottom: var(--spacing-6);
}

.project-detail-main {
    background-color: var(--color-white);
    padding: var(--spacing-6);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
}

.project-detail-sidebar {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-4);
}

.project-detail-card {
    background-color: var(--color-white);
    padding: var(--spacing-4);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
}

.project-detail-card h3 {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-semibold);
    margin-bottom: var(--spacing-3);
    color: var(--color-gray-900);
}

.project-progress {
    margin-bottom: var(--spacing-4);
}

.project-progress-bar {
    width: 100%;
    height: 8px;
    background-color: var(--color-gray-200);
    border-radius: var(--border-radius-full);
    overflow: hidden;
}

.project-progress-fill {
    height: 100%;
    background-color: var(--color-primary);
    transition: width 0.3s ease;
}

.project-progress-text {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: var(--spacing-2);
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
}

/* Responsive adjustments */

@media (max-width: 992px) {
    .project-detail-content {
        display: block;
    }
}

@media (max-width: 768px) {
    .projects-actions {
        flex-direction: column;
        align-items: stretch;
    }
    
    .projects-search {
        max-width: none;
    }
    
    .projects-grid {
        grid-template-columns: 1fr;
        gap: var(--spacing-4);
    }
    
    .project-detail-header {
        padding: var(--spacing-6) 0;
    }
    
    .project-detail-title {
        font-size: var(--font-size-3xl);
    }
    
    .project-detail-meta {
        gap: var(--spacing-4);
    }
}

/* Admin Pages */

.admin-layout {
    display: flex;
    min-height: 100vh;
}

.admin-sidebar {
    width: 250px;
    background-color: var(--color-gray-900);
    color: var(--color-white);
    padding: var(--spacing-6) 0;
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    overflow-y: auto;
    transition: var(--transition-transform);
    z-index: var(--z-fixed);
}

.admin-sidebar.collapsed {
    transform: translateX(-100%);
}

.admin-sidebar-header {
    padding: 0 var(--spacing-6) var(--spacing-6);
    border-bottom: 1px solid var(--color-gray-700);
    margin-bottom: var(--spacing-4);
}

.admin-sidebar-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-white);
}

.admin-sidebar-nav {
    padding: 0 var(--spacing-4);
}

.admin-sidebar-nav-item {
    margin-bottom: var(--spacing-1);
}

.admin-sidebar-nav-link {
    display: flex;
    align-items: center;
    padding: var(--spacing-3) var(--spacing-4);
    color: var(--color-gray-300);
    text-decoration: none;
    border-radius: var(--border-radius);
    transition: var(--transition-colors);
}

.admin-sidebar-nav-link:hover {
    background-color: var(--color-gray-800);
    color: var(--color-white);
}

.admin-sidebar-nav-link.active {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.admin-sidebar-nav-icon {
    margin-right: var(--spacing-3);
    font-size: var(--font-size-lg);
}

.admin-main {
    flex: 1;
    margin-left: 250px;
    background-color: var(--color-gray-50);
    transition: var(--transition-all);
}

.admin-main.expanded {
    margin-left: 0;
}

.admin-header {
    background-color: var(--color-white);
    padding: var(--spacing-4) var(--spacing-6);
    border-bottom: 1px solid var(--color-gray-200);
    position: sticky;
    top: 0;
    z-index: var(--z-sticky);
}

.admin-header-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-toggle {
    background: none;
    border: none;
    font-size: var(--font-size-xl);
    color: var(--color-gray-600);
    cursor: pointer;
    padding: var(--spacing-2);
    border-radius: var(--border-radius);
    transition: var(--transition-colors);
}

.admin-toggle:hover {
    background-color: var(--color-gray-100);
}

.admin-header-title {
    font-size: var(--font-size-2xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
}

.admin-header-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-4);
}

.admin-content {
    padding: var(--spacing-6);
}

.admin-page-header {
    margin-bottom: var(--spacing-6);
}

.admin-page-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-2);
}

.admin-page-subtitle {
    color: var(--color-gray-600);
    font-size: var(--font-size-lg);
}

.admin-stats {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: var(--spacing-4);
    margin-bottom: var(--spacing-6);
}

.admin-stat-card {
    background-color: var(--color-white);
    padding: var(--spacing-6);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    border-left: 4px solid var(--color-primary);
}

.admin-stat-card.success {
    border-left-color: var(--color-success);
}

.admin-stat-card.warning {
    border-left-color: var(--color-warning);
}

.admin-stat-card.danger {
    border-left-color: var(--color-danger);
}

.admin-stat-card.info {
    border-left-color: var(--color-info);
}

.admin-stat-title {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    text-transform: uppercase;
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-2);
}

.admin-stat-value {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin-bottom: var(--spacing-2);
}

.admin-stat-change {
    font-size: var(--font-size-sm);
    display: flex;
    align-items: center;
    gap: var(--spacing-1);
}

.admin-stat-change.positive {
    color: var(--color-success);
}

.admin-stat-change.negative {
    color: var(--color-danger);
}

.admin-card {
    background-color: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    margin-bottom: var(--spacing-6);
}

.admin-card-header {
    padding: var(--spacing-4) var(--spacing-6);
    background-color: var(--color-gray-50);
    border-bottom: 1px solid var(--color-gray-200);
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.admin-card-title {
    font-size: var(--font-size-xl);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-900);
}

.admin-card-body {
    padding: var(--spacing-6);
}

.admin-table-container {
    overflow-x: auto;
}

.admin-table {
    width: 100%;
    border-collapse: collapse;
}

.admin-table th {
    background-color: var(--color-gray-50);
    padding: var(--spacing-3) var(--spacing-4);
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    border-bottom: 2px solid var(--color-gray-200);
}

.admin-table td {
    padding: var(--spacing-3) var(--spacing-4);
    border-bottom: 1px solid var(--color-gray-200);
}

.admin-table tbody tr:hover {
    background-color: var(--color-gray-50);
}

.admin-badge {
    padding: var(--spacing-1) var(--spacing-2);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-medium);
    text-transform: uppercase;
}

.admin-badge.primary {
    background-color: var(--color-primary);
    color: var(--color-white);
}

.admin-badge.secondary {
    background-color: var(--color-secondary);
    color: var(--color-white);
}

.admin-badge.success {
    background-color: var(--color-success);
    color: var(--color-white);
}

.admin-badge.danger {
    background-color: var(--color-danger);
    color: var(--color-white);
}

.admin-badge.warning {
    background-color: var(--color-warning);
    color: var(--color-dark);
}

.admin-badge.info {
    background-color: var(--color-info);
    color: var(--color-white);
}

.admin-actions {
    display: flex;
    gap: var(--spacing-2);
}

.admin-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-2);
    margin-top: var(--spacing-4);
}

.admin-pagination-item {
    padding: var(--spacing-2) var(--spacing-3);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    color: var(--color-gray-700);
    text-decoration: none;
    transition: var(--transition-colors);
}

.admin-pagination-item:hover {
    background-color: var(--color-gray-100);
}

.admin-pagination-item.active {
    background-color: var(--color-primary);
    color: var(--color-white);
    border-color: var(--color-primary);
}

.admin-pagination-item.disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* Responsive adjustments */

@media (max-width: 768px) {
    .admin-sidebar {
        transform: translateX(-100%);
    }
    
    .admin-sidebar.show {
        transform: translateX(0);
    }
    
    .admin-main {
        margin-left: 0;
    }
    
    .admin-header-title {
        font-size: var(--font-size-xl);
    }
    
    .admin-page-title {
        font-size: var(--font-size-2xl);
    }
    
    .admin-stats {
        grid-template-columns: 1fr;
    }
    
    .admin-stat-card {
        padding: var(--spacing-4);
    }
    
    .admin-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--spacing-2);
    }
    
    .admin-actions {
        flex-direction: column;
    }
}

/* Admin Applicants Specific Styles */

.admin-applicants-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: var(--spacing-5);
    font-family: var(--font-family);
}

.admin-content-grid {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: var(--spacing-6);
}

.admin-left-section {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
}

.admin-project-list-section {
    padding: 0 var(--spacing-5) var(--spacing-5);
}

.admin-project-list-section h3 {
    font-size: var(--font-size-xl);
    margin-bottom: var(--spacing-5);
    padding-bottom: var(--spacing-2);
    border-bottom: 1px solid var(--color-gray-200);
}

.admin-project-list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: 300px;
    max-height: 70vh;
    overflow-y: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-md);
    background: var(--color-white);
}

.admin-project-item {
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-gray-200);
    cursor: pointer;
    transition: var(--transition-colors);
}

.admin-project-item:hover {
    background-color: var(--color-gray-50);
}

.admin-project-item.selected {
    background-color: var(--color-primary-light);
    border-left: 3px solid var(--color-primary);
}

.admin-project-name {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-1);
}

.admin-project-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    margin-top: var(--spacing-1);
    width: 100%;
}

.admin-project-company {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: var(--spacing-2);
    max-width: 65%;
}

.admin-project-count {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    background-color: var(--color-gray-100);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
    min-width: 65px;
    text-align: center;
    flex-shrink: 0;
}

.admin-applicants-section {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--spacing-5);
    min-height: 500px;
}

.admin-applicants-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-5);
    padding-bottom: var(--spacing-2);
    border-bottom: 1px solid var(--color-gray-200);
}

.admin-applicants-header h3 {
    font-size: var(--font-size-xl);
    margin: 0;
}

.admin-applicant-count {
    color: var(--color-gray-600);
    font-size: var(--font-size-base);
}

.admin-edit-project-btn {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-base);
    cursor: pointer;
    transition: var(--transition-colors);
}

.admin-edit-project-btn:hover {
    background-color: var(--color-primary-dark);
}

.admin-tabs {
    display: flex;
    border-bottom: 1px solid var(--color-gray-200);
    margin-bottom: var(--spacing-4);
}

.admin-tab-btn {
    flex: 1;
    background: none;
    border: none;
    padding: var(--spacing-3) 0;
    font-size: var(--font-size-base);
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-600);
    cursor: pointer;
    transition: var(--transition-all);
}

.admin-tab-btn.active {
    color: var(--color-primary);
    box-shadow: inset 0 -2px 0 var(--color-primary);
}

.admin-tab-btn:hover:not(.active) {
    color: var(--color-gray-800);
    background-color: var(--color-gray-50);
}

.admin-search-container {
    position: relative;
    margin-bottom: var(--spacing-4);
    width: 100%;
}

.admin-search-input {
    width: 100%;
    padding: var(--spacing-2) var(--spacing-8) var(--spacing-2) var(--spacing-3);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    font-size: var(--font-size-base);
    transition: var(--transition-colors);
}

.admin-search-input:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-primary-light);
}

.admin-clear-search-btn {
    position: absolute;
    right: var(--spacing-2);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--color-gray-500);
    cursor: pointer;
    font-size: var(--font-size-base);
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-full);
    transition: var(--transition-colors);
}

.admin-clear-search-btn:hover {
    background-color: var(--color-gray-100);
    color: var(--color-gray-700);
}

.admin-bulk-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-4);
    padding: var(--spacing-2);
    background-color: var(--color-gray-50);
    border-radius: var(--border-radius);
}

.admin-select-all-container {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.admin-select-all-container input[type="checkbox"] {
    margin-right: var(--spacing-2);
}

.admin-bulk-update-btn {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-base);
    cursor: pointer;
    transition: var(--transition-colors);
}

.admin-bulk-update-btn:hover {
    background-color: var(--color-primary-dark);
}

.admin-applicants-table {
    width: 100%;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    margin-top: var(--spacing-5);
}

.admin-applicant-row {
    display: flex;
    border-bottom: 1px solid var(--color-gray-200);
}

.admin-applicant-row:last-child {
    border-bottom: none;
}

.admin-applicant-row.table-header {
    background-color: var(--color-gray-50);
    font-weight: var(--font-weight-semibold);
}

.admin-applicant-cell {
    flex: 1;
    padding: var(--spacing-3);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: var(--font-size-base);
}

.admin-applicant-cell.checkbox-cell {
    flex: 0.5;
    display: flex;
    justify-content: center;
    align-items: center;
}

.admin-blacklist-tag {
    background-color: var(--color-danger);
    color: var(--color-white);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-semibold);
    margin-left: var(--spacing-1);
    display: inline-block;
    vertical-align: middle;
}

/* Responsive Design */

@media (max-width: 992px) {
    .admin-content-grid {
        grid-template-columns: 1fr;
    }
    
    .admin-applicants-section {
        margin-top: var(--spacing-5);
    }
}

/* Page Header */

.page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-6);
}

.page-title {
    font-size: var(--font-size-3xl);
    font-weight: var(--font-weight-bold);
    color: var(--color-gray-900);
    margin: 0;
}

/* Loading and Error States */

.loading-container,
.error-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 60px 0;
    text-align: center;
}

.loading-spinner {
    width: 50px;
    height: 50px;
    border: 5px solid var(--color-gray-200);
    border-top: 5px solid var(--color-primary);
    border-radius: 50%;
    animation: spin 1s linear infinite;
    margin-bottom: var(--spacing-4);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.loading-text {
    color: var(--color-gray-600);
    font-size: var(--font-size-lg);
}

.error-icon {
    font-size: 3rem;
    margin-bottom: var(--spacing-4);
    color: var(--color-danger);
}

.error-text {
    color: var(--color-danger);
    font-size: var(--font-size-lg);
    margin-bottom: var(--spacing-4);
}

.retry-btn {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-4);
    cursor: pointer;
    font-size: var(--font-size-base);
}

.retry-btn:hover {
    background-color: var(--color-primary-dark);
}

/* Additional Missing Classes for AdminApplicants */

/* Applicants Section (not admin-applicants-section) */

.applicants-section {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--spacing-5);
    min-height: 500px;
}

/* Applicants Header */

.applicants-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-5);
    padding-bottom: var(--spacing-2);
    border-bottom: 1px solid var(--color-gray-200);
}

.applicants-header h3 {
    font-size: var(--font-size-xl);
    margin: 0;
}

.header-actions {
    display: flex;
    align-items: center;
    gap: var(--spacing-4);
}

.applicant-count {
    color: var(--color-gray-600);
    font-size: var(--font-size-base);
}

.edit-project-btn {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-base);
    cursor: pointer;
    transition: var(--transition-colors);
}

.edit-project-btn:hover {
    background-color: var(--color-primary-dark, #2860b5);
}

.view-project-btn {
    background-color: #17a2b8 !important;
    color: #ffffff !important;
    border: none;
    border-radius: 0.25rem;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    margin-right: 0.5rem;
}

.view-project-btn:hover {
    background-color: #138496;
    transform: translateY(-1px);
}

/* Generic project list classes (used in applicants tab) */

.project-list-section {
    padding: 0 var(--spacing-5) var(--spacing-5);
}

.search-container {
    position: relative;
    margin-bottom: var(--spacing-4);
    width: 100%;
}

.search-input {
    width: 100%;
    padding: var(--spacing-2) var(--spacing-8) var(--spacing-2) var(--spacing-3);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    font-size: var(--font-size-base);
    transition: var(--transition-colors);
}

.search-input:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-primary-light);
}

.clear-search-btn {
    position: absolute;
    right: var(--spacing-2);
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    color: var(--color-gray-500);
    cursor: pointer;
    font-size: var(--font-size-base);
    padding: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-full);
    transition: var(--transition-colors);
}

.clear-search-btn:hover {
    background-color: var(--color-gray-100);
    color: var(--color-gray-700);
}

.project-list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: 300px;
    max-height: 190vh;
    overflow-y: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-md);
    background: var(--color-white);
}

.project-item {
    padding: var(--spacing-4);
    border-bottom: 1px solid var(--color-gray-200);
    cursor: pointer;
    transition: var(--transition-colors);
}

.project-item:hover {
    background-color: var(--color-gray-50);
}

.project-item.selected {
    background-color: var(--color-primary-light);
    border-left: 3px solid var(--color-primary);
}

.project-name {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    line-height: var(--line-height-tight);
}

.project-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    margin-top: var(--spacing-1);
    width: 100%;
}

.project-company {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: var(--spacing-2);
    max-width: 65%;
}

.project-count {
    font-size: var(--font-size-sm);
    color: var(--color-gray-600);
    background-color: var(--color-gray-100);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
    min-width: 65px;
    text-align: center;
    flex-shrink: 0;
}

/* Empty states */

.empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-10);
    color: var(--color-gray-600);
    font-size: var(--font-size-lg);
}

.empty-message {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--spacing-8);
    color: var(--color-gray-600);
    font-size: var(--font-size-base);
    text-align: center;
}

.empty-message.center {
    padding: var(--spacing-12);
    font-size: var(--font-size-lg);
}

/* Bulk Actions */

.bulk-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-4);
    padding: var(--spacing-2);
    background-color: var(--color-gray-50);
    border-radius: var(--border-radius);
}

.select-all-container {
    display: flex;
    align-items: center;
    cursor: pointer;
}

.select-all-container input[type="checkbox"] {
    margin-right: var(--spacing-2);
}

.bulk-update-btn {
    background-color: var(--color-primary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-2) var(--spacing-3);
    font-size: var(--font-size-base);
    cursor: pointer;
    transition: var(--transition-colors);
}

.bulk-update-btn:hover {
    background-color: var(--color-primary-dark);
}

/* Applicants Table */

.applicants-table {
    width: 100%;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-lg);
    overflow: hidden;
    margin-top: var(--spacing-5);
    font-size: var(--font-size-sm);
}

.applicant-row {
    display: flex;
    border-bottom: 1px solid var(--color-gray-200);
    min-height: 60px;
    align-items: center;
}

.applicant-row:last-child {
    border-bottom: none;
}

.applicant-row.table-header {
    background-color: var(--color-gray-50);
    font-weight: var(--font-weight-semibold);
    color: var(--color-gray-700);
    min-height: 50px;
    border-bottom: 2px solid var(--color-gray-300);
}

.applicant-cell {
    padding: var(--spacing-3) var(--spacing-2);
    display: flex;
    align-items: center;
    font-size: var(--font-size-sm);
    line-height: 1.4;
    word-break: break-word;
    border-right: 1px solid var(--color-gray-100);
}

.applicant-cell:last-child {
    border-right: none;
}

/* 컬럼별 너비와 정렬 설정 */

.applicant-cell.checkbox-cell {
    flex: 0 0 60px;
    justify-content: center;
    padding: var(--spacing-2);
}

.applicant-cell:nth-child(2) { /* 이름 */
    flex: 0 0 120px;
    justify-content: flex-start;
    font-weight: var(--font-weight-medium);
}

.applicant-cell:nth-child(3) { /* 나이 */
    flex: 0 0 80px;
    justify-content: center;
    text-align: center;
}

.applicant-cell:nth-child(4) { /* 단가 */
    flex: 0 0 120px;
    justify-content: flex-end;
    text-align: right;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-800);
}

.applicant-cell:nth-child(5) { /* 지원일자 */
    flex: 0 0 100px;
    justify-content: center;
    text-align: center;
}

.applicant-cell:nth-child(6) { /* 상태 */
    flex: 0 0 110px;
    justify-content: center;
}

.applicant-cell:nth-child(7) { /* 관리 */
    flex: 0 0 80px;
    justify-content: center;
}

/* 테이블 헤더 텍스트 정렬 */

.applicant-row.table-header .applicant-cell {
    font-size: var(--font-size-xs);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--color-gray-700);
}

.applicant-row.table-header .applicant-cell:nth-child(2) {
    justify-content: flex-start;
}

.applicant-row.table-header .applicant-cell:nth-child(3) {
    justify-content: center;
}

.applicant-row.table-header .applicant-cell:nth-child(4) {
    justify-content: flex-end;
}

.applicant-row.table-header .applicant-cell:nth-child(5) {
    justify-content: center;
}

.applicant-row.table-header .applicant-cell:nth-child(6) {
    justify-content: center;
}

.applicant-row.table-header .applicant-cell:nth-child(7) {
    justify-content: center;
}

/* 상태 select 박스 스타일링 */

.applicant-cell select {
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    padding: var(--spacing-1) var(--spacing-2);
    font-size: var(--font-size-xs);
    background-color: var(--color-white);
    color: var(--color-gray-700);
    min-width: 100px;
    max-width: 110px;
}

.applicant-cell select:focus {
    border-color: var(--color-primary);
    outline: none;
    box-shadow: 0 0 0 2px var(--color-primary-light);
}

.applicant-cell.actions {
    display: flex;
    gap: var(--spacing-1);
    justify-content: center;
    align-items: center;
}

/* 체크박스 스타일링 */

.applicant-cell input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--color-primary);
    cursor: pointer;
}

/* 행 호버 효과 */

.applicant-row:not(.table-header):hover {
    background-color: var(--color-gray-25);
}

/* 날짜 형식 개선 */

.date-display {
    font-family: var(--font-mono);
    font-size: var(--font-size-xs);
    color: var(--color-gray-600);
    white-space: nowrap;
}

/* 이름 컬럼 개선 - 블랙리스트 뱃지를 아래로 배치 */

.applicant-name {
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-900);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    line-height: var(--line-height-tight);
}

/* 단가 표시 개선 */

.price-display {
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-800);
    white-space: nowrap;
}

/* 반응형 테이블 */

@media (max-width: 1200px) {
    .applicant-cell:nth-child(3) { /* 나이 */
        flex: 0 0 60px;
    }
    
    .applicant-cell:nth-child(4) { /* 단가 */
        flex: 0 0 100px;
    }
    
    .applicant-cell:nth-child(5) { /* 지원일자 */
        flex: 0 0 90px;
    }
}

@media (max-width: 992px) {
    .applicants-table {
        font-size: var(--font-size-xs);
    }
    
    .applicant-cell {
        padding: var(--spacing-2) var(--spacing-1);
    }
    
    .applicant-cell:nth-child(2) { /* 이름 */
        flex: 0 0 100px;
    }
    
    .applicant-cell:nth-child(3) { /* 나이 */
        display: none; /* 모바일에서 나이 숨김 */
    }
    
    .applicant-cell:nth-child(4) { /* 단가 */
        flex: 0 0 80px;
    }
    
    .applicant-cell:nth-child(5) { /* 지원일자 */
        flex: 0 0 70px;
    }
    
    .applicant-cell:nth-child(6) { /* 상태 */
        flex: 0 0 100px;
    }
    
    .applicant-cell:nth-child(7) { /* 관리 */
        flex: 0 0 60px;
    }
}

/* Debug Panel */

.debug-panel {
    background-color: var(--color-gray-100);
    border: 1px solid var(--color-gray-300);
    border-radius: var(--border-radius);
    padding: var(--spacing-4);
    margin-top: var(--spacing-6);
    font-size: var(--font-size-sm);
}

/* 지원자 탭 공고 목록 전용 스타일 - 5개 컬럼 (공고명, 단가, 지원일자, 상태, 바로가기) */

.applicant-projects-table .applicant-row {
    display: grid;
    grid-template-columns: 1fr 120px 100px 120px 100px;
    gap: var(--spacing-3);
    align-items: center;
    padding: var(--spacing-3);
    border-bottom: 1px solid var(--border-color);
    transition: background-color 0.2s ease;
}

.applicant-projects-table .applicant-row:hover:not(.table-header) {
    background-color: rgba(50, 115, 220, 0.05);
}

.applicant-projects-table .applicant-cell:nth-child(1) {
    /* 공고명 */
    justify-content: flex-start;
    font-weight: var(--font-weight-medium);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.applicant-projects-table .applicant-cell:nth-child(2) {
    /* 단가 */
    justify-content: flex-end;
    text-align: right;
    font-weight: var(--font-weight-medium);
    color: var(--color-gray-800);
}

.applicant-projects-table .applicant-cell:nth-child(3) {
    /* 지원일자 */
    justify-content: center;
    text-align: center;
}

.applicant-projects-table .applicant-cell:nth-child(4) {
    /* 상태 */
    justify-content: center;
}

.applicant-projects-table .applicant-cell:nth-child(5) {
    /* 바로가기 */
    justify-content: center;
}

/* 지원자 탭 테이블 헤더 정렬 */

.applicant-projects-table .applicant-row.table-header .applicant-cell:nth-child(1) {
    justify-content: flex-start;
}

.applicant-projects-table .applicant-row.table-header .applicant-cell:nth-child(2) {
    justify-content: flex-end;
}

.applicant-projects-table .applicant-row.table-header .applicant-cell:nth-child(3) {
    justify-content: center;
}

.applicant-projects-table .applicant-row.table-header .applicant-cell:nth-child(4) {
    justify-content: center;
}

.applicant-projects-table .applicant-row.table-header .applicant-cell:nth-child(5) {
    justify-content: center;
}

/* 지원자 탭 반응형 */

@media (max-width: 1200px) {
    .applicant-projects-table .applicant-row {
        grid-template-columns: 1fr 100px 90px 120px 80px;
    }
}

@media (max-width: 992px) {
    .applicant-projects-table .applicant-row {
        grid-template-columns: 1fr 80px 70px 100px 60px;
    }
}

@media (max-width: 768px) {
    .applicant-projects-table .applicant-row {
        grid-template-columns: 1fr;
        gap: var(--spacing-2);
        padding: var(--spacing-4);
    }
    
    .applicant-projects-table .applicant-row:not(.table-header) {
        margin-bottom: var(--spacing-3);
        border-radius: var(--border-radius-md);
        border: 1px solid var(--border-color);
        box-shadow: var(--shadow-sm);
    }
    
    .applicant-projects-table .applicant-row.table-header {
        display: none;
    }
    
    .applicant-projects-table .applicant-cell {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: var(--spacing-2) 0;
        border-bottom: 1px solid var(--color-gray-100);
    }
    
    .applicant-projects-table .applicant-cell:last-child {
        border-bottom: none;
    }
    
    .applicant-projects-table .applicant-cell:before {
        content: attr(data-label);
        font-weight: var(--font-weight-semibold);
        color: var(--color-gray-600);
        font-size: var(--font-size-sm);
    }
}

.debug-btn {
    background-color: var(--color-secondary);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-1) var(--spacing-2);
    font-size: var(--font-size-sm);
    cursor: pointer;
    margin-right: var(--spacing-2);
}

/* Footer */

footer {
    background-color: var(--color-gray-900);
    color: var(--color-white);
    padding: var(--spacing-10) 0;
    margin-top: var(--spacing-16);
}

.company-info {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--spacing-5);
}

.company-info h3 {
    font-size: 1.2rem;
    margin-bottom: 15px;
    color: #555;
}

.company-info p {
    color: #777;
    margin-bottom: 8px;
    font-size: 0.9rem;
}

/* Detail button */

.detail-btn {
    background-color: var(--color-info);
    color: var(--color-white);
    border: none;
    border-radius: var(--border-radius);
    padding: var(--spacing-1) var(--spacing-2);
    font-size: var(--font-size-xs);
    cursor: pointer;
    transition: var(--transition-colors);
    min-width: 50px;
    font-weight: var(--font-weight-medium);
}

.detail-btn.small {
    padding: 4px 8px;
    font-size: 11px;
    min-width: 45px;
}

.detail-btn:hover {
    background-color: #138496;
    transform: translateY(-1px);
}

/* Blacklist tag - 성명 아래 배치용 */

.blacklist-tag {
    background-color: var(--color-danger);
    color: var(--color-white);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
    font-size: 9px;
    font-weight: var(--font-weight-bold);
    display: inline-block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    align-self: flex-start;
    white-space: nowrap;
}

/* 추가 색상 변수 */

:root {
    --color-gray-25: #fafafa;
}

/* 테이블 전체 개선 */

.applicants-section {
    background: var(--color-white);
    border-radius: var(--border-radius-lg);
    box-shadow: var(--shadow-sm);
    padding: var(--spacing-5);
    min-height: 500px;
}

/* 헤더 개선 */

.applicants-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--spacing-5);
    padding-bottom: var(--spacing-3);
    border-bottom: 2px solid var(--color-gray-200);
}

.applicants-header h3 {
    font-size: var(--font-size-xl);
    margin: 0;
    color: var(--color-gray-900);
    font-weight: var(--font-weight-bold);
}

/* 좌측 패널 개선 */

.admin-project-list {
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: 800px;
    /* overflow-y: auto; 제거하여 스크롤바 제거 */
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius);
}

.admin-project-item {
    padding: var(--spacing-3);
    border-bottom: 1px solid var(--color-gray-100);
    cursor: pointer;
    transition: var(--transition-colors);
    background-color: var(--color-white);
}

.admin-project-item:last-child {
    border-bottom: none;
}

.admin-project-item:hover {
    background-color: var(--color-gray-50);
}

.admin-project-item.selected {
    background-color: var(--color-primary-light);
    border-left: 4px solid var(--color-primary);
    font-weight: var(--font-weight-medium);
}

.admin-project-name {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-1);
    color: var(--color-gray-900);
    font-size: var(--font-size-sm);
}

.admin-project-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-gray-600);
    margin-top: var(--spacing-1);
    width: 100%;
}

.admin-project-company {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-right: var(--spacing-2);
    max-width: 65%;
}

.admin-project-count {
    font-size: var(--font-size-xs);
    color: var(--color-primary);
    background-color: var(--color-primary-light);
    padding: 2px var(--spacing-1);
    border-radius: var(--border-radius-full);
    min-width: 60px;
    text-align: center;
    flex-shrink: 0;
    font-weight: var(--font-weight-medium);
}

/* 지원자 목록 전용 스타일 */

.applicant-list {
    min-height: 200px;
    max-height: 60vh;
}

.applicant-list .project-item {
    border-bottom: 1px solid var(--color-gray-150);
}

.applicant-list .project-item:last-child {
    border-bottom: none;
}

/* 관리자 페이지 지원자 목록 전용 - 그리드 없는 버전 */

.admin-applicant-list {
    gap: 0;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
    min-height: 300px;
    max-height: 70vh;
    overflow-y: auto;
    border: 1px solid var(--color-gray-200);
    border-radius: var(--border-radius-md);
    background: var(--color-white);
}

.admin-applicant-list .project-item {
    padding: var(--spacing-2) var(--spacing-3);
    border-bottom: 1px solid var(--color-gray-150);
    cursor: pointer;
    transition: var(--transition-colors);
    min-height: auto;
}

.admin-applicant-list .project-item:hover {
    background-color: var(--color-gray-50);
}

.admin-applicant-list .project-item.selected {
    background-color: var(--color-primary-light);
    border-left: 3px solid var(--color-primary);
}

.admin-applicant-list .project-item:last-child {
    border-bottom: none;
}

.admin-applicant-list .project-name {
    font-weight: var(--font-weight-medium);
    margin-bottom: var(--spacing-1);
    display: flex;
    align-items: center;
    gap: var(--spacing-2);
    font-size: var(--font-size-sm);
}

.admin-applicant-list .project-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: var(--font-size-xs);
    color: var(--color-gray-600);
    margin-top: 2px;
}

.admin-applicant-list .project-company {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: var(--font-size-xs);
}

.admin-applicant-list .project-count {
    font-size: var(--font-size-xs);
    color: var(--color-gray-600);
    background-color: var(--color-gray-100);
    padding: 1px var(--spacing-1);
    border-radius: var(--border-radius-full);
    min-width: 55px;
    text-align: center;
    flex-shrink: 0;
}

.admin-applicant-list .blacklist-tag {
    background-color: var(--color-danger);
    color: var(--color-white);
    padding: 1px 6px;
    border-radius: var(--border-radius-full);
    font-size: 9px;
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* 4. Utility styles - helper classes that override component styles */

/* Spacing Utilities */

/* Margin utilities */

.m-0 { margin: 0; }

.m-1 { margin: var(--spacing-xs); }

.m-2 { margin: var(--spacing-sm); }

.m-3 { margin: var(--spacing-md); }

.m-4 { margin: var(--spacing-lg); }

.m-5 { margin: var(--spacing-xl); }

.m-6 { margin: var(--spacing-2xl); }

.m-8 { margin: var(--spacing-8); }

.m-10 { margin: var(--spacing-10); }

.m-12 { margin: var(--spacing-12); }

.m-16 { margin: var(--spacing-16); }

.m-20 { margin: var(--spacing-20); }

.m-24 { margin: var(--spacing-24); }

.m-auto { margin: auto; }

/* Legacy 지원 (기존 시스템과 호환) */

.m-xs { margin: var(--spacing-xs); }

.m-sm { margin: var(--spacing-sm); }

.m-md { margin: var(--spacing-md); }

.m-lg { margin: var(--spacing-lg); }

.m-xl { margin: var(--spacing-xl); }

.m-2xl { margin: var(--spacing-2xl); }

/* Margin top */

.mt-0 { margin-top: 0; }

.mt-1 { margin-top: var(--spacing-xs); }

.mt-2 { margin-top: var(--spacing-sm); }

.mt-3 { margin-top: var(--spacing-md); }

.mt-4 { margin-top: var(--spacing-lg); }

.mt-5 { margin-top: var(--spacing-xl); }

.mt-6 { margin-top: var(--spacing-2xl); }

.mt-auto { margin-top: auto; }

/* Legacy 지원 */

.mt-xs { margin-top: var(--spacing-xs); }

.mt-sm { margin-top: var(--spacing-sm); }

.mt-md { margin-top: var(--spacing-md); }

.mt-lg { margin-top: var(--sizing-lg); }

.mt-xl { margin-top: var(--spacing-xl); }

.mt-2xl { margin-top: var(--spacing-2xl); }

/* Margin right */

.mr-0 { margin-right: 0; }

.mr-1 { margin-right: var(--spacing-xs); }

.mr-2 { margin-right: var(--spacing-sm); }

.mr-3 { margin-right: var(--spacing-md); }

.mr-4 { margin-right: var(--spacing-lg); }

.mr-5 { margin-right: var(--spacing-xl); }

.mr-6 { margin-right: var(--spacing-2xl); }

.mr-auto { margin-right: auto; }

/* Legacy 지원 */

.mr-xs { margin-right: var(--spacing-xs); }

.mr-sm { margin-right: var(--spacing-sm); }

.mr-md { margin-right: var(--spacing-md); }

.mr-lg { margin-right: var(--spacing-lg); }

.mr-xl { margin-right: var(--spacing-xl); }

.mr-2xl { margin-right: var(--spacing-2xl); }

/* Margin bottom */

.mb-0 { margin-bottom: 0; }

.mb-1 { margin-bottom: var(--spacing-xs); }

.mb-2 { margin-bottom: var(--spacing-sm); }

.mb-3 { margin-bottom: var(--spacing-md); }

.mb-4 { margin-bottom: var(--spacing-lg); }

.mb-5 { margin-bottom: var(--spacing-xl); }

.mb-6 { margin-bottom: var(--spacing-2xl); }

.mb-auto { margin-bottom: auto; }

/* Legacy 지원 */

.mb-xs { margin-bottom: var(--spacing-xs); }

.mb-sm { margin-bottom: var(--spacing-sm); }

.mb-md { margin-bottom: var(--spacing-md); }

.mb-lg { margin-bottom: var(--spacing-lg); }

.mb-xl { margin-bottom: var(--spacing-xl); }

.mb-2xl { margin-bottom: var(--spacing-2xl); }

/* Margin left */

.ml-0 { margin-left: 0; }

.ml-1 { margin-left: var(--spacing-xs); }

.ml-2 { margin-left: var(--spacing-sm); }

.ml-3 { margin-left: var(--spacing-md); }

.ml-4 { margin-left: var(--spacing-lg); }

.ml-5 { margin-left: var(--spacing-xl); }

.ml-6 { margin-left: var(--spacing-2xl); }

.ml-auto { margin-left: auto; }

/* Legacy 지원 */

.ml-xs { margin-left: var(--spacing-xs); }

.ml-sm { margin-left: var(--spacing-sm); }

.ml-md { margin-left: var(--spacing-md); }

.ml-lg { margin-left: var(--spacing-lg); }

.ml-xl { margin-left: var(--spacing-xl); }

.ml-2xl { margin-left: var(--spacing-2xl); }

/* Margin horizontal */

.mx-0 { margin-left: 0; margin-right: 0; }

.mx-1 { margin-left: var(--spacing-xs); margin-right: var(--spacing-xs); }

.mx-2 { margin-left: var(--spacing-sm); margin-right: var(--spacing-sm); }

.mx-3 { margin-left: var(--spacing-md); margin-right: var(--spacing-md); }

.mx-4 { margin-left: var(--spacing-lg); margin-right: var(--spacing-lg); }

.mx-5 { margin-left: var(--spacing-xl); margin-right: var(--spacing-xl); }

.mx-6 { margin-left: var(--spacing-2xl); margin-right: var(--spacing-2xl); }

.mx-auto { margin-left: auto; margin-right: auto; }

/* Legacy 지원 */

.mx-xs { margin-left: var(--spacing-xs); margin-right: var(--spacing-xs); }

.mx-sm { margin-left: var(--spacing-sm); margin-right: var(--spacing-sm); }

.mx-md { margin-left: var(--spacing-md); margin-right: var(--spacing-md); }

.mx-lg { margin-left: var(--spacing-lg); margin-right: var(--spacing-lg); }

.mx-xl { margin-left: var(--spacing-xl); margin-right: var(--spacing-xl); }

.mx-2xl { margin-left: var(--spacing-2xl); margin-right: var(--spacing-2xl); }

/* Margin vertical */

.my-0 { margin-top: 0; margin-bottom: 0; }

.my-1 { margin-top: var(--spacing-xs); margin-bottom: var(--spacing-xs); }

.my-2 { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-sm); }

.my-3 { margin-top: var(--spacing-md); margin-bottom: var(--spacing-md); }

.my-4 { margin-top: var(--spacing-lg); margin-bottom: var(--spacing-lg); }

.my-5 { margin-top: var(--spacing-xl); margin-bottom: var(--spacing-xl); }

.my-6 { margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-2xl); }

.my-auto { margin-top: auto; margin-bottom: auto; }

/* Legacy 지원 */

.my-xs { margin-top: var(--spacing-xs); margin-bottom: var(--spacing-xs); }

.my-sm { margin-top: var(--spacing-sm); margin-bottom: var(--spacing-sm); }

.my-md { margin-top: var(--spacing-md); margin-bottom: var(--spacing-md); }

.my-lg { margin-top: var(--spacing-lg); margin-bottom: var(--spacing-lg); }

.my-xl { margin-top: var(--spacing-xl); margin-bottom: var(--spacing-xl); }

.my-2xl { margin-top: var(--spacing-2xl); margin-bottom: var(--spacing-2xl); }

/* Padding utilities */

.p-0 { padding: 0; }

.p-1 { padding: var(--spacing-xs); }

.p-2 { padding: var(--spacing-sm); }

.p-3 { padding: var(--spacing-md); }

.p-4 { padding: var(--spacing-lg); }

.p-5 { padding: var(--spacing-xl); }

.p-6 { padding: var(--spacing-2xl); }

/* Legacy 지원 */

.p-xs { padding: var(--spacing-xs); }

.p-sm { padding: var(--spacing-sm); }

.p-md { padding: var(--spacing-md); }

.p-lg { padding: var(--spacing-lg); }

.p-xl { padding: var(--spacing-xl); }

.p-2xl { padding: var(--spacing-2xl); }

/* Padding top */

.pt-0 { padding-top: 0; }

.pt-1 { padding-top: var(--spacing-xs); }

.pt-2 { padding-top: var(--spacing-sm); }

.pt-3 { padding-top: var(--spacing-md); }

.pt-4 { padding-top: var(--spacing-lg); }

.pt-5 { padding-top: var(--spacing-xl); }

.pt-6 { padding-top: var(--spacing-2xl); }

/* Legacy 지원 */

.pt-xs { padding-top: var(--spacing-xs); }

.pt-sm { padding-top: var(--spacing-sm); }

.pt-md { padding-top: var(--spacing-md); }

.pt-lg { padding-top: var(--spacing-lg); }

.pt-xl { padding-top: var(--spacing-xl); }

.pt-2xl { padding-top: var(--spacing-2xl); }

/* Padding right */

.pr-0 { padding-right: 0; }

.pr-1 { padding-right: var(--spacing-xs); }

.pr-2 { padding-right: var(--spacing-sm); }

.pr-3 { padding-right: var(--spacing-md); }

.pr-4 { padding-right: var(--spacing-lg); }

.pr-5 { padding-right: var(--spacing-xl); }

.pr-6 { padding-right: var(--spacing-2xl); }

/* Legacy 지원 */

.pr-xs { padding-right: var(--spacing-xs); }

.pr-sm { padding-right: var(--spacing-sm); }

.pr-md { padding-right: var(--spacing-md); }

.pr-lg { padding-right: var(--spacing-lg); }

.pr-xl { padding-right: var(--spacing-xl); }

.pr-2xl { padding-right: var(--spacing-2xl); }

/* Padding bottom */

.pb-0 { padding-bottom: 0; }

.pb-1 { padding-bottom: var(--spacing-xs); }

.pb-2 { padding-bottom: var(--spacing-sm); }

.pb-3 { padding-bottom: var(--spacing-md); }

.pb-4 { padding-bottom: var(--spacing-lg); }

.pb-5 { padding-bottom: var(--spacing-xl); }

.pb-6 { padding-bottom: var(--spacing-2xl); }

/* Legacy 지원 */

.pb-xs { padding-bottom: var(--spacing-xs); }

.pb-sm { padding-bottom: var(--spacing-sm); }

.pb-md { padding-bottom: var(--spacing-md); }

.pb-lg { padding-bottom: var(--spacing-lg); }

.pb-xl { padding-bottom: var(--spacing-xl); }

.pb-2xl { padding-bottom: var(--spacing-2xl); }

/* Padding left */

.pl-0 { padding-left: 0; }

.pl-1 { padding-left: var(--spacing-xs); }

.pl-2 { padding-left: var(--spacing-sm); }

.pl-3 { padding-left: var(--spacing-md); }

.pl-4 { padding-left: var(--spacing-lg); }

.pl-5 { padding-left: var(--spacing-xl); }

.pl-6 { padding-left: var(--spacing-2xl); }

/* Legacy 지원 */

.pl-xs { padding-left: var(--spacing-xs); }

.pl-sm { padding-left: var(--spacing-sm); }

.pl-md { padding-left: var(--spacing-md); }

.pl-lg { padding-left: var(--spacing-lg); }

.pl-xl { padding-left: var(--spacing-xl); }

.pl-2xl { padding-left: var(--spacing-2xl); }

/* Padding horizontal */

.px-0 { padding-left: 0; padding-right: 0; }

.px-1 { padding-left: var(--spacing-xs); padding-right: var(--spacing-xs); }

.px-2 { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }

.px-3 { padding-left: var(--spacing-md); padding-right: var(--spacing-md); }

.px-4 { padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }

.px-5 { padding-left: var(--spacing-xl); padding-right: var(--spacing-xl); }

.px-6 { padding-left: var(--spacing-2xl); padding-right: var(--spacing-2xl); }

/* Legacy 지원 */

.px-xs { padding-left: var(--spacing-xs); padding-right: var(--spacing-xs); }

.px-sm { padding-left: var(--spacing-sm); padding-right: var(--spacing-sm); }

.px-md { padding-left: var(--spacing-md); padding-right: var(--spacing-md); }

.px-lg { padding-left: var(--spacing-lg); padding-right: var(--spacing-lg); }

.px-xl { padding-left: var(--spacing-xl); padding-right: var(--spacing-xl); }

.px-2xl { padding-left: var(--spacing-2xl); padding-right: var(--spacing-2xl); }

/* Padding vertical */

.py-0 { padding-top: 0; padding-bottom: 0; }

.py-1 { padding-top: var(--spacing-xs); padding-bottom: var(--spacing-xs); }

.py-2 { padding-top: var(--spacing-sm); padding-bottom: var(--spacing-sm); }

.py-3 { padding-top: var(--spacing-md); padding-bottom: var(--spacing-md); }

.py-4 { padding-top: var(--spacing-lg); padding-bottom: var(--spacing-lg); }

.py-5 { padding-top: var(--spacing-xl); padding-bottom: var(--spacing-xl); }

.py-6 { padding-top: var(--spacing-2xl); padding-bottom: var(--spacing-2xl); }

/* Legacy 지원 */

.py-xs { padding-top: var(--spacing-xs); padding-bottom: var(--spacing-xs); }

.py-sm { padding-top: var(--spacing-sm); padding-bottom: var(--spacing-sm); }

.py-md { padding-top: var(--spacing-md); padding-bottom: var(--spacing-md); }

.py-lg { padding-top: var(--spacing-lg); padding-bottom: var(--spacing-lg); }

.py-xl { padding-top: var(--spacing-xl); padding-bottom: var(--spacing-xl); }

.py-2xl { padding-top: var(--spacing-2xl); padding-bottom: var(--spacing-2xl); }

/* Gap utilities for flexbox and grid */

.gap-0 { gap: 0; }

.gap-1 { gap: var(--spacing-xs); }

.gap-2 { gap: var(--spacing-sm); }

.gap-3 { gap: var(--spacing-md); }

.gap-4 { gap: var(--spacing-lg); }

.gap-5 { gap: var(--spacing-xl); }

.gap-6 { gap: var(--spacing-2xl); }

/* Legacy 지원 */

.gap-xs { gap: var(--spacing-xs); }

.gap-sm { gap: var(--spacing-sm); }

.gap-md { gap: var(--spacing-md); }

.gap-lg { gap: var(--spacing-lg); }

.gap-xl { gap: var(--spacing-xl); }

.gap-2xl { gap: var(--spacing-2xl); }

/* Row gap */

.row-gap-0 { row-gap: 0; }

.row-gap-1 { row-gap: var(--spacing-xs); }

.row-gap-2 { row-gap: var(--spacing-sm); }

.row-gap-3 { row-gap: var(--spacing-md); }

.row-gap-4 { row-gap: var(--spacing-lg); }

.row-gap-5 { row-gap: var(--spacing-xl); }

.row-gap-6 { row-gap: var(--spacing-2xl); }

/* Legacy 지원 */

.row-gap-xs { row-gap: var(--spacing-xs); }

.row-gap-sm { row-gap: var(--spacing-sm); }

.row-gap-md { row-gap: var(--spacing-md); }

.row-gap-lg { row-gap: var(--spacing-lg); }

.row-gap-xl { row-gap: var(--spacing-xl); }

.row-gap-2xl { row-gap: var(--spacing-2xl); }

/* Column gap */

.col-gap-0 { -moz-column-gap: 0; column-gap: 0; }

.col-gap-1 { -moz-column-gap: var(--spacing-xs); column-gap: var(--spacing-xs); }

.col-gap-2 { -moz-column-gap: var(--spacing-sm); column-gap: var(--spacing-sm); }

.col-gap-3 { -moz-column-gap: var(--spacing-md); column-gap: var(--spacing-md); }

.col-gap-4 { -moz-column-gap: var(--spacing-lg); column-gap: var(--spacing-lg); }

.col-gap-5 { -moz-column-gap: var(--spacing-xl); column-gap: var(--spacing-xl); }

.col-gap-6 { -moz-column-gap: var(--spacing-2xl); column-gap: var(--spacing-2xl); }

/* Legacy 지원 */

.col-gap-xs { -moz-column-gap: var(--spacing-xs); column-gap: var(--spacing-xs); }

.col-gap-sm { -moz-column-gap: var(--spacing-sm); column-gap: var(--spacing-sm); }

.col-gap-md { -moz-column-gap: var(--spacing-md); column-gap: var(--spacing-md); }

.col-gap-lg { -moz-column-gap: var(--spacing-lg); column-gap: var(--spacing-lg); }

.col-gap-xl { -moz-column-gap: var(--spacing-xl); column-gap: var(--spacing-xl); }

.col-gap-2xl { -moz-column-gap: var(--spacing-2xl); column-gap: var(--spacing-2xl); }

/* ========================================
   네거티브 마진 (Negative Margins)
   ======================================== */

.-m-1 { margin: calc(-1 * var(--spacing-xs)); }

.-m-2 { margin: calc(-1 * var(--spacing-sm)); }

.-m-3 { margin: calc(-1 * var(--spacing-md)); }

.-m-4 { margin: calc(-1 * var(--spacing-lg)); }

.-m-5 { margin: calc(-1 * var(--spacing-xl)); }

.-m-6 { margin: calc(-1 * var(--spacing-2xl)); }

.-mt-1 { margin-top: calc(-1 * var(--spacing-xs)); }

.-mt-2 { margin-top: calc(-1 * var(--spacing-sm)); }

.-mt-3 { margin-top: calc(-1 * var(--spacing-md)); }

.-mt-4 { margin-top: calc(-1 * var(--spacing-lg)); }

.-mt-5 { margin-top: calc(-1 * var(--spacing-xl)); }

.-mt-6 { margin-top: calc(-1 * var(--spacing-2xl)); }

.-mr-1 { margin-right: calc(-1 * var(--spacing-xs)); }

.-mr-2 { margin-right: calc(-1 * var(--spacing-sm)); }

.-mr-3 { margin-right: calc(-1 * var(--spacing-md)); }

.-mr-4 { margin-right: calc(-1 * var(--spacing-lg)); }

.-mr-5 { margin-right: calc(-1 * var(--spacing-xl)); }

.-mr-6 { margin-right: calc(-1 * var(--spacing-2xl)); }

.-mb-1 { margin-bottom: calc(-1 * var(--spacing-xs)); }

.-mb-2 { margin-bottom: calc(-1 * var(--spacing-sm)); }

.-mb-3 { margin-bottom: calc(-1 * var(--spacing-md)); }

.-mb-4 { margin-bottom: calc(-1 * var(--spacing-lg)); }

.-mb-5 { margin-bottom: calc(-1 * var(--spacing-xl)); }

.-mb-6 { margin-bottom: calc(-1 * var(--spacing-2xl)); }

.-ml-1 { margin-left: calc(-1 * var(--spacing-xs)); }

.-ml-2 { margin-left: calc(-1 * var(--spacing-sm)); }

.-ml-3 { margin-left: calc(-1 * var(--spacing-md)); }

.-ml-4 { margin-left: calc(-1 * var(--spacing-lg)); }

.-ml-5 { margin-left: calc(-1 * var(--spacing-xl)); }

.-ml-6 { margin-left: calc(-1 * var(--spacing-2xl)); }

/* 8. 유틸리티 스타일 - 색상 (Colors) */

/* ========================================
   텍스트 색상 유틸리티
   ======================================== */

/* 주요 색상 */

.text-primary { color: var(--primary-color) !important; }

.text-primary-dark { color: var(--primary-hover) !important; }

.text-primary-light { color: var(--primary-light) !important; }

.text-secondary { color: var(--color-secondary) !important; }

.text-secondary-dark { color: var(--color-secondary-dark) !important; }

.text-secondary-light { color: var(--color-secondary-light) !important; }

/* 상태 색상 */

.text-success { color: var(--success-color) !important; }

.text-danger { color: var(--danger-color) !important; }

.text-warning { color: var(--warning-color) !important; }

.text-info { color: var(--info-color) !important; }

/* 중성 색상 */

.text-light { color: var(--color-light) !important; }

.text-dark { color: var(--color-dark) !important; }

.text-white { color: var(--white) !important; }

.text-black { color: var(--color-black) !important; }

/* 그레이 스케일 */

.text-gray-100 { color: var(--color-gray-100) !important; }

.text-gray-200 { color: var(--color-gray-200) !important; }

.text-gray-300 { color: var(--color-gray-300) !important; }

.text-gray-400 { color: var(--color-gray-400) !important; }

.text-gray-500 { color: var(--color-gray-500) !important; }

.text-gray-600 { color: var(--color-gray-600) !important; }

.text-gray-700 { color: var(--color-gray-700) !important; }

.text-gray-800 { color: var(--color-gray-800) !important; }

.text-gray-900 { color: var(--color-gray-900) !important; }

/* 특수 색상 */

.text-muted { color: var(--text-muted) !important; }

.text-body { color: var(--text-color) !important; }

/* ========================================
   배경 색상 유틸리티
   ======================================== */

/* 주요 색상 */

.bg-primary { background-color: var(--primary-color) !important; }

.bg-primary-dark { background-color: var(--primary-hover) !important; }

.bg-primary-light { background-color: var(--primary-light) !important; }

.bg-secondary { background-color: var(--color-secondary) !important; }

.bg-secondary-dark { background-color: var(--color-secondary-dark) !important; }

.bg-secondary-light { background-color: var(--color-secondary-light) !important; }

/* 상태 색상 */

.bg-success { background-color: var(--success-color) !important; }

.bg-danger { background-color: var(--danger-color) !important; }

.bg-warning { background-color: var(--warning-color) !important; }

.bg-info { background-color: var(--info-color) !important; }

/* 중성 색상 */

.bg-light { background-color: var(--background-color) !important; }

.bg-dark { background-color: var(--color-dark) !important; }

.bg-white { background-color: var(--white) !important; }

.bg-black { background-color: var(--color-black) !important; }

/* 그레이 스케일 */

.bg-gray-50 { background-color: var(--color-gray-50) !important; }

.bg-gray-100 { background-color: var(--color-gray-100) !important; }

.bg-gray-200 { background-color: var(--color-gray-200) !important; }

.bg-gray-300 { background-color: var(--color-gray-300) !important; }

.bg-gray-400 { background-color: var(--color-gray-400) !important; }

.bg-gray-500 { background-color: var(--color-gray-500) !important; }

.bg-gray-600 { background-color: var(--color-gray-600) !important; }

.bg-gray-700 { background-color: var(--color-gray-700) !important; }

.bg-gray-800 { background-color: var(--color-gray-800) !important; }

.bg-gray-900 { background-color: var(--color-gray-900) !important; }

/* 특수 배경 색상 */

.bg-transparent { background-color: transparent !important; }

.bg-body { background-color: var(--background-color) !important; }

/* ========================================
   테두리 색상 유틸리티
   ======================================== */

/* 주요 색상 */

.border-primary { border-color: var(--primary-color) !important; }

.border-primary-dark { border-color: var(--primary-hover) !important; }

.border-primary-light { border-color: var(--primary-light) !important; }

.border-secondary { border-color: var(--color-secondary) !important; }

.border-secondary-dark { border-color: var(--color-secondary-dark) !important; }

.border-secondary-light { border-color: var(--color-secondary-light) !important; }

/* 상태 색상 */

.border-success { border-color: var(--success-color) !important; }

.border-danger { border-color: var(--danger-color) !important; }

.border-warning { border-color: var(--warning-color) !important; }

.border-info { border-color: var(--info-color) !important; }

/* 중성 색상 */

.border-light { border-color: var(--color-light) !important; }

.border-dark { border-color: var(--color-dark) !important; }

.border-white { border-color: var(--white) !important; }

.border-black { border-color: var(--color-black) !important; }

/* 그레이 스케일 */

.border-gray-100 { border-color: var(--color-gray-100) !important; }

.border-gray-200 { border-color: var(--color-gray-200) !important; }

.border-gray-300 { border-color: var(--color-gray-300) !important; }

.border-gray-400 { border-color: var(--color-gray-400) !important; }

.border-gray-500 { border-color: var(--color-gray-500) !important; }

.border-gray-600 { border-color: var(--color-gray-600) !important; }

.border-gray-700 { border-color: var(--color-gray-700) !important; }

.border-gray-800 { border-color: var(--color-gray-800) !important; }

.border-gray-900 { border-color: var(--color-gray-900) !important; }

/* 특수 테두리 색상 */

.border-transparent { border-color: transparent !important; }

.border-current { border-color: currentColor !important; }

/* ========================================
   그라데이션 배경
   ======================================== */

.bg-gradient-primary {
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
}

.bg-gradient-secondary {
    background: linear-gradient(135deg, var(--color-secondary) 0%, var(--color-secondary-dark) 100%) !important;
}

.bg-gradient-success {
    background: linear-gradient(135deg, var(--success-color) 0%, #1e7e34 100%) !important;
}

.bg-gradient-danger {
    background: linear-gradient(135deg, var(--danger-color) 0%, #bd2130 100%) !important;
}

.bg-gradient-warning {
    background: linear-gradient(135deg, var(--warning-color) 0%, #d39e00 100%) !important;
}

.bg-gradient-info {
    background: linear-gradient(135deg, var(--info-color) 0%, #117a8b 100%) !important;
}

.bg-gradient-light {
    background: linear-gradient(135deg, var(--color-light) 0%, #dae0e5 100%) !important;
}

.bg-gradient-dark {
    background: linear-gradient(135deg, var(--color-dark) 0%, #1d2124 100%) !important;
}

/* 추가 그라데이션 패턴 */

.bg-gradient-to-r {
    background: linear-gradient(90deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
}

.bg-gradient-to-l {
    background: linear-gradient(270deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
}

.bg-gradient-to-t {
    background: linear-gradient(0deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
}

.bg-gradient-to-b {
    background: linear-gradient(180deg, var(--primary-color) 0%, var(--primary-hover) 100%) !important;
}

/* ========================================
   투명도 유틸리티
   ======================================== */

.opacity-0 { opacity: 0 !important; }

.opacity-10 { opacity: 0.1 !important; }

.opacity-25 { opacity: 0.25 !important; }

.opacity-50 { opacity: 0.5 !important; }

.opacity-75 { opacity: 0.75 !important; }

.opacity-90 { opacity: 0.9 !important; }

.opacity-100 { opacity: 1 !important; }

/* ========================================
   색상 혼합 모드
   ======================================== */

.mix-blend-normal { mix-blend-mode: normal !important; }

.mix-blend-multiply { mix-blend-mode: multiply !important; }

.mix-blend-screen { mix-blend-mode: screen !important; }

.mix-blend-overlay { mix-blend-mode: overlay !important; }

.mix-blend-darken { mix-blend-mode: darken !important; }

.mix-blend-lighten { mix-blend-mode: lighten !important; }

/* ========================================
   호버 상태 색상
   ======================================== */

.hover\:text-primary:hover { color: var(--primary-color) !important; }

.hover\:text-secondary:hover { color: var(--color-secondary) !important; }

.hover\:text-success:hover { color: var(--success-color) !important; }

.hover\:text-danger:hover { color: var(--danger-color) !important; }

.hover\:text-warning:hover { color: var(--warning-color) !important; }

.hover\:text-info:hover { color: var(--info-color) !important; }

.hover\:text-white:hover { color: var(--white) !important; }

.hover\:text-black:hover { color: var(--color-black) !important; }

.hover\:bg-primary:hover { background-color: var(--primary-color) !important; }

.hover\:bg-secondary:hover { background-color: var(--color-secondary) !important; }

.hover\:bg-success:hover { background-color: var(--success-color) !important; }

.hover\:bg-danger:hover { background-color: var(--danger-color) !important; }

.hover\:bg-warning:hover { background-color: var(--warning-color) !important; }

.hover\:bg-info:hover { background-color: var(--info-color) !important; }

.hover\:bg-white:hover { background-color: var(--white) !important; }

.hover\:bg-black:hover { background-color: var(--color-black) !important; }

.hover\:bg-gray-100:hover { background-color: var(--color-gray-100) !important; }

.hover\:bg-gray-200:hover { background-color: var(--color-gray-200) !important; }

/* ========================================
   포커스 상태 색상
   ======================================== */

.focus\:text-primary:focus { color: var(--primary-color) !important; }

.focus\:text-secondary:focus { color: var(--color-secondary) !important; }

.focus\:bg-primary:focus { background-color: var(--primary-color) !important; }

.focus\:bg-secondary:focus { background-color: var(--color-secondary) !important; }

.focus\:border-primary:focus { border-color: var(--primary-color) !important; }

.focus\:border-secondary:focus { border-color: var(--color-secondary) !important; }

/* ========================================
   액티브 상태 색상
   ======================================== */

.active\:text-primary:active { color: var(--primary-color) !important; }

.active\:text-secondary:active { color: var(--color-secondary) !important; }

.active\:bg-primary:active { background-color: var(--primary-color) !important; }

.active\:bg-secondary:active { background-color: var(--color-secondary) !important; }

/* ========================================
   반응형 색상 변형
   ======================================== */

@media (max-width: 768px) {
    .mobile\:text-center { text-align: center !important; }
    .mobile\:bg-white { background-color: var(--white) !important; }
    .mobile\:text-dark { color: var(--color-dark) !important; }
}

@media (min-width: 769px) {
    .desktop\:text-left { text-align: left !important; }
    .desktop\:bg-transparent { background-color: transparent !important; }
}

/* ========================================
   다크 모드 대응
   ======================================== */

@media (prefers-color-scheme: dark) {
    .dark\:text-white { color: var(--white) !important; }  
    .dark\:text-gray-100 { color: var(--color-gray-100) !important; }
    .dark\:bg-gray-800 { background-color: var(--color-gray-800) !important; }
    .dark\:bg-gray-900 { background-color: var(--color-gray-900) !important; }
    .dark\:border-gray-700 { border-color: var(--color-gray-700) !important; }
}

/* ========================================
   고대비 모드 대응
   ======================================== */

@media (prefers-contrast: high) {
    .high-contrast\:text-black { color: var(--color-black) !important; }
    .high-contrast\:bg-white { background-color: var(--white) !important; }
    .high-contrast\:border-black { border-color: var(--color-black) !important; }
}

/* ========================================
   인쇄 모드 색상
   ======================================== */

@media print {
    .print\:text-black { color: var(--color-black) !important; }
    .print\:bg-white { background-color: var(--white) !important; }
    .print\:border-black { border-color: var(--color-black) !important; }
}

/* ========================================
   색상 팔레트 문서화
   ======================================== */

/*
Primary Colors:
- var(--primary-color): #3273dc (메인 브랜드 색상)
- var(--primary-hover): #2860b5 (더 진한 음영)
- var(--primary-light): #66b3ff (더 밝은 음영)

Secondary Colors:
- var(--color-secondary): #6c757d (보조 브랜드 색상)
- var(--color-secondary-dark): #545b62
- var(--color-secondary-light): #adb5bd

Status Colors:
- var(--success-color): #28a745 (성공/긍정적 액션)
- var(--danger-color): #dc3545 (오류/파괴적 액션)
- var(--warning-color): #ffc107 (경고/주의)
- var(--info-color): #17a2b8 (정보/중립)

Neutral Colors:
- var(--color-light): #f8f9fa (밝은 배경)
- var(--color-dark): #343a40 (어두운 텍스트/배경)
- var(--white): #ffffff (순백색)
- var(--color-black): #000000 (순검정)

Gray Scale:
- var(--color-gray-50) to var(--color-gray-900) (밝음에서 어둠으로)

Text Colors:
- var(--text-color): 기본 텍스트 색상
- var(--text-muted): 약한 텍스트 색상
- var(--background-color): 기본 배경 색상
*/

/* 8. 유틸리티 스타일 - 디스플레이 (Display) */

/* ========================================
   기본 디스플레이 유틸리티
   ======================================== */

.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; }

.d-inline-grid { display: inline-grid !important; }

.d-table { display: table !important; }

.d-table-cell { display: table-cell !important; }

.d-table-row { display: table-row !important; }

/* ========================================
   Flexbox 방향 유틸리티
   ======================================== */

.flex-row { flex-direction: row !important; }

.flex-row-reverse { flex-direction: row-reverse !important; }

.flex-column { flex-direction: column !important; }

.flex-column-reverse { flex-direction: column-reverse !important; }

/* ========================================
   Flexbox 감싸기 유틸리티
   ======================================== */

.flex-wrap { flex-wrap: wrap !important; }

.flex-nowrap { flex-wrap: nowrap !important; }

.flex-wrap-reverse { flex-wrap: wrap-reverse !important; }

/* ========================================
   Justify Content 유틸리티
   ======================================== */

.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; }

.justify-evenly { justify-content: space-evenly !important; }

/* ========================================
   Align Items 유틸리티
   ======================================== */

.align-start { align-items: flex-start !important; }

.align-end { align-items: flex-end !important; }

.align-center { align-items: center !important; }

.align-baseline { align-items: baseline !important; }

.align-stretch { align-items: stretch !important; }

/* ========================================
   Align Content 유틸리티
   ======================================== */

.content-start { align-content: flex-start !important; }

.content-end { align-content: flex-end !important; }

.content-center { align-content: center !important; }

.content-between { align-content: space-between !important; }

.content-around { align-content: space-around !important; }

.content-evenly { align-content: space-evenly !important; }

.content-stretch { align-content: stretch !important; }

/* ========================================
   Align Self 유틸리티
   ======================================== */

.self-auto { align-self: auto !important; }

.self-start { align-self: flex-start !important; }

.self-end { align-self: flex-end !important; }

.self-center { align-self: center !important; }

.self-baseline { align-self: baseline !important; }

.self-stretch { align-self: stretch !important; }

/* ========================================
   Flex 아이템 유틸리티
   ======================================== */

.flex-1 { flex: 1 1 0% !important; }

.flex-auto { flex: 1 1 auto !important; }

.flex-initial { flex: 0 1 auto !important; }

.flex-none { flex: none !important; }

/* ========================================
   Flex Grow 유틸리티
   ======================================== */

.flex-grow-0 { flex-grow: 0 !important; }

.flex-grow { flex-grow: 1 !important; }

/* ========================================
   Flex Shrink 유틸리티
   ======================================== */

.flex-shrink-0 { flex-shrink: 0 !important; }

.flex-shrink { flex-shrink: 1 !important; }

/* ========================================
   Order 유틸리티
   ======================================== */

.order-first { order: -9999 !important; }

.order-last { order: 9999 !important; }

.order-none { order: 0 !important; }

.order-1 { order: 1 !important; }

.order-2 { order: 2 !important; }

.order-3 { order: 3 !important; }

.order-4 { order: 4 !important; }

.order-5 { order: 5 !important; }

.order-6 { order: 6 !important; }

.order-7 { order: 7 !important; }

.order-8 { order: 8 !important; }

.order-9 { order: 9 !important; }

.order-10 { order: 10 !important; }

.order-11 { order: 11 !important; }

.order-12 { order: 12 !important; }

/* ========================================
   Grid Template Columns 유틸리티
   ======================================== */

.grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }

.grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }

.grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }

.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

.grid-cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }

.grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }

.grid-cols-7 { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; }

.grid-cols-8 { grid-template-columns: repeat(8, minmax(0, 1fr)) !important; }

.grid-cols-9 { grid-template-columns: repeat(9, minmax(0, 1fr)) !important; }

.grid-cols-10 { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }

.grid-cols-11 { grid-template-columns: repeat(11, minmax(0, 1fr)) !important; }

.grid-cols-12 { grid-template-columns: repeat(12, minmax(0, 1fr)) !important; }

.grid-cols-none { grid-template-columns: none !important; }

/* ========================================
   Grid Template Rows 유틸리티
   ======================================== */

.grid-rows-1 { grid-template-rows: repeat(1, minmax(0, 1fr)) !important; }

.grid-rows-2 { grid-template-rows: repeat(2, minmax(0, 1fr)) !important; }

.grid-rows-3 { grid-template-rows: repeat(3, minmax(0, 1fr)) !important; }

.grid-rows-4 { grid-template-rows: repeat(4, minmax(0, 1fr)) !important; }

.grid-rows-5 { grid-template-rows: repeat(5, minmax(0, 1fr)) !important; }

.grid-rows-6 { grid-template-rows: repeat(6, minmax(0, 1fr)) !important; }

.grid-rows-none { grid-template-rows: none !important; }

/* ========================================
   Grid Column Span 유틸리티
   ======================================== */

.col-auto { grid-column: auto !important; }

.col-span-1 { grid-column: span 1 / span 1 !important; }

.col-span-2 { grid-column: span 2 / span 2 !important; }

.col-span-3 { grid-column: span 3 / span 3 !important; }

.col-span-4 { grid-column: span 4 / span 4 !important; }

.col-span-5 { grid-column: span 5 / span 5 !important; }

.col-span-6 { grid-column: span 6 / span 6 !important; }

.col-span-7 { grid-column: span 7 / span 7 !important; }

.col-span-8 { grid-column: span 8 / span 8 !important; }

.col-span-9 { grid-column: span 9 / span 9 !important; }

.col-span-10 { grid-column: span 10 / span 10 !important; }

.col-span-11 { grid-column: span 11 / span 11 !important; }

.col-span-12 { grid-column: span 12 / span 12 !important; }

.col-span-full { grid-column: 1 / -1 !important; }

/* ========================================
   Grid Row Span 유틸리티
   ======================================== */

.row-auto { grid-row: auto !important; }

.row-span-1 { grid-row: span 1 / span 1 !important; }

.row-span-2 { grid-row: span 2 / span 2 !important; }

.row-span-3 { grid-row: span 3 / span 3 !important; }

.row-span-4 { grid-row: span 4 / span 4 !important; }

.row-span-5 { grid-row: span 5 / span 5 !important; }

.row-span-6 { grid-row: span 6 / span 6 !important; }

.row-span-full { grid-row: 1 / -1 !important; }

/* ========================================
   Grid Column Start/End 유틸리티
   ======================================== */

.col-start-1 { grid-column-start: 1 !important; }

.col-start-2 { grid-column-start: 2 !important; }

.col-start-3 { grid-column-start: 3 !important; }

.col-start-4 { grid-column-start: 4 !important; }

.col-start-5 { grid-column-start: 5 !important; }

.col-start-6 { grid-column-start: 6 !important; }

.col-start-7 { grid-column-start: 7 !important; }

.col-start-8 { grid-column-start: 8 !important; }

.col-start-9 { grid-column-start: 9 !important; }

.col-start-10 { grid-column-start: 10 !important; }

.col-start-11 { grid-column-start: 11 !important; }

.col-start-12 { grid-column-start: 12 !important; }

.col-start-13 { grid-column-start: 13 !important; }

.col-start-auto { grid-column-start: auto !important; }

.col-end-1 { grid-column-end: 1 !important; }

.col-end-2 { grid-column-end: 2 !important; }

.col-end-3 { grid-column-end: 3 !important; }

.col-end-4 { grid-column-end: 4 !important; }

.col-end-5 { grid-column-end: 5 !important; }

.col-end-6 { grid-column-end: 6 !important; }

.col-end-7 { grid-column-end: 7 !important; }

.col-end-8 { grid-column-end: 8 !important; }

.col-end-9 { grid-column-end: 9 !important; }

.col-end-10 { grid-column-end: 10 !important; }

.col-end-11 { grid-column-end: 11 !important; }

.col-end-12 { grid-column-end: 12 !important; }

.col-end-13 { grid-column-end: 13 !important; }

.col-end-auto { grid-column-end: auto !important; }

/* ========================================
   Grid Row Start/End 유틸리티
   ======================================== */

.row-start-1 { grid-row-start: 1 !important; }

.row-start-2 { grid-row-start: 2 !important; }

.row-start-3 { grid-row-start: 3 !important; }

.row-start-4 { grid-row-start: 4 !important; }

.row-start-5 { grid-row-start: 5 !important; }

.row-start-6 { grid-row-start: 6 !important; }

.row-start-7 { grid-row-start: 7 !important; }

.row-start-auto { grid-row-start: auto !important; }

.row-end-1 { grid-row-end: 1 !important; }

.row-end-2 { grid-row-end: 2 !important; }

.row-end-3 { grid-row-end: 3 !important; }

.row-end-4 { grid-row-end: 4 !important; }

.row-end-5 { grid-row-end: 5 !important; }

.row-end-6 { grid-row-end: 6 !important; }

.row-end-7 { grid-row-end: 7 !important; }

.row-end-auto { grid-row-end: auto !important; }

/* ========================================
   표시/숨김 유틸리티
   ======================================== */

.hidden { display: none !important; }

.visible { visibility: visible !important; }

.invisible { visibility: hidden !important; }

/* ========================================
   오버플로우 유틸리티
   ======================================== */

.overflow-auto { overflow: auto !important; }

.overflow-hidden { overflow: hidden !important; }

.overflow-clip { overflow: clip !important; }

.overflow-visible { overflow: visible !important; }

.overflow-scroll { overflow: scroll !important; }

.overflow-x-auto { overflow-x: auto !important; }

.overflow-x-hidden { overflow-x: hidden !important; }

.overflow-x-clip { overflow-x: clip !important; }

.overflow-x-visible { overflow-x: visible !important; }

.overflow-x-scroll { overflow-x: scroll !important; }

.overflow-y-auto { overflow-y: auto !important; }

.overflow-y-hidden { overflow-y: hidden !important; }

.overflow-y-clip { overflow-y: clip !important; }

.overflow-y-visible { overflow-y: visible !important; }

.overflow-y-scroll { overflow-y: scroll !important; }

/* ========================================
   플로트 유틸리티
   ======================================== */

.float-left { float: left !important; }

.float-right { float: right !important; }

.float-none { float: none !important; }

/* ========================================
   클리어 유틸리티
   ======================================== */

.clear-left { clear: left !important; }

.clear-right { clear: right !important; }

.clear-both { clear: both !important; }

.clear-none { clear: none !important; }

/* ========================================
   반응형 디스플레이 유틸리티
   ======================================== */

/* 모바일 전용 (768px 이하) */

@media (max-width: 768px) {
    .mobile\:d-none { display: none !important; }
    .mobile\:d-block { display: block !important; }
    .mobile\:d-flex { display: flex !important; }
    .mobile\:d-grid { display: grid !important; }
    .mobile\:hidden { display: none !important; }
    
    .mobile\:flex-column { flex-direction: column !important; }
    .mobile\:flex-row { flex-direction: row !important; }
    .mobile\:justify-center { justify-content: center !important; }
    .mobile\:align-center { align-items: center !important; }
    
    .mobile\:grid-cols-1 { grid-template-columns: repeat(1, minmax(0, 1fr)) !important; }
    .mobile\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* 태블릿 (769px - 1024px) */

@media (min-width: 769px) and (max-width: 1024px) {
    .tablet\:d-none { display: none !important; }
    .tablet\:d-block { display: block !important; }
    .tablet\:d-flex { display: flex !important; }
    .tablet\:d-grid { display: grid !important; }
    .tablet\:hidden { display: none !important; }
    
    .tablet\:flex-column { flex-direction: column !important; }
    .tablet\:flex-row { flex-direction: row !important; }
    .tablet\:grid-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    .tablet\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* 데스크톱 (1025px 이상) */

@media (min-width: 1025px) {
    .desktop\:d-none { display: none !important; }
    .desktop\:d-block { display: block !important; }
    .desktop\:d-flex { display: flex !important; }
    .desktop\:d-grid { display: grid !important; }
    .desktop\:hidden { display: none !important; }
    
    .desktop\:flex-row { flex-direction: row !important; }
    .desktop\:grid-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
    .desktop\:grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
    .desktop\:grid-cols-6 { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
}

/* ========================================
   인쇄 모드 디스플레이
   ======================================== */

@media print {
    .print\:d-none { display: none !important; }
    .print\:d-block { display: block !important; }
    .print\:hidden { display: none !important; }
}

/* ========================================
   애니메이션 줄이기 설정 존중
   ======================================== */

@media (prefers-reduced-motion: reduce) {
    .motion-reduce\:hidden { display: none !important; }
}

/* 8. 유틸리티 스타일 - 포지션 (Position) */

/* ========================================
   기본 포지션 유틸리티
   ======================================== */

.static { position: static !important; }

.fixed { position: fixed !important; }

.absolute { position: absolute !important; }

.relative { position: relative !important; }

.sticky { position: sticky !important; }

/* ========================================
   Top/Right/Bottom/Left 유틸리티
   ======================================== */

/* Top */

.top-0 { top: 0 !important; }

.top-auto { top: auto !important; }

.top-px { top: 1px !important; }

.top-0\.5 { top: 0.125rem !important; }

.top-1 { top: var(--spacing-xs) !important; }

.top-2 { top: var(--spacing-sm) !important; }

.top-3 { top: var(--spacing-md) !important; }

.top-4 { top: var(--spacing-lg) !important; }

.top-5 { top: var(--spacing-xl) !important; }

.top-6 { top: var(--spacing-2xl) !important; }

.top-8 { top: 2rem !important; }

.top-10 { top: 2.5rem !important; }

.top-12 { top: 3rem !important; }

.top-16 { top: 4rem !important; }

.top-20 { top: 5rem !important; }

.top-24 { top: 6rem !important; }

.top-32 { top: 8rem !important; }

.top-40 { top: 10rem !important; }

.top-48 { top: 12rem !important; }

.top-56 { top: 14rem !important; }

.top-64 { top: 16rem !important; }

/* Right */

.right-0 { right: 0 !important; }

.right-auto { right: auto !important; }

.right-px { right: 1px !important; }

.right-0\.5 { right: 0.125rem !important; }

.right-1 { right: var(--spacing-xs) !important; }

.right-2 { right: var(--spacing-sm) !important; }

.right-3 { right: var(--spacing-md) !important; }

.right-4 { right: var(--spacing-lg) !important; }

.right-5 { right: var(--spacing-xl) !important; }

.right-6 { right: var(--spacing-2xl) !important; }

.right-8 { right: 2rem !important; }

.right-10 { right: 2.5rem !important; }

.right-12 { right: 3rem !important; }

.right-16 { right: 4rem !important; }

.right-20 { right: 5rem !important; }

.right-24 { right: 6rem !important; }

/* Bottom */

.bottom-0 { bottom: 0 !important; }

.bottom-auto { bottom: auto !important; }

.bottom-px { bottom: 1px !important; }

.bottom-0\.5 { bottom: 0.125rem !important; }

.bottom-1 { bottom: var(--spacing-xs) !important; }

.bottom-2 { bottom: var(--spacing-sm) !important; }

.bottom-3 { bottom: var(--spacing-md) !important; }

.bottom-4 { bottom: var(--spacing-lg) !important; }

.bottom-5 { bottom: var(--spacing-xl) !important; }

.bottom-6 { bottom: var(--spacing-2xl) !important; }

.bottom-8 { bottom: 2rem !important; }

.bottom-10 { bottom: 2.5rem !important; }

.bottom-12 { bottom: 3rem !important; }

.bottom-16 { bottom: 4rem !important; }

.bottom-20 { bottom: 5rem !important; }

.bottom-24 { bottom: 6rem !important; }

/* Left */

.left-0 { left: 0 !important; }

.left-auto { left: auto !important; }

.left-px { left: 1px !important; }

.left-0\.5 { left: 0.125rem !important; }

.left-1 { left: var(--spacing-xs) !important; }

.left-2 { left: var(--spacing-sm) !important; }

.left-3 { left: var(--spacing-md) !important; }

.left-4 { left: var(--spacing-lg) !important; }

.left-5 { left: var(--spacing-xl) !important; }

.left-6 { left: var(--spacing-2xl) !important; }

.left-8 { left: 2rem !important; }

.left-10 { left: 2.5rem !important; }

.left-12 { left: 3rem !important; }

.left-16 { left: 4rem !important; }

.left-20 { left: 5rem !important; }

.left-24 { left: 6rem !important; }

/* ========================================
   Inset 유틸리티 (모든 방향)
   ======================================== */

.inset-0 { top: 0; right: 0; bottom: 0; left: 0 !important; }

.inset-auto { top: auto; right: auto; bottom: auto; left: auto !important; }

.inset-px { top: 1px; right: 1px; bottom: 1px; left: 1px !important; }

.inset-0\.5 { top: 0.125rem; right: 0.125rem; bottom: 0.125rem; left: 0.125rem !important; }

.inset-1 { top: var(--spacing-xs); right: var(--spacing-xs); bottom: var(--spacing-xs); left: var(--spacing-xs) !important; }

.inset-2 { top: var(--spacing-sm); right: var(--spacing-sm); bottom: var(--spacing-sm); left: var(--spacing-sm) !important; }

.inset-3 { top: var(--spacing-md); right: var(--spacing-md); bottom: var(--spacing-md); left: var(--spacing-md) !important; }

.inset-4 { top: var(--spacing-lg); right: var(--spacing-lg); bottom: var(--spacing-lg); left: var(--spacing-lg) !important; }

/* ========================================
   Inset X/Y 유틸리티
   ======================================== */

.inset-x-0 { left: 0; right: 0 !important; }

.inset-x-auto { left: auto; right: auto !important; }

.inset-x-px { left: 1px; right: 1px !important; }

.inset-x-1 { left: var(--spacing-xs); right: var(--spacing-xs) !important; }

.inset-x-2 { left: var(--spacing-sm); right: var(--spacing-sm) !important; }

.inset-x-3 { left: var(--spacing-md); right: var(--spacing-md) !important; }

.inset-x-4 { left: var(--spacing-lg); right: var(--spacing-lg) !important; }

.inset-y-0 { top: 0; bottom: 0 !important; }

.inset-y-auto { top: auto; bottom: auto !important; }

.inset-y-px { top: 1px; bottom: 1px !important; }

.inset-y-1 { top: var(--spacing-xs); bottom: var(--spacing-xs) !important; }

.inset-y-2 { top: var(--spacing-sm); bottom: var(--spacing-sm) !important; }

.inset-y-3 { top: var(--spacing-md); bottom: var(--spacing-md) !important; }

.inset-y-4 { top: var(--spacing-lg); bottom: var(--spacing-lg) !important; }

/* ========================================
   Z-Index 유틸리티
   ======================================== */

.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; }

.z-auto { z-index: auto !important; }

/* 특별한 Z-Index 값 */

.z-negative { z-index: -1 !important; }

.z-tooltip { z-index: 1000 !important; }

.z-modal { z-index: 1050 !important; }

.z-popover { z-index: 1060 !important; }

.z-dropdown { z-index: 1070 !important; }

.z-sticky { z-index: 1020 !important; }

.z-fixed { z-index: 1030 !important; }

.z-modal-backdrop { z-index: 1040 !important; }

.z-offcanvas { z-index: 1045 !important; }

.z-max { z-index: 2147483647 !important; }

/* ========================================
   크기 유틸리티 (Width)
   ======================================== */

.w-0 { width: 0 !important; }

.w-auto { width: auto !important; }

.w-px { width: 1px !important; }

.w-0\.5 { width: 0.125rem !important; }

.w-1 { width: var(--spacing-xs) !important; }

.w-2 { width: var(--spacing-sm) !important; }

.w-3 { width: var(--spacing-md) !important; }

.w-4 { width: var(--spacing-lg) !important; }

.w-5 { width: var(--spacing-xl) !important; }

.w-6 { width: var(--spacing-2xl) !important; }

.w-8 { width: 2rem !important; }

.w-10 { width: 2.5rem !important; }

.w-12 { width: 3rem !important; }

.w-16 { width: 4rem !important; }

.w-20 { width: 5rem !important; }

.w-24 { width: 6rem !important; }

.w-32 { width: 8rem !important; }

.w-40 { width: 10rem !important; }

.w-48 { width: 12rem !important; }

.w-56 { width: 14rem !important; }

.w-64 { width: 16rem !important; }

.w-72 { width: 18rem !important; }

.w-80 { width: 20rem !important; }

.w-96 { width: 24rem !important; }

/* 퍼센트 기반 너비 */

.w-1\/2 { width: 50% !important; }

.w-1\/3 { width: 33.333333% !important; }

.w-2\/3 { width: 66.666667% !important; }

.w-1\/4 { width: 25% !important; }

.w-2\/4 { width: 50% !important; }

.w-3\/4 { width: 75% !important; }

.w-1\/5 { width: 20% !important; }

.w-2\/5 { width: 40% !important; }

.w-3\/5 { width: 60% !important; }

.w-4\/5 { width: 80% !important; }

.w-1\/6 { width: 16.666667% !important; }

.w-2\/6 { width: 33.333333% !important; }

.w-3\/6 { width: 50% !important; }

.w-4\/6 { width: 66.666667% !important; }

.w-5\/6 { width: 83.333333% !important; }

.w-full { width: 100% !important; }

/* 뷰포트 기반 너비 */

.w-screen { width: 100vw !important; }

.w-min { width: -moz-min-content !important; width: min-content !important; }

.w-max { width: -moz-max-content !important; width: max-content !important; }

.w-fit { width: -moz-fit-content !important; width: fit-content !important; }

/* ========================================
   크기 유틸리티 (Height)
   ======================================== */

.h-0 { height: 0 !important; }

.h-auto { height: auto !important; }

.h-px { height: 1px !important; }

.h-0\.5 { height: 0.125rem !important; }

.h-1 { height: var(--spacing-xs) !important; }

.h-2 { height: var(--spacing-sm) !important; }

.h-3 { height: var(--spacing-md) !important; }

.h-4 { height: var(--spacing-lg) !important; }

.h-5 { height: var(--spacing-xl) !important; }

.h-6 { height: var(--spacing-2xl) !important; }

.h-8 { height: 2rem !important; }

.h-10 { height: 2.5rem !important; }

.h-12 { height: 3rem !important; }

.h-16 { height: 4rem !important; }

.h-20 { height: 5rem !important; }

.h-24 { height: 6rem !important; }

.h-32 { height: 8rem !important; }

.h-40 { height: 10rem !important; }

.h-48 { height: 12rem !important; }

.h-56 { height: 14rem !important; }

.h-64 { height: 16rem !important; }

/* 퍼센트 기반 높이 */

.h-1\/2 { height: 50% !important; }

.h-1\/3 { height: 33.333333% !important; }

.h-2\/3 { height: 66.666667% !important; }

.h-1\/4 { height: 25% !important; }

.h-3\/4 { height: 75% !important; }

.h-1\/5 { height: 20% !important; }

.h-2\/5 { height: 40% !important; }

.h-3\/5 { height: 60% !important; }

.h-4\/5 { height: 80% !important; }

.h-1\/6 { height: 16.666667% !important; }

.h-5\/6 { height: 83.333333% !important; }

.h-full { height: 100% !important; }

/* 뷰포트 기반 높이 */

.h-screen { height: 100vh !important; }

.h-min { height: -moz-min-content !important; height: min-content !important; }

.h-max { height: -moz-max-content !important; height: max-content !important; }

.h-fit { height: -moz-fit-content !important; height: fit-content !important; }

/* ========================================
   최소/최대 크기 유틸리티
   ======================================== */

/* Min Width */

.min-w-0 { min-width: 0 !important; }

.min-w-full { min-width: 100% !important; }

.min-w-min { min-width: -moz-min-content !important; min-width: min-content !important; }

.min-w-max { min-width: -moz-max-content !important; min-width: max-content !important; }

.min-w-fit { min-width: -moz-fit-content !important; min-width: fit-content !important; }

/* Max Width */

.max-w-0 { max-width: 0 !important; }

.max-w-none { max-width: none !important; }

.max-w-xs { max-width: 20rem !important; }

.max-w-sm { max-width: 24rem !important; }

.max-w-md { max-width: 28rem !important; }

.max-w-lg { max-width: 32rem !important; }

.max-w-xl { max-width: 36rem !important; }

.max-w-2xl { max-width: 42rem !important; }

.max-w-3xl { max-width: 48rem !important; }

.max-w-4xl { max-width: 56rem !important; }

.max-w-5xl { max-width: 64rem !important; }

.max-w-6xl { max-width: 72rem !important; }

.max-w-7xl { max-width: 80rem !important; }

.max-w-full { max-width: 100% !important; }

.max-w-min { max-width: -moz-min-content !important; max-width: min-content !important; }

.max-w-max { max-width: -moz-max-content !important; max-width: max-content !important; }

.max-w-fit { max-width: -moz-fit-content !important; max-width: fit-content !important; }

.max-w-prose { max-width: 65ch !important; }

.max-w-screen-sm { max-width: 640px !important; }

.max-w-screen-md { max-width: 768px !important; }

.max-w-screen-lg { max-width: 1024px !important; }

.max-w-screen-xl { max-width: 1280px !important; }

.max-w-screen-2xl { max-width: 1536px !important; }

/* Min Height */

.min-h-0 { min-height: 0 !important; }

.min-h-full { min-height: 100% !important; }

.min-h-screen { min-height: 100vh !important; }

.min-h-min { min-height: -moz-min-content !important; min-height: min-content !important; }

.min-h-max { min-height: -moz-max-content !important; min-height: max-content !important; }

.min-h-fit { min-height: -moz-fit-content !important; min-height: fit-content !important; }

/* Max Height */

.max-h-0 { max-height: 0 !important; }

.max-h-px { max-height: 1px !important; }

.max-h-0\.5 { max-height: 0.125rem !important; }

.max-h-1 { max-height: var(--spacing-xs) !important; }

.max-h-2 { max-height: var(--spacing-sm) !important; }

.max-h-3 { max-height: var(--spacing-md) !important; }

.max-h-4 { max-height: var(--spacing-lg) !important; }

.max-h-full { max-height: 100% !important; }

.max-h-screen { max-height: 100vh !important; }

.max-h-min { max-height: -moz-min-content !important; max-height: min-content !important; }

.max-h-max { max-height: -moz-max-content !important; max-height: max-content !important; }

.max-h-fit { max-height: -moz-fit-content !important; max-height: fit-content !important; }

/* ========================================
   중앙 정렬 유틸리티
   ======================================== */

.center-absolute {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
}

.center-x-absolute {
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
}

.center-y-absolute {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.center-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.center-grid {
    display: grid !important;
    place-items: center !important;
}

/* ========================================
   Transform 유틸리티
   ======================================== */

.transform { transform: var(--tw-transform) !important; }

.transform-none { transform: none !important; }

/* Scale */

.scale-0 { transform: scale(0) !important; }

.scale-50 { transform: scale(0.5) !important; }

.scale-75 { transform: scale(0.75) !important; }

.scale-90 { transform: scale(0.9) !important; }

.scale-95 { transform: scale(0.95) !important; }

.scale-100 { transform: scale(1) !important; }

.scale-105 { transform: scale(1.05) !important; }

.scale-110 { transform: scale(1.1) !important; }

.scale-125 { transform: scale(1.25) !important; }

.scale-150 { transform: scale(1.5) !important; }

/* Rotate */

.rotate-0 { transform: rotate(0deg) !important; }

.rotate-1 { transform: rotate(1deg) !important; }

.rotate-2 { transform: rotate(2deg) !important; }

.rotate-3 { transform: rotate(3deg) !important; }

.rotate-6 { transform: rotate(6deg) !important; }

.rotate-12 { transform: rotate(12deg) !important; }

.rotate-45 { transform: rotate(45deg) !important; }

.rotate-90 { transform: rotate(90deg) !important; }

.rotate-180 { transform: rotate(180deg) !important; }

.-rotate-180 { transform: rotate(-180deg) !important; }

.-rotate-90 { transform: rotate(-90deg) !important; }

.-rotate-45 { transform: rotate(-45deg) !important; }

.-rotate-12 { transform: rotate(-12deg) !important; }

.-rotate-6 { transform: rotate(-6deg) !important; }

.-rotate-3 { transform: rotate(-3deg) !important; }

.-rotate-2 { transform: rotate(-2deg) !important; }

.-rotate-1 { transform: rotate(-1deg) !important; }

/* Translate */

.translate-x-0 { transform: translateX(0) !important; }

.translate-x-px { transform: translateX(1px) !important; }

.translate-x-0\.5 { transform: translateX(0.125rem) !important; }

.translate-x-1 { transform: translateX(var(--spacing-xs)) !important; }

.translate-x-2 { transform: translateX(var(--spacing-sm)) !important; }

.translate-x-3 { transform: translateX(var(--spacing-md)) !important; }

.translate-x-4 { transform: translateX(var(--spacing-lg)) !important; }

.translate-y-0 { transform: translateY(0) !important; }

.translate-y-px { transform: translateY(1px) !important; }

.translate-y-0\.5 { transform: translateY(0.125rem) !important; }

.translate-y-1 { transform: translateY(var(--spacing-xs)) !important; }

.translate-y-2 { transform: translateY(var(--spacing-sm)) !important; }

.translate-y-3 { transform: translateY(var(--spacing-md)) !important; }

.translate-y-4 { transform: translateY(var(--spacing-lg)) !important; }

/* ========================================
   반응형 포지션 유틸리티
   ======================================== */

/* 모바일 */

@media (max-width: 768px) {
    .mobile\:static { position: static !important; }
    .mobile\:fixed { position: fixed !important; }
    .mobile\:absolute { position: absolute !important; }
    .mobile\:relative { position: relative !important; }
    .mobile\:sticky { position: sticky !important; }
    
    .mobile\:inset-0 { top: 0; right: 0; bottom: 0; left: 0 !important; }
    .mobile\:top-0 { top: 0 !important; }
    .mobile\:right-0 { right: 0 !important; }
    .mobile\:bottom-0 { bottom: 0 !important; }
    .mobile\:left-0 { left: 0 !important; }
    
    .mobile\:w-full { width: 100% !important; }
    .mobile\:h-auto { height: auto !important; }
    .mobile\:max-w-none { max-width: none !important; }
    
    .mobile\:center-flex {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}

/* 태블릿 */

@media (min-width: 769px) and (max-width: 1024px) {
    .tablet\:static { position: static !important; }
    .tablet\:relative { position: relative !important; }
    .tablet\:absolute { position: absolute !important; }
    .tablet\:fixed { position: fixed !important; }
    .tablet\:sticky { position: sticky !important; }
}

/* 데스크톱 */

@media (min-width: 1025px) {
    .desktop\:static { position: static !important; }
    .desktop\:relative { position: relative !important; }
    .desktop\:absolute { position: absolute !important; }
    .desktop\:fixed { position: fixed !important; }
    .desktop\:sticky { position: sticky !important; }
}

/* ========================================
   호버 상태 변형
   ======================================== */

.hover\:scale-105:hover { transform: scale(1.05) !important; }

.hover\:scale-110:hover { transform: scale(1.1) !important; }

.hover\:scale-95:hover { transform: scale(0.95) !important; }

.hover\:-translate-y-1:hover { transform: translateY(calc(-1 * var(--spacing-xs))) !important; }

.hover\:translate-y-1:hover { transform: translateY(var(--spacing-xs)) !important; }

/* ========================================
   포커스 상태 변형
   ======================================== */

.focus\:z-10:focus { z-index: 10 !important; }

.focus\:z-20:focus { z-index: 20 !important; }

/* ========================================
   Group 호버 상태
   ======================================== */

.group:hover .group-hover\:scale-105 { transform: scale(1.05) !important; }

.group:hover .group-hover\:scale-110 { transform: scale(1.1) !important; }

.group:hover .group-hover\:-translate-y-1 { transform: translateY(calc(-1 * var(--spacing-xs))) !important; }

/* 9. 반응형 디자인 유틸리티 */

/* ========================================
   브레이크포인트 정의
   ======================================== */

/*
   브레이크포인트 시스템:
   - xs: 0px 이상 (모바일 퍼스트)
   - sm: 576px 이상 (작은 태블릿)
   - md: 768px 이상 (태블릿)
   - lg: 992px 이상 (데스크톱)
   - xl: 1200px 이상 (큰 데스크톱)
   - xxl: 1400px 이상 (매우 큰 화면)
*/

/* ========================================
   컨테이너 시스템
   ======================================== */

.container {
    width: 100%;
    padding-right: var(--spacing-md);
    padding-left: var(--spacing-md);
    margin-right: auto;
    margin-left: auto;
}

@media (min-width: 576px) {
    .container {
        max-width: var(--container-sm);
    }
}

@media (min-width: 768px) {
    .container {
        max-width: var(--container-md);
    }
}

@media (min-width: 992px) {
    .container {
        max-width: var(--container-lg);
    }
}

@media (min-width: 1200px) {
    .container {
        max-width: var(--container-xl);
    }
}

@media (min-width: 1400px) {
    .container {
        max-width: var(--container-xxl);
    }
}

.container-fluid {
    width: 100%;
    padding-right: var(--spacing-md);
    padding-left: var(--spacing-md);
    margin-right: auto;
    margin-left: auto;
}

/* ========================================
   반응형 디스플레이 유틸리티
   ======================================== */

/* 모바일에서 숨김 */

.d-none-mobile {
    @media (max-width: 767px) {
        display: none !important;
    }
}

/* 태블릿에서 숨김 */

.d-none-tablet {
    @media (min-width: 768px) and (max-width: 991px) {
        display: none !important;
    }
}

/* 데스크톱에서 숨김 */

.d-none-desktop {
    @media (min-width: 992px) {
        display: none !important;
    }
}

/* 모바일에서만 표시 */

.d-block-mobile-only {
    display: none !important;
    @media (max-width: 767px) {
        display: block !important;
    }
}

/* 태블릿에서만 표시 */

.d-block-tablet-only {
    display: none !important;
    @media (min-width: 768px) and (max-width: 991px) {
        display: block !important;
    }
}

/* 데스크톱에서만 표시 */

.d-block-desktop-only {
    display: none !important;
    @media (min-width: 992px) {
        display: block !important;
    }
}

/* 브레이크포인트별 디스플레이 */

@media (max-width: 575.98px) {
    .d-xs-none { display: none !important; }
    .d-xs-inline { display: inline !important; }
    .d-xs-inline-block { display: inline-block !important; }
    .d-xs-block { display: block !important; }
    .d-xs-flex { display: flex !important; }
    .d-xs-inline-flex { display: inline-flex !important; }
    .d-xs-grid { display: grid !important; }
}

@media (min-width: 576px) {
    .d-sm-none { display: none !important; }
    .d-sm-inline { display: inline !important; }
    .d-sm-inline-block { display: inline-block !important; }
    .d-sm-block { display: block !important; }
    .d-sm-flex { display: flex !important; }
    .d-sm-inline-flex { display: inline-flex !important; }
    .d-sm-grid { display: grid !important; }
}

@media (min-width: 768px) {
    .d-md-none { display: none !important; }
    .d-md-inline { display: inline !important; }
    .d-md-inline-block { display: inline-block !important; }
    .d-md-block { display: block !important; }
    .d-md-flex { display: flex !important; }
    .d-md-inline-flex { display: inline-flex !important; }
    .d-md-grid { display: grid !important; }
}

@media (min-width: 992px) {
    .d-lg-none { display: none !important; }
    .d-lg-inline { display: inline !important; }
    .d-lg-inline-block { display: inline-block !important; }
    .d-lg-block { display: block !important; }
    .d-lg-flex { display: flex !important; }
    .d-lg-inline-flex { display: inline-flex !important; }
    .d-lg-grid { display: grid !important; }
}

@media (min-width: 1200px) {
    .d-xl-none { display: none !important; }
    .d-xl-inline { display: inline !important; }
    .d-xl-inline-block { display: inline-block !important; }
    .d-xl-block { display: block !important; }
    .d-xl-flex { display: flex !important; }
    .d-xl-inline-flex { display: inline-flex !important; }
    .d-xl-grid { display: grid !important; }
}

@media (min-width: 1400px) {
    .d-xxl-none { display: none !important; }
    .d-xxl-inline { display: inline !important; }
    .d-xxl-inline-block { display: inline-block !important; }
    .d-xxl-block { display: block !important; }
    .d-xxl-flex { display: flex !important; }
    .d-xxl-inline-flex { display: inline-flex !important; }
    .d-xxl-grid { display: grid !important; }
}

/* ========================================
   반응형 텍스트 정렬
   ======================================== */

@media (max-width: 575.98px) {
    .text-xs-left { text-align: left !important; }
    .text-xs-center { text-align: center !important; }
    .text-xs-right { text-align: right !important; }
}

@media (min-width: 576px) {
    .text-sm-left { text-align: left !important; }
    .text-sm-center { text-align: center !important; }
    .text-sm-right { text-align: right !important; }
}

@media (min-width: 768px) {
    .text-md-left { text-align: left !important; }
    .text-md-center { text-align: center !important; }
    .text-md-right { text-align: right !important; }
}

@media (min-width: 992px) {
    .text-lg-left { text-align: left !important; }
    .text-lg-center { text-align: center !important; }
    .text-lg-right { text-align: right !important; }
}

@media (min-width: 1200px) {
    .text-xl-left { text-align: left !important; }
    .text-xl-center { text-align: center !important; }
    .text-xl-right { text-align: right !important; }
}

/* ========================================
   반응형 플렉스박스 유틸리티
   ======================================== */

/* Small 브레이크포인트 */

@media (min-width: 576px) {
    .flex-sm-row { flex-direction: row !important; }
    .flex-sm-column { flex-direction: column !important; }
    .flex-sm-row-reverse { flex-direction: row-reverse !important; }
    .flex-sm-column-reverse { flex-direction: column-reverse !important; }
    .flex-sm-wrap { flex-wrap: wrap !important; }
    .flex-sm-nowrap { flex-wrap: nowrap !important; }
    .justify-content-sm-start { justify-content: flex-start !important; }
    .justify-content-sm-end { justify-content: flex-end !important; }
    .justify-content-sm-center { justify-content: center !important; }
    .justify-content-sm-between { justify-content: space-between !important; }
    .justify-content-sm-around { justify-content: space-around !important; }
    .justify-content-sm-evenly { justify-content: space-evenly !important; }
    .align-items-sm-start { align-items: flex-start !important; }
    .align-items-sm-end { align-items: flex-end !important; }
    .align-items-sm-center { align-items: center !important; }
    .align-items-sm-baseline { align-items: baseline !important; }
    .align-items-sm-stretch { align-items: stretch !important; }
}

/* Medium 브레이크포인트 */

@media (min-width: 768px) {
    .flex-md-row { flex-direction: row !important; }
    .flex-md-column { flex-direction: column !important; }
    .flex-md-row-reverse { flex-direction: row-reverse !important; }
    .flex-md-column-reverse { flex-direction: column-reverse !important; }
    .flex-md-wrap { flex-wrap: wrap !important; }
    .flex-md-nowrap { flex-wrap: nowrap !important; }
    .justify-content-md-start { justify-content: flex-start !important; }
    .justify-content-md-end { justify-content: flex-end !important; }
    .justify-content-md-center { justify-content: center !important; }
    .justify-content-md-between { justify-content: space-between !important; }
    .justify-content-md-around { justify-content: space-around !important; }
    .justify-content-md-evenly { justify-content: space-evenly !important; }
    .align-items-md-start { align-items: flex-start !important; }
    .align-items-md-end { align-items: flex-end !important; }
    .align-items-md-center { align-items: center !important; }
    .align-items-md-baseline { align-items: baseline !important; }
    .align-items-md-stretch { align-items: stretch !important; }
}

/* Large 브레이크포인트 */

@media (min-width: 992px) {
    .flex-lg-row { flex-direction: row !important; }
    .flex-lg-column { flex-direction: column !important; }
    .flex-lg-row-reverse { flex-direction: row-reverse !important; }
    .flex-lg-column-reverse { flex-direction: column-reverse !important; }
    .flex-lg-wrap { flex-wrap: wrap !important; }
    .flex-lg-nowrap { flex-wrap: nowrap !important; }
    .justify-content-lg-start { justify-content: flex-start !important; }
    .justify-content-lg-end { justify-content: flex-end !important; }
    .justify-content-lg-center { justify-content: center !important; }
    .justify-content-lg-between { justify-content: space-between !important; }
    .justify-content-lg-around { justify-content: space-around !important; }
    .justify-content-lg-evenly { justify-content: space-evenly !important; }
    .align-items-lg-start { align-items: flex-start !important; }
    .align-items-lg-end { align-items: flex-end !important; }
    .align-items-lg-center { align-items: center !important; }
    .align-items-lg-baseline { align-items: baseline !important; }
    .align-items-lg-stretch { align-items: stretch !important; }
}

/* Extra Large 브레이크포인트 */

@media (min-width: 1200px) {
    .flex-xl-row { flex-direction: row !important; }
    .flex-xl-column { flex-direction: column !important; }
    .flex-xl-row-reverse { flex-direction: row-reverse !important; }
    .flex-xl-column-reverse { flex-direction: column-reverse !important; }
    .flex-xl-wrap { flex-wrap: wrap !important; }
    .flex-xl-nowrap { flex-wrap: nowrap !important; }
    .justify-content-xl-start { justify-content: flex-start !important; }
    .justify-content-xl-end { justify-content: flex-end !important; }
    .justify-content-xl-center { justify-content: center !important; }
    .justify-content-xl-between { justify-content: space-between !important; }
    .justify-content-xl-around { justify-content: space-around !important; }
    .justify-content-xl-evenly { justify-content: space-evenly !important; }
    .align-items-xl-start { align-items: flex-start !important; }
    .align-items-xl-end { align-items: flex-end !important; }
    .align-items-xl-center { align-items: center !important; }
    .align-items-xl-baseline { align-items: baseline !important; }
    .align-items-xl-stretch { align-items: stretch !important; }
}

/* ========================================
   반응형 그리드 시스템
   ======================================== */

/* 기본 그리드 */

.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: calc(var(--spacing-md) * -0.5);
    margin-left: calc(var(--spacing-md) * -0.5);
}

.col {
    flex: 1 0 0%;
    padding-right: calc(var(--spacing-md) * 0.5);
    padding-left: calc(var(--spacing-md) * 0.5);
}

/* Small 그리드 */

@media (min-width: 576px) {
    .col-sm { flex: 1 0 0%; }
    .col-sm-auto { flex: 0 0 auto; width: auto; }
    .col-sm-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-sm-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-sm-3 { flex: 0 0 auto; width: 25%; }
    .col-sm-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-sm-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-sm-6 { flex: 0 0 auto; width: 50%; }
    .col-sm-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-sm-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-sm-9 { flex: 0 0 auto; width: 75%; }
    .col-sm-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-sm-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-sm-12 { flex: 0 0 auto; width: 100%; }
}

/* Medium 그리드 */

@media (min-width: 768px) {
    .col-md { flex: 1 0 0%; }
    .col-md-auto { flex: 0 0 auto; width: auto; }
    .col-md-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-md-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-md-3 { flex: 0 0 auto; width: 25%; }
    .col-md-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-md-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-md-6 { flex: 0 0 auto; width: 50%; }
    .col-md-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-md-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-md-9 { flex: 0 0 auto; width: 75%; }
    .col-md-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-md-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-md-12 { flex: 0 0 auto; width: 100%; }
}

/* Large 그리드 */

@media (min-width: 992px) {
    .col-lg { flex: 1 0 0%; }
    .col-lg-auto { flex: 0 0 auto; width: auto; }
    .col-lg-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-lg-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-lg-3 { flex: 0 0 auto; width: 25%; }
    .col-lg-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-lg-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-lg-6 { flex: 0 0 auto; width: 50%; }
    .col-lg-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-lg-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-lg-9 { flex: 0 0 auto; width: 75%; }
    .col-lg-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-lg-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-lg-12 { flex: 0 0 auto; width: 100%; }
}

/* Extra Large 그리드 */

@media (min-width: 1200px) {
    .col-xl { flex: 1 0 0%; }
    .col-xl-auto { flex: 0 0 auto; width: auto; }
    .col-xl-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-xl-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-xl-3 { flex: 0 0 auto; width: 25%; }
    .col-xl-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-xl-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-xl-6 { flex: 0 0 auto; width: 50%; }
    .col-xl-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-xl-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-xl-9 { flex: 0 0 auto; width: 75%; }
    .col-xl-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-xl-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-xl-12 { flex: 0 0 auto; width: 100%; }
}

/* Extra Extra Large 그리드 */

@media (min-width: 1400px) {
    .col-xxl { flex: 1 0 0%; }
    .col-xxl-auto { flex: 0 0 auto; width: auto; }
    .col-xxl-1 { flex: 0 0 auto; width: 8.33333333%; }
    .col-xxl-2 { flex: 0 0 auto; width: 16.66666667%; }
    .col-xxl-3 { flex: 0 0 auto; width: 25%; }
    .col-xxl-4 { flex: 0 0 auto; width: 33.33333333%; }
    .col-xxl-5 { flex: 0 0 auto; width: 41.66666667%; }
    .col-xxl-6 { flex: 0 0 auto; width: 50%; }
    .col-xxl-7 { flex: 0 0 auto; width: 58.33333333%; }
    .col-xxl-8 { flex: 0 0 auto; width: 66.66666667%; }
    .col-xxl-9 { flex: 0 0 auto; width: 75%; }
    .col-xxl-10 { flex: 0 0 auto; width: 83.33333333%; }
    .col-xxl-11 { flex: 0 0 auto; width: 91.66666667%; }
    .col-xxl-12 { flex: 0 0 auto; width: 100%; }
}

/* ========================================
   반응형 간격 유틸리티
   ======================================== */

/* Small 브레이크포인트 간격 */

@media (min-width: 576px) {
    .p-sm-0 { padding: 0 !important; }
    .p-sm-1 { padding: var(--spacing-xs) !important; }
    .p-sm-2 { padding: var(--spacing-sm) !important; }
    .p-sm-3 { padding: 0.75rem !important; }
    .p-sm-4 { padding: var(--spacing-md) !important; }
    .p-sm-5 { padding: 1.25rem !important; }

    .m-sm-0 { margin: 0 !important; }
    .m-sm-1 { margin: var(--spacing-xs) !important; }
    .m-sm-2 { margin: var(--spacing-sm) !important; }
    .m-sm-3 { margin: 0.75rem !important; }
    .m-sm-4 { margin: var(--spacing-md) !important; }
    .m-sm-5 { margin: 1.25rem !important; }
}

/* Medium 브레이크포인트 간격 */

@media (min-width: 768px) {
    .p-md-0 { padding: 0 !important; }
    .p-md-1 { padding: var(--spacing-xs) !important; }
    .p-md-2 { padding: var(--spacing-sm) !important; }
    .p-md-3 { padding: 0.75rem !important; }
    .p-md-4 { padding: var(--spacing-md) !important; }
    .p-md-5 { padding: 1.25rem !important; }

    .m-md-0 { margin: 0 !important; }
    .m-md-1 { margin: var(--spacing-xs) !important; }
    .m-md-2 { margin: var(--spacing-sm) !important; }
    .m-md-3 { margin: 0.75rem !important; }
    .m-md-4 { margin: var(--spacing-md) !important; }
    .m-md-5 { margin: 1.25rem !important; }
}

/* Large 브레이크포인트 간격 */

@media (min-width: 992px) {
    .p-lg-0 { padding: 0 !important; }
    .p-lg-1 { padding: var(--spacing-xs) !important; }
    .p-lg-2 { padding: var(--spacing-sm) !important; }
    .p-lg-3 { padding: 0.75rem !important; }
    .p-lg-4 { padding: var(--spacing-md) !important; }
    .p-lg-5 { padding: 1.25rem !important; }

    .m-lg-0 { margin: 0 !important; }
    .m-lg-1 { margin: var(--spacing-xs) !important; }
    .m-lg-2 { margin: var(--spacing-sm) !important; }
    .m-lg-3 { margin: 0.75rem !important; }
    .m-lg-4 { margin: var(--spacing-md) !important; }
    .m-lg-5 { margin: 1.25rem !important; }
}

/* ========================================
   터치 인터페이스 최적화
   ======================================== */

/* 터치 타겟 최소 크기 보장 */

@media (max-width: 767px) {
    .btn,
    .nav-link,
    .dropdown-item,
    [role="button"],
    input[type="button"],
    input[type="submit"],
    input[type="reset"] {
        min-height: 44px;
        min-width: 44px;
    }

    /* 터치 간격 증가 */
    .nav-link {
        padding: var(--spacing-md) var(--spacing-lg);
    }

    /* 폼 요소 크기 조정 */
    .form-control,
    .form-select {
        min-height: 44px;
        font-size: 16px; /* iOS 줌 방지 */
    }

    /* 체크박스, 라디오 버튼 크기 증가 */
    input[type="checkbox"],
    input[type="radio"] {
        transform: scale(1.2);
        margin: var(--spacing-sm);
    }
}

/* ========================================
   접근성 및 모션 설정
   ======================================== */

/* 시각적 상태 표시기 */

.visible { visibility: visible !important; }

.invisible { visibility: hidden !important; }

/* 스크린 리더 전용 */

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: inherit !important;
    margin: inherit !important;
    overflow: visible !important;
    clip: auto !important;
    white-space: inherit !important;
}

/* 모션 줄이기 설정 존중 */

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* ========================================
   인쇄 스타일
   ======================================== */

@media print {
    .d-print-none { display: none !important; }
    .d-print-inline { display: inline !important; }
    .d-print-inline-block { display: inline-block !important; }
    .d-print-block { display: block !important; }
    .d-print-flex { display: flex !important; }
    .d-print-inline-flex { display: inline-flex !important; }
    .d-print-grid { display: grid !important; }

    /* 인쇄용 색상 조정 */
    * {
        color: black !important;
        background: white !important;
    }

    /* 불필요한 요소 숨김 */
    .navbar,
    .sidebar,
    .modal,
    .tooltip,
    .dropdown-menu {
        display: none !important;
    }
}

/* Custom project styles can be added below or in separate files */

/* Global utility classes */

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.clearfix::after {
    content: "";
    display: table;
    clear: both;
}

/* Focus management */

.focus-ring:focus {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Print styles */

@media print {
    * {
        background: transparent !important;
        color: black !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    
    a,
    a:visited {
        text-decoration: underline;
    }
    
    abbr[title]:after {
        content: " (" attr(title) ")";
    }
    
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    
    thead {
        display: table-header-group;
    }
    
    tr,
    img {
        page-break-inside: avoid;
    }
    
    img {
        max-width: 100% !important;
    }
    
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    
    h2,
    h3 {
        page-break-after: avoid;
    }
} 
.admin-dashboard.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;flex-direction:column;height:100vh;background-color:#f8f9fa}.main-content.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{flex-grow:1;padding:0.5rem 0;overflow-y:auto;background-color:#f8f9fa;min-height:calc(100vh - 80px);max-width:100%;margin:0 auto;width:100%}.container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{max-width:100%;margin:0 auto;padding:0 1rem;width:100%}.page-header.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.page-header.svelte-1btvc2t h1.svelte-1btvc2t.svelte-1btvc2t{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0}.header-actions.svelte-1btvc2t .checkbox-label.svelte-1btvc2t.svelte-1btvc2t{display:flex;align-items:center;font-size:0.9rem;color:#6c757d}.header-actions.svelte-1btvc2t input[type="checkbox"].svelte-1btvc2t.svelte-1btvc2t{margin-right:0.5rem}.content-wrapper.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;height:calc(100vh - 180px)}.project-list-container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.search-box.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{padding:1.5rem 1.5rem 0 1.5rem;margin-bottom:1rem}.search-input-wrapper.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{position:relative}.search-box.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t{width:100%;padding:12px 40px 12px 16px;border:1px solid #e9ecef;border-radius:8px;font-size:14px;background-color:#f8f9fa;transition:all 0.2s ease}.search-box.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t:focus{outline:none;border-color:#4A90E2;background-color:#fff;box-shadow:0 0 0 3px rgba(74, 144, 226, 0.1)}.clear-search-btn.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:18px;cursor:pointer;color:#6c757d;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease}.clear-search-btn.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t:hover{color:#343a40}.project-list-header.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{padding:1.5rem 1.5rem 0.5rem 1.5rem;font-size:16px;font-weight:700;color:#2c3e50;border-bottom:none}.project-list.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{flex-grow:1;overflow-y:auto;padding:0 1.5rem 1.5rem 1.5rem}.project-list.svelte-1btvc2t ul.svelte-1btvc2t.svelte-1btvc2t{list-style:none;padding:0;margin:0}.project-list.svelte-1btvc2t li.svelte-1btvc2t.svelte-1btvc2t{margin-bottom:8px;border-radius:8px;transition:all 0.2s ease;border:1px solid transparent}.project-list.svelte-1btvc2t button.svelte-1btvc2t.svelte-1btvc2t{width:100%;background:none;border:none;padding:12px 16px;margin:0;font:inherit;cursor:pointer;text-align:left;border-radius:8px;transition:all 0.2s ease}.project-list.svelte-1btvc2t li.svelte-1btvc2t.svelte-1btvc2t:hover{background-color:#f8f9fa;border-color:#e9ecef}.project-list.svelte-1btvc2t li .selected.svelte-1btvc2t.svelte-1btvc2t{background-color:#e3f2fd;border-color:#4A90E2;color:#1976d2}.project-info.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;width:100%}.project-main-info.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{flex-grow:1;display:flex;flex-direction:column;gap:4px}.project-title.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:14px;color:#2c3e50;line-height:1.2}.company-row.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;justify-content:space-between;align-items:center}.company-name.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{font-size:12px;color:#6c757d;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;flex-grow:1}.applicant-count.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{margin-left:0.5rem;font-size:12px;color:#4A90E2;font-weight:600;background-color:#e3f2fd;padding:2px 8px;border-radius:12px;flex-shrink:0}.applicant-list-container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:1.5rem;display:flex;flex-direction:column;height:100%}.applicant-header.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.applicant-header.svelte-1btvc2t h2.svelte-1btvc2t.svelte-1btvc2t{font-size:1.3rem;font-weight:700;margin:0;color:#2c3e50}.quick-filter.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t{padding:10px 16px;border:1px solid #e9ecef;border-radius:8px;width:250px;font-size:14px;background-color:#f8f9fa;transition:all 0.2s ease}.quick-filter.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t:focus{outline:none;border-color:#4A90E2;background-color:#fff;box-shadow:0 0 0 3px rgba(74, 144, 226, 0.1)}.applicant-table-container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.applicant-blacklist-tag,.blacklist-tag{background-color:#dc3545;color:white;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.blacklist-tag{margin-left:8px}.profile-docs-btn,.detail-btn{padding:6px 12px;border:none;border-radius:6px;color:white;cursor:pointer;font-size:12px;font-weight:500;transition:all 0.2s ease;display:inline-flex;align-items:center;gap:4px}.profile-docs-btn{background-color:#007bff}.profile-docs-btn:hover{background-color:#0056b3}.profile-docs-btn.small,.detail-btn.small{padding:4px 8px;font-size:11px}.profile-docs-btn:hover,.detail-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1)}.detail-btn{background-color:#28a745}.detail-btn:hover{background-color:#218838}.status-select{width:100%;padding:6px 8px;border-radius:6px;border:1px solid #e9ecef;font-size:13px;background-color:#fff;transition:all 0.2s ease;min-width:100px}.status-select:focus{outline:none;border-color:#4A90E2;box-shadow:0 0 0 2px rgba(74, 144, 226, 0.1)}.applicant-name{display:flex;align-items:center;gap:8px}.applicant-name-text{font-weight:500;color:#2c3e50}.applicant-detail-modal.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t,.profile-files-modal.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t,.project-detail-modal.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{padding:2rem;max-width:600px;width:90vw;border-radius:16px}.applicant-detail-modal.svelte-1btvc2t h2.svelte-1btvc2t.svelte-1btvc2t,.profile-files-modal.svelte-1btvc2t h3.svelte-1btvc2t.svelte-1btvc2t,.project-detail-modal.svelte-1btvc2t h2.svelte-1btvc2t.svelte-1btvc2t{margin-top:0;font-size:1.5rem;font-weight:700;padding-bottom:1rem;border-bottom:1px solid #e9ecef;color:#2c3e50}.detail-section.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{margin-bottom:1.5rem}.detail-section.svelte-1btvc2t h3.svelte-1btvc2t.svelte-1btvc2t{font-size:1.1rem;color:#4A90E2;margin-bottom:1rem;font-weight:600}.detail-section.svelte-1btvc2t p.svelte-1btvc2t.svelte-1btvc2t{margin:0.8rem 0;display:flex;align-items:center;padding:8px 0}.detail-section.svelte-1btvc2t p.svelte-1btvc2t strong.svelte-1btvc2t{margin-right:1rem;min-width:80px;color:#6c757d;font-weight:500}.modal-actions.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef}.form-group.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{margin-bottom:1.5rem}.form-group.svelte-1btvc2t label.svelte-1btvc2t.svelte-1btvc2t{display:block;margin-bottom:0.5rem;font-weight:600;color:#2c3e50}.form-group.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t,.form-group.svelte-1btvc2t textarea.svelte-1btvc2t.svelte-1btvc2t{width:100%;padding:12px;border:1px solid #e9ecef;border-radius:8px;font-size:14px;transition:all 0.2s ease}.form-group.svelte-1btvc2t input.svelte-1btvc2t.svelte-1btvc2t:focus,.form-group.svelte-1btvc2t textarea.svelte-1btvc2t.svelte-1btvc2t:focus{outline:none;border-color:#4A90E2;box-shadow:0 0 0 3px rgba(74, 144, 226, 0.1)}.form-actions.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.success-message.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{color:#28a745;text-align:center;margin:1rem 0;font-weight:500}.profile-files-modal.svelte-1btvc2t ul.svelte-1btvc2t.svelte-1btvc2t{list-style:none;padding:0}.profile-files-modal.svelte-1btvc2t li.svelte-1btvc2t.svelte-1btvc2t{padding:1rem 0;border-bottom:1px solid #e9ecef;display:flex;align-items:center;justify-content:space-between}.profile-files-modal.svelte-1btvc2t a.svelte-1btvc2t.svelte-1btvc2t{color:#4A90E2;text-decoration:none;font-weight:500}.profile-files-modal.svelte-1btvc2t a.svelte-1btvc2t.svelte-1btvc2t:hover{text-decoration:underline}.profile-files-modal.svelte-1btvc2t span.svelte-1btvc2t.svelte-1btvc2t{margin-left:1rem;font-size:0.85rem;color:#6c757d}@media(max-width: 768px){.main-content.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{padding:1rem}.content-wrapper.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{grid-template-columns:1fr;height:auto;gap:1rem}.project-list-container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{height:300px;margin-bottom:1rem}.applicant-list-container.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{height:auto}.page-header.svelte-1btvc2t.svelte-1btvc2t.svelte-1btvc2t{padding:1rem;margin-bottom:1rem}.page-header.svelte-1btvc2t h1.svelte-1btvc2t.svelte-1btvc2t{font-size:1.3rem}}
.admin-dashboard.svelte-6ngwk2.svelte-6ngwk2{display:flex;flex-direction:column;height:100vh;background-color:#f8f9fa}.main-content.svelte-6ngwk2.svelte-6ngwk2{flex-grow:1;padding:1rem 2rem;overflow-y:auto;background-color:#f8f9fa;min-height:calc(100vh - 80px);max-width:100%;margin:0 auto;width:100%}.container.svelte-6ngwk2.svelte-6ngwk2{max-width:100%;margin:0 auto;padding:0;width:100%}.page-header.svelte-6ngwk2.svelte-6ngwk2{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem;background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06)}.page-header.svelte-6ngwk2 h1.svelte-6ngwk2{font-size:1.5rem;font-weight:700;color:#2c3e50;margin:0}.header-actions.svelte-6ngwk2 .checkbox-label.svelte-6ngwk2{display:flex;align-items:center;font-size:0.9rem;color:#6c757d}.header-actions.svelte-6ngwk2 input[type="checkbox"].svelte-6ngwk2{margin-right:0.5rem}.content-wrapper.svelte-6ngwk2.svelte-6ngwk2{display:grid;grid-template-columns:320px 1fr;gap:1.5rem;height:calc(100vh - 180px)}.project-list-container.svelte-6ngwk2.svelte-6ngwk2{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.search-box.svelte-6ngwk2.svelte-6ngwk2{padding:1.5rem 1.5rem 0 1.5rem;margin-bottom:1rem}.search-input-wrapper.svelte-6ngwk2.svelte-6ngwk2{position:relative}.search-box.svelte-6ngwk2 input.svelte-6ngwk2{width:100%;padding:12px 40px 12px 16px;border:1px solid #e9ecef;border-radius:8px;font-size:14px;background-color:#f8f9fa;transition:all 0.2s ease}.search-box.svelte-6ngwk2 input.svelte-6ngwk2:focus{outline:none;border-color:#4A90E2;background-color:#fff;box-shadow:0 0 0 3px rgba(74, 144, 226, 0.1)}.clear-search-btn.svelte-6ngwk2.svelte-6ngwk2{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:18px;cursor:pointer;color:#6c757d;width:20px;height:20px;display:flex;align-items:center;justify-content:center;transition:color 0.2s ease}.clear-search-btn.svelte-6ngwk2.svelte-6ngwk2:hover{color:#343a40}.project-list-header.svelte-6ngwk2.svelte-6ngwk2{padding:1.5rem 1.5rem 0.5rem 1.5rem;font-size:16px;font-weight:700;color:#2c3e50;border-bottom:none}.project-list.svelte-6ngwk2.svelte-6ngwk2{flex-grow:1;overflow-y:auto;padding:0 1.5rem 1.5rem 1.5rem}.project-list.svelte-6ngwk2 ul.svelte-6ngwk2{list-style:none;padding:0;margin:0}.project-list.svelte-6ngwk2 li.svelte-6ngwk2{margin-bottom:8px;border-radius:8px;transition:all 0.2s ease;border:1px solid transparent}.project-list.svelte-6ngwk2 button.svelte-6ngwk2{width:100%;background:none;border:none;padding:12px 16px;margin:0;font:inherit;cursor:pointer;text-align:left;border-radius:8px;transition:all 0.2s ease}.project-list.svelte-6ngwk2 li.svelte-6ngwk2:hover{background-color:#f8f9fa;border-color:#e9ecef}.project-list.svelte-6ngwk2 li .selected.svelte-6ngwk2{background-color:#e3f2fd;border-color:#4A90E2;color:#1976d2}.project-info.svelte-6ngwk2.svelte-6ngwk2{display:flex;width:100%}.project-main-info.svelte-6ngwk2.svelte-6ngwk2{flex-grow:1;display:flex;flex-direction:column;gap:4px}.project-title.svelte-6ngwk2.svelte-6ngwk2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:14px;color:#2c3e50;line-height:1.2}.company-row.svelte-6ngwk2.svelte-6ngwk2{display:flex;justify-content:space-between;align-items:center}.company-name.svelte-6ngwk2.svelte-6ngwk2{font-size:12px;color:#6c757d;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;flex-grow:1}.applicant-count.svelte-6ngwk2.svelte-6ngwk2{margin-left:0.5rem;font-size:12px;color:#4A90E2;font-weight:600;background-color:#e3f2fd;padding:2px 8px;border-radius:12px;flex-shrink:0}.applicant-list-container.svelte-6ngwk2.svelte-6ngwk2{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,0.06);padding:1.5rem;display:flex;flex-direction:column;height:100%}.applicant-header.svelte-6ngwk2.svelte-6ngwk2{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #e9ecef}.applicant-header.svelte-6ngwk2 h2.svelte-6ngwk2{font-size:1.3rem;font-weight:700;margin:0;color:#2c3e50}.projects-table-container.svelte-6ngwk2.svelte-6ngwk2{width:100%;height:100%;overflow-y:auto}.projects-table.svelte-6ngwk2.svelte-6ngwk2{width:100%;border-collapse:collapse;background-color:#fff;border-radius:8px;overflow:hidden;border:1px solid #e9ecef}.projects-table.svelte-6ngwk2 th.svelte-6ngwk2{background-color:#f8f9fa;padding:12px;text-align:left;font-weight:600;color:#495057;border-bottom:2px solid #e9ecef}.projects-table.svelte-6ngwk2 td.svelte-6ngwk2{padding:12px;border-bottom:1px solid #f8f9fa}.projects-table.svelte-6ngwk2 tr.svelte-6ngwk2:hover{background-color:#f8f9fa}.project-title-link.svelte-6ngwk2.svelte-6ngwk2{background:none;border:none;color:#4A90E2;cursor:pointer;font-weight:500;text-decoration:none}.project-title-link.svelte-6ngwk2.svelte-6ngwk2:hover{text-decoration:underline}.mobile-projects-cards.svelte-6ngwk2.svelte-6ngwk2{display:flex;flex-direction:column;gap:1rem}.mobile-project-card.svelte-6ngwk2.svelte-6ngwk2{border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;background-color:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.05)}.applicant-blacklist-tag,.blacklist-tag{background-color:#dc3545;color:white;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.blacklist-tag{margin-left:8px}.profile-docs-btn,.detail-btn{padding:6px 12px;border:none;border-radius:6px;color:white;cursor:pointer;font-size:12px;font-weight:500;transition:all 0.2s ease;display:inline-flex;align-items:center;gap:4px}.profile-docs-btn.small,.detail-btn.small{padding:4px 8px;font-size:11px}.profile-docs-btn:hover,.detail-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(0,0,0,0.1)}.detail-btn{background-color:#28a745}.detail-btn:hover{background-color:#218838}.status-select,.mobile-status-select{width:100%;padding:6px 8px;border-radius:6px;border:1px solid #e9ecef;font-size:13px;background-color:#fff;transition:all 0.2s ease;min-width:100px}.status-select:focus,.mobile-status-select:focus{outline:none;border-color:#4A90E2;box-shadow:0 0 0 2px rgba(74, 144, 226, 0.1)}.applicant-name{display:flex;align-items:center;gap:8px}.applicant-name-text{font-weight:500;color:#2c3e50}@media(max-width: 768px){.main-content.svelte-6ngwk2.svelte-6ngwk2{padding:1rem}.content-wrapper.svelte-6ngwk2.svelte-6ngwk2{grid-template-columns:1fr;height:auto;gap:1rem}.project-list-container.svelte-6ngwk2.svelte-6ngwk2{height:300px;margin-bottom:1rem}.applicant-list-container.svelte-6ngwk2.svelte-6ngwk2{height:auto}.page-header.svelte-6ngwk2.svelte-6ngwk2{padding:1rem;margin-bottom:1rem}.page-header.svelte-6ngwk2 h1.svelte-6ngwk2{font-size:1.3rem}}
.applicant-actions.svelte-1ebwrb{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.status-section.svelte-1ebwrb{display:flex;flex-direction:column;gap:var(--spacing-xs);align-items:center}.status-select.svelte-1ebwrb{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);font-size:var(--font-size-sm);background:var(--color-white);min-width:100px}@media(max-width: 768px){.applicant-actions.svelte-1ebwrb{flex-direction:row;justify-content:space-between;align-items:center}.status-section.svelte-1ebwrb{flex-direction:column}}
.company-applicants-container.svelte-16egz7c.svelte-16egz7c{max-width:1200px;margin:0 auto;padding:20px;font-family:'Noto Sans KR', sans-serif}.page-header.svelte-16egz7c.svelte-16egz7c{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header.svelte-16egz7c h2.svelte-16egz7c{font-size:1.8rem;font-weight:700;color:#333}.back-button.svelte-16egz7c.svelte-16egz7c{background:none;border:none;color:#3273dc;font-size:1rem;cursor:pointer;padding:5px 10px}.back-button.svelte-16egz7c.svelte-16egz7c:hover{text-decoration:underline}.content-grid.svelte-16egz7c.svelte-16egz7c{display:grid;grid-template-columns:300px 1fr;gap:30px}.project-list-section.svelte-16egz7c.svelte-16egz7c{background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);padding:20px}.project-list-section.svelte-16egz7c h3.svelte-16egz7c{font-size:1.2rem;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.project-list.svelte-16egz7c.svelte-16egz7c{list-style:none;padding:0;margin:0;min-height:800px}.project-item.svelte-16egz7c.svelte-16egz7c{padding:15px;border-bottom:1px solid #eee;cursor:pointer;transition:background-color 0.2s}.project-item.svelte-16egz7c.svelte-16egz7c:hover{background-color:#f8f9fa}.project-item.selected.svelte-16egz7c.svelte-16egz7c{background-color:#e7f5ff;border-left:3px solid #3273dc}.project-name.svelte-16egz7c.svelte-16egz7c{font-weight:500;margin-bottom:5px}.project-info.svelte-16egz7c.svelte-16egz7c{display:flex;justify-content:space-between;font-size:0.85rem;color:#6c757d}.applicants-section.svelte-16egz7c.svelte-16egz7c{background:white;border-radius:8px;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);padding:20px;min-height:500px}.applicants-header.svelte-16egz7c.svelte-16egz7c{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.applicants-header.svelte-16egz7c h3.svelte-16egz7c{font-size:1.2rem;margin:0}.header-actions.svelte-16egz7c.svelte-16egz7c{display:flex;align-items:center;gap:15px}.applicant-count.svelte-16egz7c.svelte-16egz7c{color:#6c757d;font-size:0.9rem}.select-prompt.svelte-16egz7c.svelte-16egz7c{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;color:#868e96}.prompt-icon.svelte-16egz7c.svelte-16egz7c{font-size:3rem;margin-bottom:15px}.prompt-text.svelte-16egz7c.svelte-16egz7c{font-size:1.2rem}@media(max-width: 992px){.content-grid.svelte-16egz7c.svelte-16egz7c{grid-template-columns:1fr}.applicants-section.svelte-16egz7c.svelte-16egz7c{margin-top:20px}}
.mobile-menu.svelte-1gjc2zs.svelte-1gjc2zs{display:none;position:fixed;top:0;right:-300px;width:300px;height:100vh;background-color:white;box-shadow:-5px 0 15px rgba(0, 0, 0, 0.1);transition:right 0.3s ease-in-out;z-index:1001;padding:20px}.mobile-menu.open.svelte-1gjc2zs.svelte-1gjc2zs{right:0}@media(max-width: 768px){.mobile-menu.svelte-1gjc2zs.svelte-1gjc2zs{display:block}}.mobile-menu-overlay.svelte-1gjc2zs.svelte-1gjc2zs{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0, 0, 0, 0.5);z-index:1000;display:none}@media(max-width: 768px){.mobile-menu-overlay.svelte-1gjc2zs.svelte-1gjc2zs{display:block}}.close-btn.svelte-1gjc2zs.svelte-1gjc2zs{background:none;border:none;position:absolute;top:20px;right:20px;font-size:1.5rem;cursor:pointer}.mobile-menu.svelte-1gjc2zs ul.svelte-1gjc2zs{list-style:none;margin-top:60px}.mobile-menu.svelte-1gjc2zs li.svelte-1gjc2zs{margin-bottom:20px}.mobile-menu.svelte-1gjc2zs a.svelte-1gjc2zs{color:#333;text-decoration:none;font-size:1.2rem;font-weight:500}.user-info.svelte-1gjc2zs.svelte-1gjc2zs{font-weight:bold;color:#3273dc;padding:0 0 10px 0;border-bottom:1px solid #eee;margin-bottom:15px}.admin-content.svelte-1gjc2zs.svelte-1gjc2zs{padding-top:20px}.admin-page-header.svelte-1gjc2zs.svelte-1gjc2zs{margin-bottom:var(--spacing-md)}.admin-actions.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.admin-buttons.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;gap:0.5rem}.admin-search-container.svelte-1gjc2zs.svelte-1gjc2zs{flex:0 0 300px}.admin-search-input.svelte-1gjc2zs.svelte-1gjc2zs{width:100%;padding:0.5rem;border:1px solid var(--border-color);border-radius:4px;font-size:0.9rem}.admin-table-wrapper.svelte-1gjc2zs.svelte-1gjc2zs{background:white;border:1px solid var(--border-color);border-radius:4px;overflow:hidden}.loading-container.svelte-1gjc2zs.svelte-1gjc2zs,.error-container.svelte-1gjc2zs.svelte-1gjc2zs{text-align:center;padding:var(--spacing-xl) 0}.error-container.svelte-1gjc2zs.svelte-1gjc2zs{color:var(--danger-color)}.retry-btn.svelte-1gjc2zs.svelte-1gjc2zs{margin-top:var(--spacing-md);padding:0.5rem 1rem;background:var(--primary-color);color:white;border:none;border-radius:4px;cursor:pointer}.retry-btn.svelte-1gjc2zs.svelte-1gjc2zs:hover{background:var(--primary-hover)}@media(max-width: 768px){.admin-actions.svelte-1gjc2zs.svelte-1gjc2zs{flex-direction:column;align-items:stretch;gap:0.75rem;margin-bottom:1rem}.admin-buttons.svelte-1gjc2zs.svelte-1gjc2zs{order:2;justify-content:center}.admin-search-container.svelte-1gjc2zs.svelte-1gjc2zs{order:1;flex:none;max-width:none}.admin-search-input.svelte-1gjc2zs.svelte-1gjc2zs{font-size:16px}}.profile-docs-btn{border:none;padding:15px 25px;border-radius:8px;cursor:pointer;font-size:15px;transition:all 0.2s ease;font-weight:600;min-width:120px;height:50px;display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 2px 6px rgba(0, 0, 0, 0.15)}.profile-docs-btn .doc-icon{font-size:18px;display:inline-block}.ag-cell .profile-docs-btn{width:100% !important;height:100% !important;min-width:unset !important;min-height:35px !important;margin:2px !important;box-sizing:border-box !important}.profile-docs-btn[style*="#4A90E2"]{background:#4A90E2 !important;color:white !important}.profile-docs-btn[style*="#4A90E2"]:hover{background:#357ABD !important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(74, 144, 226, 0.3)}.profile-docs-btn[style*="#6c757d"]{background:#6c757d !important;color:white !important}.profile-docs-btn[style*="#6c757d"]:hover{background:#5a6268 !important;transform:translateY(-1px);box-shadow:0 2px 4px rgba(108, 117, 125, 0.3)}.profile-files-modal.svelte-1gjc2zs.svelte-1gjc2zs{max-width:800px;max-height:80vh}.files-list.svelte-1gjc2zs.svelte-1gjc2zs{max-height:400px;overflow-y:auto}.files-header.svelte-1gjc2zs.svelte-1gjc2zs{margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #dee2e6}.files-grid.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;flex-direction:column;gap:12px}.file-item.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;align-items:center;padding:12px;border:1px solid #dee2e6;border-radius:8px;background:#f8f9fa;transition:background-color 0.2s}.file-item.svelte-1gjc2zs.svelte-1gjc2zs:hover{background:#e9ecef}.file-icon.svelte-1gjc2zs.svelte-1gjc2zs{font-size:24px;margin-right:12px;flex-shrink:0}.file-info.svelte-1gjc2zs.svelte-1gjc2zs{flex:1;min-width:0}.file-name.svelte-1gjc2zs.svelte-1gjc2zs{font-weight:600;color:#495057;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-details.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;gap:12px;font-size:12px;color:#6c757d;flex-wrap:wrap}.file-details.svelte-1gjc2zs span.svelte-1gjc2zs{background:#ffffff;padding:2px 6px;border-radius:4px;border:1px solid #dee2e6}.file-description.svelte-1gjc2zs.svelte-1gjc2zs{margin-top:6px;font-size:14px;color:#6c757d;font-style:italic}.file-actions.svelte-1gjc2zs.svelte-1gjc2zs{flex-shrink:0;margin-left:12px}.download-btn.svelte-1gjc2zs.svelte-1gjc2zs{background:#28a745;color:white;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s}.download-btn.svelte-1gjc2zs.svelte-1gjc2zs:hover{background:#218838}.delete-file-btn.svelte-1gjc2zs.svelte-1gjc2zs{background:#dc3545;color:white;border:none;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:12px;transition:background-color 0.2s;margin-left:6px}.delete-file-btn.svelte-1gjc2zs.svelte-1gjc2zs:hover{background:#c82333}.mobile-grid{height:auto !important}.mobile-grid .ag-header{display:none}.mobile-card{padding:12px;border-radius:8px;background:#ffffff;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:3px 0}.mobile-card .card-header{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px}.mobile-card .name{font-size:16px;font-weight:600;margin-bottom:0}.mobile-card .card-body{margin-top:8px}.mobile-card .card-row{padding:1px 0;font-size:13px;line-height:1.4}.name-cell{display:flex;align-items:center;justify-content:space-between;gap:8px}.member-blacklist-tag{background-color:#dc3545;color:white;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;line-height:1.2;flex-shrink:0}.member-excluded-tag{background-color:#fd7e14;color:white;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;line-height:1.2;flex-shrink:0;margin-left:4px}.member-deleted-tag{background-color:#6c757d;color:white;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;line-height:1.2;flex-shrink:0;margin-left:4px}.badges{display:flex;gap:4px;align-items:center;margin-left:auto}.attachment-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;padding-top:4px;border-top:1px solid #e9ecef}.main-container.svelte-1gjc2zs.svelte-1gjc2zs{max-width:1600px;margin:0 auto;padding:0}.checkbox-cell{display:flex !important;align-items:center;justify-content:center;padding:0 !important}.ag-selection-checkbox{margin:0 !important}.ag-header-select-all{margin:0 !important}.bulk-actions.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;justify-content:space-between;align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:12px 16px;margin-bottom:var(--spacing-lg);gap:var(--spacing-md)}.bulk-info.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;align-items:center;gap:8px}.selected-count.svelte-1gjc2zs.svelte-1gjc2zs{font-weight:600;color:var(--primary-color);background:white;padding:4px 8px;border-radius:4px;border:1px solid var(--primary-color);font-size:0.9rem}.bulk-buttons.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;gap:0.5rem;flex-wrap:wrap}.checkbox-container{display:flex;align-items:center;margin-right:8px}.mobile-checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--primary-color)}.mobile-card .card-header .name{flex:1;font-size:16px;font-weight:600;margin-bottom:0}.deleted-users-toggle.svelte-1gjc2zs.svelte-1gjc2zs{margin-bottom:10px;display:flex;align-items:center;gap:8px}.toggle-label.svelte-1gjc2zs.svelte-1gjc2zs{display:flex;align-items:center;gap:6px;font-size:0.9rem;color:var(--text-color);cursor:pointer}.toggle-label.svelte-1gjc2zs input[type="checkbox"].svelte-1gjc2zs{width:16px;height:16px;accent-color:var(--primary-color)}@media(max-width: 768px){.bulk-actions.svelte-1gjc2zs.svelte-1gjc2zs{flex-direction:column;align-items:stretch;gap:12px}.bulk-info.svelte-1gjc2zs.svelte-1gjc2zs{justify-content:center}.bulk-buttons.svelte-1gjc2zs.svelte-1gjc2zs{justify-content:center;flex-wrap:wrap}.bulk-buttons.svelte-1gjc2zs .btn{font-size:0.8rem;padding:6px 12px}}.radio-container{display:inline-flex;align-items:center;gap:8px;cursor:pointer;position:relative}.radio-container input[type="radio"]{display:none}.radio-custom{width:20px;height:20px;border:2px solid #ddd;border-radius:50%;position:relative;display:inline-block;background-color:white;transition:all 0.3s ease}.radio-container input[type="radio"]:checked + .radio-custom{border-color:var(--primary-color);background-color:var(--primary-color)}.radio-custom::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;background-color:white;border-radius:50%;opacity:0;transition:opacity 0.3s ease}.radio-container input[type="radio"]:checked + .radio-custom::after{opacity:1}.radio-container:hover .radio-custom{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(50, 115, 220, 0.2)}@keyframes svelte-1gjc2zs-spin{to{transform:rotate(360deg)}}@media(max-width: 768px){}
.container.svelte-shzi76.svelte-shzi76{padding:2rem}.kpi-cards.svelte-shzi76.svelte-shzi76{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:1rem;margin-bottom:2rem}.card.svelte-shzi76.svelte-shzi76{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1);text-align:center}.card.svelte-shzi76 h3.svelte-shzi76{margin:0 0 0.5rem 0;font-size:1rem;color:#555}.card.svelte-shzi76 p.svelte-shzi76{margin:0;font-size:2rem;font-weight:bold;color:#3273dc}.charts-grid.svelte-shzi76.svelte-shzi76{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem}.chart-container.svelte-shzi76.svelte-shzi76{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1)}.table-container.svelte-shzi76.svelte-shzi76{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1);overflow-x:auto}.error-message.svelte-shzi76.svelte-shzi76{color:red}.status-tables.svelte-shzi76.svelte-shzi76{margin-bottom:2rem;display:flex;flex-direction:column;gap:1.5rem}.status-table-section.svelte-shzi76.svelte-shzi76{background:#fff;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,0.1);overflow:hidden}.status-header.svelte-shzi76.svelte-shzi76{background:#f8f9fa;margin:0;padding:1rem 1.5rem;font-size:1.2rem;font-weight:bold;border-bottom:2px solid #e9ecef;border:none;width:100%;text-align:left;color:#333;display:flex;justify-content:space-between;align-items:center}.status-header.clickable.svelte-shzi76.svelte-shzi76{cursor:pointer;transition:background-color 0.2s ease}.status-header.clickable.svelte-shzi76.svelte-shzi76:hover{background:#e9ecef}.header-text.svelte-shzi76.svelte-shzi76{flex:1}.toggle-icon.svelte-shzi76.svelte-shzi76{font-size:0.8rem;transition:transform 0.3s ease;color:#666}.toggle-icon.expanded.svelte-shzi76.svelte-shzi76{transform:rotate(180deg)}.status-table.svelte-shzi76.svelte-shzi76{overflow-x:auto}.empty-table.svelte-shzi76.svelte-shzi76{padding:2rem;text-align:center;color:#6c757d;font-style:italic;background:#f8f9fa}.compact-grid .ag-header-cell{padding:8px 4px !important;font-size:0.9rem !important;font-weight:600 !important}.compact-grid .ag-cell{padding:6px 4px !important;font-size:0.85rem !important;line-height:1.2 !important}.compact-grid .ag-row{height:32px !important}.compact-grid .ag-header-row{height:40px !important}.compact-grid{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important}.compact-grid .ag-paging-panel{padding:8px 16px !important;font-size:0.85rem !important}.status-grid .ag-header-cell{padding:8px 6px !important;font-size:0.9rem !important;font-weight:600 !important;background-color:#f8f9fa !important}.status-grid .ag-cell{padding:8px 6px !important;font-size:0.85rem !important;line-height:1.3 !important}.status-grid .ag-row{height:40px !important}.status-grid .ag-header-row{height:44px !important}.status-grid{font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;border-radius:0 !important}.status-grid .ag-paging-panel{padding:8px 16px !important;font-size:0.85rem !important;background-color:#f8f9fa !important}.status-grid .ag-root-wrapper{border-radius:0 !important}.status-grid .ag-header{border-bottom:1px solid #dee2e6 !important}.status-grid .ag-row-hover{background-color:#f8f9fa !important}@media(max-width: 768px){.container.svelte-shzi76.svelte-shzi76{padding:1rem}.kpi-cards.svelte-shzi76.svelte-shzi76{grid-template-columns:repeat(2, 1fr);gap:0.75rem;margin-bottom:1.5rem}.card.svelte-shzi76.svelte-shzi76{padding:1rem}.card.svelte-shzi76 h3.svelte-shzi76{font-size:0.9rem}.card.svelte-shzi76 p.svelte-shzi76{font-size:1.5rem}.charts-grid.svelte-shzi76.svelte-shzi76{grid-template-columns:1fr;gap:1rem;margin-bottom:1.5rem}.chart-container.svelte-shzi76.svelte-shzi76{padding:1rem}.status-tables.svelte-shzi76.svelte-shzi76{gap:1rem}.status-header.svelte-shzi76.svelte-shzi76{padding:0.75rem 1rem;font-size:1rem}.table-container.svelte-shzi76.svelte-shzi76{padding:1rem}.table-container.svelte-shzi76 h3.svelte-shzi76{font-size:1.1rem;margin-bottom:1rem}}.mobile-grid{height:auto !important}.mobile-grid .ag-header-cell{padding:4px 2px !important;font-size:0.8rem !important;font-weight:600 !important}.mobile-grid .ag-cell{padding:4px 2px !important;font-size:0.75rem !important;line-height:1.2 !important}.mobile-grid .ag-row{height:32px !important}.mobile-grid .ag-header-row{height:36px !important}.mobile-grid .ag-paging-panel{padding:6px 12px !important;font-size:0.8rem !important}.mobile-grid .ag-paging-page-size{display:none !important}.mobile-grid .ag-paging-description{display:none !important}.mobile-grid .ag-body-horizontal-scroll{overflow-x:auto !important}.mobile-grid .ag-body-viewport{overflow-x:auto !important}.mobile-grid .ag-center-cols-container{min-width:100% !important}.daily-stat-card{padding:12px;border-radius:8px;background:#ffffff;box-shadow:0 2px 5px rgba(0,0,0,0.1);margin:3px 0;border:1px solid #e9ecef}.daily-stat-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #e9ecef}.daily-stat-card .date{font-size:16px;font-weight:600;color:#333}.daily-stat-card .total-badge{background:#3273dc;color:white;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.daily-stat-card .card-body{margin-top:8px}.daily-stat-card .stats-grid{display:grid;grid-template-columns:repeat(2, 1fr);gap:6px}.daily-stat-card .stat-item{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:#f8f9fa;border-radius:4px;font-size:12px}.daily-stat-card .stat-label{color:#6c757d;font-weight:500}.daily-stat-card .stat-value{font-weight:600;font-size:14px}@media(max-width: 480px){.daily-stat-card .stats-grid{grid-template-columns:1fr}.daily-stat-card .stat-item{padding:6px 10px}}.mobile-grid .ag-header{display:none}
.common-codes-container.svelte-1rr0q3o.svelte-1rr0q3o{padding:20px;max-width:1400px;margin:0 auto}.page-header.svelte-1rr0q3o.svelte-1rr0q3o{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e9ecef}.page-header.svelte-1rr0q3o h2.svelte-1rr0q3o{color:#333;font-size:1.8rem;font-weight:600;margin:0}.content-grid.svelte-1rr0q3o.svelte-1rr0q3o{display:grid;grid-template-columns:1fr 2fr;gap:30px;min-height:600px}.groups-panel.svelte-1rr0q3o.svelte-1rr0q3o,.details-panel.svelte-1rr0q3o.svelte-1rr0q3o{background:white;border:1px solid #e9ecef;border-radius:8px;overflow:hidden}.panel-header.svelte-1rr0q3o.svelte-1rr0q3o{display:flex;justify-content:space-between;align-items:center;padding:20px;background:#f8f9fa;border-bottom:1px solid #e9ecef}.panel-header.svelte-1rr0q3o h3.svelte-1rr0q3o{margin:0;color:#333;font-size:1.2rem;font-weight:600}.selected-group.svelte-1rr0q3o.svelte-1rr0q3o{color:#3273dc;font-size:1rem;font-weight:500}.search-container.svelte-1rr0q3o.svelte-1rr0q3o{position:relative;width:250px}.search-input.svelte-1rr0q3o.svelte-1rr0q3o{width:100%;padding:8px 35px 8px 12px;border:1px solid #ddd;border-radius:6px;font-size:14px;outline:none;transition:border-color 0.2s}.search-input.svelte-1rr0q3o.svelte-1rr0q3o:focus{border-color:#3273dc;box-shadow:0 0 0 2px rgba(50, 115, 220, 0.1)}.search-icon.svelte-1rr0q3o.svelte-1rr0q3o{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#666;pointer-events:none}.groups-list.svelte-1rr0q3o.svelte-1rr0q3o{max-height:350px;overflow-y:auto}.details-grid.svelte-1rr0q3o.svelte-1rr0q3o{height:600px;width:100%}.group-item.svelte-1rr0q3o.svelte-1rr0q3o{padding:15px 20px;border-bottom:1px solid #f0f0f0;cursor:pointer;transition:background-color 0.2s}.group-item.svelte-1rr0q3o.svelte-1rr0q3o:hover{background:#f8f9fa}.group-item.selected.svelte-1rr0q3o.svelte-1rr0q3o{background:#e3f2fd;border-left:4px solid #3273dc}.group-code.svelte-1rr0q3o.svelte-1rr0q3o{font-weight:600;color:#333;font-size:1.1rem;margin-bottom:5px}.group-name.svelte-1rr0q3o.svelte-1rr0q3o{color:#333;font-size:1rem;font-weight:500;margin-bottom:8px}.group-meta.svelte-1rr0q3o.svelte-1rr0q3o{display:flex;gap:15px;align-items:center}.use-status.svelte-1rr0q3o.svelte-1rr0q3o{padding:2px 8px;border-radius:12px;font-size:0.8rem;font-weight:500;background:#f8d7da;color:#721c24}.use-status.active.svelte-1rr0q3o.svelte-1rr0q3o{background:#d4edda;color:#155724}.sort-order.svelte-1rr0q3o.svelte-1rr0q3o{font-size:0.8rem;color:#868e96}.empty-state.svelte-1rr0q3o.svelte-1rr0q3o{padding:40px 20px;text-align:center;color:#868e96}.empty-state.svelte-1rr0q3o p.svelte-1rr0q3o{margin:0;font-size:1rem}@media(max-width: 1024px){.content-grid.svelte-1rr0q3o.svelte-1rr0q3o{grid-template-columns:1fr;gap:20px}}@media(max-width: 768px){.common-codes-container.svelte-1rr0q3o.svelte-1rr0q3o{padding:15px}.page-header.svelte-1rr0q3o.svelte-1rr0q3o{flex-direction:column;gap:15px;align-items:flex-start}.panel-header.svelte-1rr0q3o.svelte-1rr0q3o{flex-direction:column;gap:15px;align-items:flex-start}.group-item.svelte-1rr0q3o.svelte-1rr0q3o{gap:15px}}.details-grid .ag-theme-alpine{font-family:inherit}.details-grid .ag-header{background:#f8f9fa;border-bottom:2px solid #e9ecef}.details-grid .ag-header-cell{border-right:1px solid #e9ecef;font-weight:600;color:#333}.details-grid .ag-row{border-bottom:1px solid #f0f0f0}.details-grid .ag-row:hover{background:#f8f9fa}.details-grid .status-active{background:#d4edda;color:#155724;padding:2px 8px;border-radius:12px;font-size:0.8rem;font-weight:500}.details-grid .status-inactive{background:#f8d7da;color:#721c24;padding:2px 8px;border-radius:12px;font-size:0.8rem;font-weight:500}
/* 증명서 발급 페이지 스타일 */

.certificate-container {
  min-height: 100vh;
  max-width: 1200px;
  margin: 0 auto;
  background-color: #f8f9fa;
}

.certificate-container .content-container {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
  padding: 30px 20px 40px;
}

/* 탭 헤더 영역 */

.certificate-container .tabs-header {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  background-color: white;
  border-bottom: 1px solid #e9ecef;
  padding: 30px 20px 20px;
  text-align: center;
}

.certificate-container .page-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 20px;
  text-align: center;
}

/* 탭 스타일 - 세그먼트 컨트롤 */

.certificate-container .tabs {
  display: inline-flex;
  justify-content: center;
  gap: 4px;
  padding: 4px;
  background-color: #f1f3f5;
  border-radius: 12px;
  width: -moz-fit-content;
  width: fit-content;
}

.certificate-container .tab-btn {
  padding: 12px 28px;
  background: transparent;
  border: none;
  font-size: 0.95rem;
  font-weight: 500;
  color: #666;
  cursor: pointer;
  border-radius: 10px;
  transition: all 0.25s ease;
  position: relative;
}

.certificate-container .tab-btn:hover {
  color: #333;
  background-color: rgba(255, 255, 255, 0.5);
}

.certificate-container .tab-btn.active {
  color: #3273dc;
  background-color: white;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  font-weight: 600;
}

.certificate-container .tab-btn.active::after {
  display: none;
}

/* 메시지 스타일 */

.message {
  padding: 12px 20px;
  border-radius: 8px;
  margin-bottom: 20px;
  text-align: center;
}

.message.info {
  background-color: #e8f4fd;
  color: #1a73e8;
}

.message.success {
  background-color: #e6f4ea;
  color: #1e8e3e;
}

.message.error {
  background-color: #fce8e6;
  color: #d93025;
}

/* 로그인 안내 */

.login-notice {
  text-align: center;
  padding: 60px 20px;
}

.login-notice p {
  margin-bottom: 20px;
  color: #666;
  font-size: 1.1rem;
}

/* 증명서 종류 선택 */

.type-selector {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
  padding: 20px;
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}

.type-label {
  font-weight: 500;
  color: #333;
  font-size: 0.95rem;
}

.type-options {
  display: flex;
  gap: 30px;
}

.radio-label {
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 1rem;
}

.radio-label input[type="radio"] {
  width: 18px;
  height: 18px;
  accent-color: #3273dc;
}

/* 신청 폼 */

.apply-form {
  background: white;
  padding: 30px;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-group {
  margin-bottom: 20px;
}

.form-group label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
}

.form-group .required {
  color: #d93025;
}

.form-group input,
.form-group textarea,
.form-group select {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
  outline: none;
  border-color: #3273dc;
  box-shadow: 0 0 0 3px rgba(50, 115, 220, 0.1);
}

.form-actions {
  margin-top: 30px;
  text-align: center;
}

/* 버튼 스타일 */

.btn-primary {
  background-color: #3273dc;
  color: white;
  border: none;
  padding: 12px 30px;
  border-radius: 8px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}

.btn-primary:hover:not(:disabled) {
  background-color: #2860c2;
}

.btn-primary:disabled {
  background-color: #a0c0f0;
  cursor: not-allowed;
}

.btn-secondary {
  background-color: #6c757d;
  color: white;
  border: none;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background-color 0.2s;
}

.btn-secondary:hover {
  background-color: #5a6268;
}

.btn-small {
  padding: 6px 12px;
  font-size: 0.85rem;
  border-radius: 4px;
  border: 1px solid #ddd;
  background: white;
  cursor: pointer;
  transition: all 0.2s;
}

.btn-small:hover {
  background-color: #f8f9fa;
}

.btn-primary.btn-small {
  background-color: #3273dc;
  color: white;
  border-color: #3273dc;
}

.btn-primary.btn-small:hover:not(:disabled) {
  background-color: #2860c2;
}

.btn-primary.btn-small:disabled {
  background-color: #a0c0f0;
  cursor: not-allowed;
}

.btn-danger {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}

.btn-danger:hover {
  background-color: #c82333;
}

.btn-danger.btn-small {
  background-color: #dc3545;
  color: white;
  border-color: #dc3545;
}

.btn-danger.btn-small:hover {
  background-color: #c82333;
}

.btn-success {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}

.btn-success:hover {
  background-color: #218838;
}

.btn-success.btn-small {
  background-color: #28a745;
  color: white;
  border-color: #28a745;
}

.btn-success.btn-small:hover {
  background-color: #218838;
}

.btn-info {
  background-color: #17a2b8;
  color: white;
  border-color: #17a2b8;
}

.btn-info:hover {
  background-color: #138496;
}

.btn-info.btn-small {
  background-color: #17a2b8;
  color: white;
  border-color: #17a2b8;
}

.btn-info.btn-small:hover {
  background-color: #138496;
}

.btn-warning {
  background-color: #ffc107;
  color: #212529;
  border-color: #ffc107;
}

.btn-warning:hover {
  background-color: #e0a800;
  color: #212529;
}

.btn-warning.btn-small {
  background-color: #ffc107;
  color: #212529;
  border-color: #ffc107;
}

.btn-warning.btn-small:hover {
  background-color: #e0a800;
  color: #212529;
}

.btn-large {
  padding: 14px 40px;
  font-size: 1.1rem;
}

/* 테이블 스타일 */

.certificate-list {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.certificate-list table {
  width: 100%;
  border-collapse: collapse;
}

.certificate-list th,
.certificate-list td {
  padding: 14px 16px;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.certificate-list th {
  background-color: #f8f9fa;
  font-weight: 600;
  color: #333;
}

.certificate-list tr:hover {
  background-color: #fafafa;
}

.certificate-list td:last-child {
  white-space: nowrap;
}

.certificate-list td button + button {
  margin-left: 8px;
}

/* 상태 배지 */

.status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  font-size: 0.85rem;
  font-weight: 500;
}

.status-pending {
  background-color: #fff3cd;
  color: #856404;
}

.status-approved {
  background-color: #d4edda;
  color: #155724;
}

.status-rejected {
  background-color: #f8d7da;
  color: #721c24;
}

/* 코멘트 섹션 스타일 */

.comment-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.comment-text {
  padding: 8px 12px;
  background-color: #f8f9fa;
  border-radius: 4px;
  border: 1px solid #e9ecef;
  font-size: 0.9rem;
  line-height: 1.4;
  word-break: break-word;
}

.comment-update-info {
  margin-top: 8px;
  padding: 8px 12px;
  background-color: #e8f4fd;
  border-radius: 4px;
  border-left: 4px solid #3273dc;
  font-size: 0.85rem;
}

.update-time {
  color: #6c757d;
  font-weight: 500;
}

.update-user {
  color: #3273dc;
  font-weight: 600;
  margin-left: 4px;
}

/* 코멘트 수정 모달 */

.comment-modal {
  max-width: 600px;
}

.comment-edit-section {
  margin-bottom: 16px;
}

.comment-history {
  margin-bottom: 16px;
}

.existing-comment {
  background-color: #f8f9fa;
  padding: 12px;
  border-radius: 4px;
  border: 1px solid #e9ecef;
  margin-bottom: 12px;
}

.comment-meta {
  font-size: 0.85rem;
  color: #6c757d;
  margin-bottom: 8px;
}

.status-reissued {
  background-color: #fff3cd;
  color: #856404;
}

/* 관리자 필터 */

.admin-filters {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}

.admin-filters select,
.admin-filters input {
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.95rem;
}

.admin-filters input {
  min-width: 200px;
}

/* 로딩 & 빈 상태 */

.loading,
.empty-state {
  text-align: center;
  padding: 60px 20px;
  color: #666;
  font-size: 1.1rem;
}

/* 모달 */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  padding: 20px;
}

.modal-content {
  background: white;
  border-radius: 12px;
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #eee;
}

.modal-header h3 {
  margin: 0;
  font-size: 1.3rem;
  color: #333;
}

.modal-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #666;
  padding: 0;
  line-height: 1;
}

.modal-close:hover {
  color: #333;
}

.modal-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

/* 정보 수정 버튼 섹션 */

.edit-button-section {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #eee;
  text-align: right;
}

.edit-button-section button {
  padding: 10px 24px;
  font-size: 0.95rem;
}

.modal-body {
  padding: 24px;
}

/* 수정 폼 스타일 */

.edit-form {
  background-color: #fff;
}

.edit-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.edit-form .form-group {
  margin-bottom: 16px;
}

.edit-form .form-group label {
  display: block;
  margin-bottom: 6px;
  font-weight: 500;
  color: #333;
  font-size: 0.9rem;
}

.edit-form .form-group .required {
  color: #d93025;
}

.edit-form .form-group input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  font-size: 0.95rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.edit-form .form-group input:focus {
  outline: none;
  border-color: #3273dc;
  box-shadow: 0 0 0 3px rgba(50, 115, 220, 0.1);
}

.edit-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #eee;
}

.edit-actions button {
  padding: 10px 24px;
  border-radius: 6px;
  font-size: 0.95rem;
  font-weight: 500;
  cursor: pointer;
}

.edit-actions .btn-secondary {
  background-color: #6c757d;
  color: white;
  border: none;
}

.edit-actions .btn-secondary:hover {
  background-color: #5a6268;
}

.edit-actions .btn-primary {
  background-color: #3273dc;
  color: white;
  border: none;
}

.edit-actions .btn-primary:hover:not(:disabled) {
  background-color: #2860c2;
}

.edit-actions .btn-primary:disabled {
  background-color: #a0c0f0;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .edit-form .form-row {
    grid-template-columns: 1fr;
  }

  .modal-header-actions {
    gap: 8px;
  }

  .edit-actions {
    flex-direction: column;
  }

  .edit-actions button {
    width: 100%;
  }
}

/* 상세 그리드 */

.detail-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.detail-item {
  padding: 12px;
  background-color: #f8f9fa;
  border-radius: 8px;
}

.detail-item.full-width {
  grid-column: span 2;
}

.detail-item label {
  display: block;
  font-size: 0.85rem;
  color: #666;
  margin-bottom: 4px;
}

.detail-item span {
  font-size: 1rem;
  color: #333;
}

/* 관리자 액션 */

.admin-action {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #eee;
}

.admin-action .form-group {
  margin-bottom: 16px;
}

.admin-action textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: 1rem;
  resize: vertical;
}

.action-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.action-buttons button {
  padding: 10px 30px;
  border: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
}

/* 다운로드 섹션 */

.download-section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid #eee;
  text-align: center;
}

/* PDF 업로드 섹션 */

.pdf-upload-section {
  margin-top: 24px;
  padding: 20px;
  background-color: #f8f9fa;
  border-radius: 8px;
  border: 1px solid #e9ecef;
}

.pdf-upload-section h4 {
  margin: 0 0 16px 0;
  font-size: 1rem;
  color: #495057;
}

.pdf-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.pdf-uploaded {
  color: #28a745;
  font-weight: 500;
}

.pdf-upload-form input[type="file"] {
  width: 100%;
  padding: 10px;
  border: 2px dashed #dee2e6;
  border-radius: 6px;
  background-color: white;
  cursor: pointer;
}

.pdf-upload-form input[type="file"]:hover {
  border-color: #007bff;
}

.selected-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  padding: 10px 12px;
  background-color: white;
  border: 1px solid #dee2e6;
  border-radius: 6px;
}

.selected-file span {
  font-size: 0.9rem;
  color: #495057;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}

/* 성공 모달 */

.success-modal {
  max-width: 400px;
  padding: 40px 30px;
  text-align: center;
}

.success-icon {
  width: 70px;
  height: 70px;
  margin: 0 auto 20px;
  background-color: #28a745;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.5rem;
  color: white;
}

.success-modal h3 {
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 12px;
}

.success-modal p {
  color: #666;
  margin-bottom: 8px;
  font-size: 1rem;
}

.success-modal .sub-text {
  font-size: 0.9rem;
  color: #888;
  margin-bottom: 24px;
}

.success-modal .btn-primary {
  padding: 12px 40px;
  font-size: 1rem;
}

/* 푸터 */

footer {
  width: 100%;
  background-color: #2c3e50;
  color: #ecf0f1;
  padding: 30px 20px;
  margin-top: auto;
}

.company-info {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

.company-info h3 {
  font-size: 1.1rem;
  margin-bottom: 15px;
}

.company-info p {
  font-size: 0.85rem;
  color: #bdc3c7;
  margin-bottom: 8px;
  line-height: 1.6;
}

/* 다운로드 만료 안내 */

.expired-notice {
  display: inline-block;
  padding: 4px 10px;
  background-color: #fff3cd;
  color: #856404;
  border: 1px solid #ffc107;
  border-radius: 4px;
  font-size: 0.8rem;
  font-weight: 500;
}

.expired-notice-box {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 24px;
  background-color: #fff3cd;
  color: #856404;
  border: 1px solid #ffc107;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 500;
}

.expired-notice-box .expired-icon {
  font-size: 1.2rem;
}

/* 반응형 */

@media (max-width: 768px) {
  .certificate-container .tabs-header {
    padding: 20px 15px 15px;
  }

  .certificate-container .content-container {
    padding: 20px 15px;
  }

  .certificate-container .page-title {
    font-size: 1.4rem;
    margin-bottom: 15px;
  }

  .certificate-container .tabs {
    width: 100%;
    padding: 3px;
  }

  .certificate-container .tab-btn {
    padding: 10px 16px;
    font-size: 0.85rem;
    flex: 1;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .apply-form {
    padding: 20px;
  }

  .certificate-list {
    overflow-x: auto;
  }

  .certificate-list table {
    min-width: 700px;
  }

  .admin-filters {
    flex-direction: column;
  }

  .admin-filters select,
  .admin-filters input {
    width: 100%;
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }

  .detail-item.full-width {
    grid-column: span 1;
  }

  .modal-content {
    margin: 10px;
  }
}

.filter-container.svelte-mb3q83.svelte-mb3q83{width:100%;background-color:white;border-radius:8px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.06);margin-bottom:24px;padding:20px}.filter-header.svelte-mb3q83.svelte-mb3q83{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.filter-title-section.svelte-mb3q83.svelte-mb3q83{display:flex;align-items:center;gap:12px}.filter-header.svelte-mb3q83 h3.svelte-mb3q83{font-size:1.3rem;font-weight:600;color:#2c3e50;margin:0}.filter-toggle.svelte-mb3q83.svelte-mb3q83{background:none;border:1px solid #dee2e6;border-radius:4px;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;color:#6c757d}.filter-toggle.svelte-mb3q83.svelte-mb3q83:hover{background-color:#f8f9fa;border-color:#adb5bd;color:#495057}.filter-toggle.svelte-mb3q83 .toggle-icon.svelte-mb3q83{font-size:0.9rem;font-weight:bold;width:auto;margin:0}.search-input-container.svelte-mb3q83.svelte-mb3q83{flex:1;position:relative;margin:0 16px}.search-input.svelte-mb3q83.svelte-mb3q83{width:100%;padding:16px 20px 16px 50px;border:1px solid #dee2e6;border-radius:6px;font-size:1.1rem;background-color:white;box-sizing:border-box;min-height:50px}.search-input.svelte-mb3q83.svelte-mb3q83:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50, 115, 220, 0.2)}.search-input.svelte-mb3q83.svelte-mb3q83::-moz-placeholder{color:#6c757d}.search-input.svelte-mb3q83.svelte-mb3q83::placeholder{color:#6c757d}.filter-actions.svelte-mb3q83.svelte-mb3q83{display:flex;gap:10px}.filter-groups-horizontal.svelte-mb3q83.svelte-mb3q83{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start;animation:svelte-mb3q83-slideDown 0.3s ease-out;overflow:hidden}.filter-groups-horizontal.collapsed.svelte-mb3q83.svelte-mb3q83{animation:svelte-mb3q83-slideUp 0.3s ease-out forwards}@keyframes svelte-mb3q83-slideDown{from{opacity:0;max-height:0;transform:translateY(-10px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes svelte-mb3q83-slideUp{from{opacity:1;max-height:1000px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-10px)}}.filter-group.svelte-mb3q83.svelte-mb3q83{flex:1;min-width:180px;background-color:#f8f9fa;border-radius:6px;padding:16px}.filter-group.svelte-mb3q83 h4.svelte-mb3q83,.filter-group-stacked-item.svelte-mb3q83 h4.svelte-mb3q83{font-size:0.95rem;font-weight:600;margin-bottom:12px;color:#495057;text-align:center;padding-bottom:8px;border-bottom:1px solid #dee2e6}.filter-content.svelte-mb3q83.svelte-mb3q83{display:flex;flex-direction:column;gap:8px}.checkbox-grid.svelte-mb3q83.svelte-mb3q83{display:flex;flex-direction:column;gap:8px}.checkbox-grid.svelte-mb3q83 label.svelte-mb3q83{display:flex;align-items:center;font-size:0.9rem;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color 0.2s}.checkbox-grid.svelte-mb3q83 label.svelte-mb3q83:hover{background-color:white}.checkbox-grid.svelte-mb3q83 input[type="checkbox"].svelte-mb3q83{margin-right:8px;width:16px;height:16px}.filter-group-stack.svelte-mb3q83.svelte-mb3q83{flex:1;min-width:180px;display:flex;flex-direction:column;gap:16px}.filter-group-stacked-item.svelte-mb3q83.svelte-mb3q83{background-color:#f8f9fa;border-radius:6px;padding:16px;width:100%}.skill-tree-horizontal.svelte-mb3q83.svelte-mb3q83{display:flex;flex-direction:column;gap:6px}.skill-item.svelte-mb3q83.svelte-mb3q83{background-color:white;border-radius:4px;padding:8px}.skill-parent.svelte-mb3q83.svelte-mb3q83{display:flex;align-items:center;cursor:pointer;padding:2px 4px;border-radius:3px;transition:background-color 0.2s}.skill-parent.svelte-mb3q83.svelte-mb3q83:hover{background-color:#e9ecef}.skill-parent.svelte-mb3q83 label.svelte-mb3q83{display:flex;align-items:center;font-size:0.9rem;cursor:pointer;margin:0}.toggle-icon.svelte-mb3q83.svelte-mb3q83{display:inline-block;width:16px;font-size:0.7rem;color:#6c757d;margin-right:4px}.sub-skills.svelte-mb3q83.svelte-mb3q83{margin-top:8px;margin-left:20px;padding:8px;background-color:#f8f9fa;border-radius:3px;border-left:3px solid #dee2e6;display:flex;flex-wrap:wrap;gap:6px}.child-skill.svelte-mb3q83.svelte-mb3q83{display:flex;align-items:center;font-size:0.85rem;cursor:pointer;padding:2px 6px;background-color:white;border-radius:3px;border:1px solid #e9ecef;transition:all 0.2s}.child-skill.svelte-mb3q83.svelte-mb3q83:hover{background-color:#e3f2fd;border-color:#90caf9}.child-skill.svelte-mb3q83 input[type="checkbox"].svelte-mb3q83{margin-right:6px;width:14px;height:14px}.filter-reset.svelte-mb3q83.svelte-mb3q83,.filter-apply.svelte-mb3q83.svelte-mb3q83{padding:10px 16px;border:none;border-radius:6px;font-size:0.9rem;font-weight:500;cursor:pointer;transition:all 0.2s}.filter-reset.svelte-mb3q83.svelte-mb3q83{background-color:#6c757d;color:white}.filter-reset.svelte-mb3q83.svelte-mb3q83:hover{background-color:#5a6268}.filter-apply.svelte-mb3q83.svelte-mb3q83{background-color:#007bff;color:white}.filter-apply.svelte-mb3q83.svelte-mb3q83:hover{background-color:#0056b3}.region-selects.svelte-mb3q83.svelte-mb3q83{display:flex;justify-content:center}.select-wrapper.svelte-mb3q83.svelte-mb3q83{display:flex;flex-direction:column;gap:6px;width:100%;max-width:200px}.region-select.svelte-mb3q83.svelte-mb3q83{padding:8px 12px;border:1px solid #dee2e6;border-radius:4px;font-size:0.9rem;background-color:white;cursor:pointer;transition:border-color 0.2s}.region-select.svelte-mb3q83.svelte-mb3q83:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px rgba(0, 123, 255, 0.1)}.region-select.svelte-mb3q83.svelte-mb3q83:disabled{background-color:#f8f9fa;cursor:not-allowed;opacity:0.6}.tooltip-wrapper.svelte-mb3q83.svelte-mb3q83{position:relative;display:inline-block}.tooltip.svelte-mb3q83.svelte-mb3q83{visibility:hidden;width:140px;background-color:#555;color:white;text-align:center;border-radius:4px;padding:6px;position:absolute;z-index:1000;bottom:125%;left:50%;transform:translateX(-50%);opacity:0;transition:opacity 0.3s;font-size:0.75rem;pointer-events:none}.tooltip.svelte-mb3q83.svelte-mb3q83::after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#555 transparent transparent transparent}.tooltip-wrapper.svelte-mb3q83:hover .tooltip.svelte-mb3q83{visibility:visible;opacity:1}@media(max-width: 1200px){.filter-groups-horizontal.svelte-mb3q83.svelte-mb3q83{flex-direction:column}.filter-group.svelte-mb3q83.svelte-mb3q83,.filter-group-stack.svelte-mb3q83.svelte-mb3q83{flex:none;min-width:auto}}@media(max-width: 992px) and (min-width: 769px){.filter-groups-horizontal.svelte-mb3q83.svelte-mb3q83{display:grid;grid-template-columns:repeat(2, 1fr);gap:16px}.filter-group.svelte-mb3q83.svelte-mb3q83:first-child{grid-column:1 / -1}}@media(max-width: 768px){.filter-container.svelte-mb3q83.svelte-mb3q83{padding:16px;margin-bottom:20px}.filter-header.svelte-mb3q83.svelte-mb3q83{flex-direction:row;gap:12px;align-items:center;justify-content:space-between}.filter-title-section.svelte-mb3q83.svelte-mb3q83{justify-content:flex-start;align-items:center}.search-input-container.svelte-mb3q83.svelte-mb3q83{margin:0}.filter-actions.svelte-mb3q83.svelte-mb3q83{justify-content:flex-end;flex-shrink:0}.filter-toggle.svelte-mb3q83.svelte-mb3q83{width:44px;height:44px}.search-input.svelte-mb3q83.svelte-mb3q83{height:44px}.filter-actions.svelte-mb3q83 .filter-reset.svelte-mb3q83,.filter-actions.svelte-mb3q83 .filter-apply.svelte-mb3q83{height:44px;padding:0 16px;font-size:0.85rem}.filter-groups-horizontal.svelte-mb3q83.svelte-mb3q83{display:grid;grid-template-columns:1fr 1fr;gap:12px}.filter-group.svelte-mb3q83.svelte-mb3q83,.filter-group-stack.svelte-mb3q83.svelte-mb3q83{padding:12px;min-height:auto}.filter-group.svelte-mb3q83 h4.svelte-mb3q83,.filter-group-stacked-item.svelte-mb3q83 h4.svelte-mb3q83{font-size:0.9rem;margin-bottom:8px}.filter-group.svelte-mb3q83.svelte-mb3q83:first-child{grid-column:1 / -1}.checkbox-grid.svelte-mb3q83.svelte-mb3q83{gap:6px}.checkbox-grid.svelte-mb3q83 label.svelte-mb3q83{font-size:0.85rem;padding:2px 6px}.skill-tree-horizontal.svelte-mb3q83.svelte-mb3q83{gap:4px}.skill-item.svelte-mb3q83.svelte-mb3q83{padding:6px}.sub-skills.svelte-mb3q83.svelte-mb3q83{margin-top:6px;margin-left:12px;padding:6px;gap:4px}.child-skill.svelte-mb3q83.svelte-mb3q83{font-size:0.8rem;padding:1px 4px}}@media(max-width: 480px){.filter-groups-horizontal.svelte-mb3q83.svelte-mb3q83{grid-template-columns:1fr;gap:10px}.filter-group.svelte-mb3q83.svelte-mb3q83:first-child,.filter-group-stack.svelte-mb3q83.svelte-mb3q83{grid-column:auto}.filter-header.svelte-mb3q83.svelte-mb3q83{flex-direction:column;gap:10px;align-items:stretch}.filter-actions.svelte-mb3q83.svelte-mb3q83{justify-content:center}}
.main-content .project-list-section{flex:1;min-width:0;width:100%;padding:0px}.project-list-section.svelte-1iwg0v7.svelte-1iwg0v7{flex:1;min-width:0;width:100%;padding:0px}.list-header.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 10px;gap:20px}.total-count.svelte-1iwg0v7.svelte-1iwg0v7{font-size:1.1rem;color:#333;font-weight:600;display:flex;align-items:center;gap:8px}.loading-progress.svelte-1iwg0v7.svelte-1iwg0v7{font-size:0.9rem;color:#666;font-weight:normal}.sort-options.svelte-1iwg0v7 select.svelte-1iwg0v7{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:0.9rem;color:#333;background-color:white}.project-list.svelte-1iwg0v7.svelte-1iwg0v7{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:20px;width:100%;align-items:start;justify-items:stretch;overflow:hidden;max-height:none}.project-card.svelte-1iwg0v7.svelte-1iwg0v7{background-color:white;border-radius:6px;overflow:hidden;box-shadow:0 1px 3px rgba(0, 0, 0, 0.08);transition:transform 0.2s, box-shadow 0.2s;cursor:pointer;display:flex;flex-direction:column;border:1px solid #e9ecef;height:auto;min-height:280px;margin-bottom:10px;align-self:start}.project-card.svelte-1iwg0v7.svelte-1iwg0v7:hover{transform:translateY(-3px);box-shadow:0 3px 10px rgba(0, 0, 0, 0.1)}.card-header.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;justify-content:space-between;padding:8px 12px;background-color:#fff;border-bottom:1px solid #e9ecef}.project-category.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#4183f3;color:white;padding:5px 12px;border-radius:4px;font-size:0.9rem;font-weight:500}.project-category.outsourcing.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#28a745;color:white}.project-company.svelte-1iwg0v7.svelte-1iwg0v7{color:#495057;font-size:0.9rem;text-align:right}.project-title.svelte-1iwg0v7.svelte-1iwg0v7{padding:8px 12px;font-size:1rem;font-weight:600;color:#333;border-bottom:1px solid #e9ecef;min-height:auto}.project-info-grid.svelte-1iwg0v7.svelte-1iwg0v7{display:grid;grid-template-columns:1fr 1fr;width:100%;padding:0;gap:5px;margin-bottom:5px}.info-row.svelte-1iwg0v7.svelte-1iwg0v7{padding:2px 8px;border-bottom:none}.info-label.svelte-1iwg0v7.svelte-1iwg0v7{color:#868e96;font-size:0.8rem;margin-bottom:0;display:block}.info-value.svelte-1iwg0v7.svelte-1iwg0v7{color:#333;font-weight:500;font-size:0.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;display:block;cursor:default}.project-skills.svelte-1iwg0v7.svelte-1iwg0v7{padding:6px 12px;display:flex;flex-wrap:wrap;gap:4px;border-top:none}.skill-tag.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#f1f3f5;color:#495057;padding:3px 8px;border-radius:15px;font-size:0.75rem}.project-footer.svelte-1iwg0v7.svelte-1iwg0v7{padding:12px 16px;text-align:right;border-top:1px solid #e9ecef}.status-button-container.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;justify-content:flex-end;align-items:center;gap:12px}.status-button.svelte-1iwg0v7.svelte-1iwg0v7{background:none;border:2px solid;padding:8px 16px;font-size:0.9rem;font-weight:600;border-radius:4px;cursor:default;transition:none}.status-button.recruiting.svelte-1iwg0v7.svelte-1iwg0v7{border-color:#868e96;color:#868e96;background-color:#fff}.status-button.closed.svelte-1iwg0v7.svelte-1iwg0v7{border-color:#868e96;color:#868e96;background-color:#f8f9fa}.deadline-button.svelte-1iwg0v7.svelte-1iwg0v7{background:none;border:2px solid #40c057;color:#40c057;padding:8px 16px;font-size:0.85rem;font-weight:600;border-radius:4px;cursor:default;transition:none;white-space:nowrap}.deadline-info.svelte-1iwg0v7.svelte-1iwg0v7{color:#fa5252;font-size:0.85rem;font-weight:600;white-space:nowrap}.project-deadline.svelte-1iwg0v7.svelte-1iwg0v7{color:#fa5252;font-size:0.8rem;font-weight:500}.status-badge.svelte-1iwg0v7.svelte-1iwg0v7{display:inline-block;font-size:0.75rem;font-weight:500;padding:3px 8px;border-radius:12px;margin-left:8px}.status-badge.모집중.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#e7f5ff;color:#3273dc;border:1px solid #3273dc}.status-badge.마감.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#f1f3f5;color:#495057;border:1px solid #adb5bd}.status-badge.applied.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#fff4e6;color:#f59f00;border:1px solid #f59f00}.status-badge.reviewing.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#fff9db;color:#f59f00}.status-badge.proceeding.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#d3f9d8;color:#40c057}.status-badge.accepted.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#b2f2bb;color:#2b8a3e}.status-badge.rejected.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#ffe3e3;color:#e03131}.status-badge.project_canceled.svelte-1iwg0v7.svelte-1iwg0v7,.status-badge.canceled.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#ffe3e3;color:#fa5252}.status-badge.project_delayed.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#e5dbff;color:#7950f2}.status-badge.closed.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#f1f3f5;color:#868e96}.infinite-scroll-trigger.svelte-1iwg0v7.svelte-1iwg0v7{visibility:hidden;pointer-events:none}.loading-indicator.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;justify-content:center;align-items:center;gap:12px;padding:30px 20px;color:#666;font-size:1rem;background-color:#fff;border-radius:8px;margin:20px 0;box-shadow:0 2px 8px rgba(0, 0, 0, 0.05)}.loading-spinner.svelte-1iwg0v7.svelte-1iwg0v7{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #3273dc;border-radius:50%;animation:svelte-1iwg0v7-spin 1s linear infinite}@keyframes svelte-1iwg0v7-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.end-message.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:30px 20px;color:#666;font-size:0.95rem;background-color:#f8f9fa;border-radius:8px;margin:20px 0;border:1px solid #e9ecef}.end-icon.svelte-1iwg0v7.svelte-1iwg0v7{font-size:1.5rem;color:#28a745;margin-bottom:5px}.end-count.svelte-1iwg0v7.svelte-1iwg0v7{font-size:0.85rem;color:#868e96;font-weight:500}.empty-container.svelte-1iwg0v7.svelte-1iwg0v7{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 0;grid-column:1 / -1;text-align:center;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);margin:10px 0}.empty-icon.svelte-1iwg0v7.svelte-1iwg0v7{font-size:3.5rem;margin-bottom:15px;color:#ced4da}.retry-btn.svelte-1iwg0v7.svelte-1iwg0v7{background-color:#3273dc;color:white;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:0.9rem;margin-top:5px}.retry-btn.svelte-1iwg0v7.svelte-1iwg0v7:hover{background-color:#2860b5}@media(max-width: 768px){.project-list.svelte-1iwg0v7.svelte-1iwg0v7{grid-template-columns:repeat(auto-fit, minmax(280px, 1fr))}.project-info-grid.svelte-1iwg0v7.svelte-1iwg0v7{grid-template-columns:1fr}}.status-button.applied.svelte-1iwg0v7.svelte-1iwg0v7{border-color:#f59f00;color:#f59f00;background-color:#fff}
.project-detail-container.svelte-icdrax.svelte-icdrax{max-width:1150px;margin:0 auto;padding:20px}.project-detail-header.svelte-icdrax.svelte-icdrax{background-color:white;border-radius:8px;padding:40px 30px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);border:1px solid #e9ecef}.detail-badge-container.svelte-icdrax.svelte-icdrax{display:flex;gap:8px;margin-bottom:25px}.detail-badge.svelte-icdrax.svelte-icdrax{padding:8px 16px;border-radius:20px;font-size:0.9rem;font-weight:500;border:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px}.detail-badge.svelte-icdrax.svelte-icdrax:first-child{background-color:#f8f9fa;color:#495057}.detail-badge.outsourcing.svelte-icdrax.svelte-icdrax{background-color:#28a745;color:white}.detail-badge.status.모집중.svelte-icdrax.svelte-icdrax{background-color:#007bff;color:white}.detail-badge.status.마감.svelte-icdrax.svelte-icdrax{background-color:#6c757d;color:white}.detail-badge.skill-badge.svelte-icdrax.svelte-icdrax{background-color:#f8f9fa;color:#495057}.detail-badge.skill-badge.more.svelte-icdrax.svelte-icdrax{background-color:#e9ecef;color:#6c757d;font-weight:600}.project-detail-title.svelte-icdrax.svelte-icdrax{font-size:2rem;font-weight:700;margin-bottom:30px;line-height:1.4;color:#333;word-break:keep-all}.project-basic-info.svelte-icdrax.svelte-icdrax{display:flex;gap:30px;margin-bottom:25px;padding-bottom:20px;border-bottom:1px solid #e9ecef}.basic-info-row.svelte-icdrax.svelte-icdrax{display:flex;align-items:center}.basic-info-row.svelte-icdrax .info-label.svelte-icdrax{font-size:0.9rem;color:#666;margin-right:8px;min-width:40px}.basic-info-row.svelte-icdrax .info-value.svelte-icdrax{font-size:0.95rem;color:#333;font-weight:500}.project-info-section.svelte-icdrax.svelte-icdrax{margin-bottom:20px}.info-grid.svelte-icdrax.svelte-icdrax{display:grid;grid-template-columns:repeat(2, 1fr);gap:20px;margin-bottom:20px}.info-item.svelte-icdrax.svelte-icdrax{display:flex;flex-direction:column;gap:8px}.info-item.svelte-icdrax .info-label.svelte-icdrax{font-size:0.9rem;color:#666;font-weight:500}.info-item.svelte-icdrax .info-value.svelte-icdrax{font-size:0.95rem;color:#333;font-weight:500}.detail-updated.svelte-icdrax.svelte-icdrax{font-size:0.85rem;color:#868e96;text-align:right}.project-detail-content.svelte-icdrax.svelte-icdrax{background-color:white;border-radius:8px;padding:30px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);border:1px solid #e9ecef}.content-section-title.svelte-icdrax.svelte-icdrax{font-size:1.3rem;font-weight:600;margin-bottom:20px;color:#333;padding-bottom:10px;border-bottom:1px solid #e9ecef}.content-text.svelte-icdrax.svelte-icdrax{line-height:1.6;color:#555}.content-list.svelte-icdrax.svelte-icdrax{margin-bottom:20px}.content-item.svelte-icdrax.svelte-icdrax{margin-bottom:12px;line-height:1.5}.content-number.svelte-icdrax.svelte-icdrax{color:#333;font-weight:500;margin-right:6px}.content-label.svelte-icdrax.svelte-icdrax{color:#333;font-weight:500;margin-right:6px}.content-value.svelte-icdrax.svelte-icdrax{color:#555}.content-description.svelte-icdrax.svelte-icdrax{margin-top:20px}.content-description.svelte-icdrax p.svelte-icdrax{margin-bottom:15px;line-height:1.6}.project-apply-section.svelte-icdrax.svelte-icdrax{background-color:white;border-radius:8px;padding:30px;margin-bottom:20px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.08);border:1px solid #e9ecef}.apply-form.svelte-icdrax.svelte-icdrax{max-width:600px;margin:0 auto}.price-input-container.svelte-icdrax.svelte-icdrax,.available-date-container.svelte-icdrax.svelte-icdrax,.start-work-date-container.svelte-icdrax.svelte-icdrax{margin-bottom:20px}.price-input-container.svelte-icdrax label.svelte-icdrax,.available-date-container.svelte-icdrax label.svelte-icdrax,.start-work-date-container.svelte-icdrax label.svelte-icdrax{display:block;margin-bottom:8px;font-weight:500;color:#333}.price-input-wrapper.svelte-icdrax.svelte-icdrax{display:flex;align-items:center;gap:8px}.price-input.svelte-icdrax.svelte-icdrax,.text-input.svelte-icdrax.svelte-icdrax{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.text-input.svelte-icdrax.svelte-icdrax{width:100%}.price-unit.svelte-icdrax.svelte-icdrax{font-size:0.95rem;color:#666;font-weight:500}.admin-section-header.svelte-icdrax.svelte-icdrax{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.applicants-summary.svelte-icdrax.svelte-icdrax{display:flex;gap:30px;margin-bottom:25px;padding:20px;background-color:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.applicants-summary.svelte-icdrax .summary-item.svelte-icdrax{display:flex;flex-direction:column;align-items:center;gap:5px}.summary-label.svelte-icdrax.svelte-icdrax{font-size:0.9rem;color:#666;font-weight:500}.summary-value.svelte-icdrax.svelte-icdrax{font-size:1.2rem;color:#333;font-weight:600}.age-display.svelte-icdrax.svelte-icdrax{display:flex;align-items:center;padding:10px 15px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:5px}.age-text.svelte-icdrax.svelte-icdrax{font-size:1rem;font-weight:500;color:#3273dc}.project-skills-section.svelte-icdrax.svelte-icdrax{margin-bottom:25px}.skills-title.svelte-icdrax.svelte-icdrax{font-size:1rem;font-weight:600;margin-bottom:10px;color:#333}.skills-badge-list.svelte-icdrax.svelte-icdrax{display:flex;flex-wrap:wrap;gap:8px}.skill-badge.svelte-icdrax.svelte-icdrax{background-color:#f1f3f5;color:#495057;padding:6px 14px;border-radius:20px;font-size:0.85rem;font-weight:500}.summary-grid.svelte-icdrax.svelte-icdrax{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));gap:15px;margin-bottom:15px}.summary-label.svelte-icdrax.svelte-icdrax{font-size:14px;color:#666;margin-bottom:5px;font-weight:500}.summary-value.svelte-icdrax.svelte-icdrax{font-size:16px;font-weight:600;color:#333}.summary-skills.svelte-icdrax.svelte-icdrax{margin-top:15px;border-top:1px dashed #ddd;padding-top:15px}.summary-skills.svelte-icdrax .skills-badge-list.svelte-icdrax{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.admin-applicants-section.svelte-icdrax.svelte-icdrax{margin-bottom:30px;width:100%}.admin-section-title.svelte-icdrax.svelte-icdrax{font-size:1.3rem;font-weight:600;color:#333;margin-bottom:15px;text-align:left;display:inline-block}.refresh-btn.svelte-icdrax.svelte-icdrax{background-color:#f1f3f5;border:1px solid #dee2e6;color:#495057;padding:5px 10px;border-radius:4px;font-size:0.85rem;cursor:pointer;margin-left:10px;vertical-align:middle}.refresh-btn.svelte-icdrax.svelte-icdrax:hover{background-color:#e9ecef}.admin-applicants-container.svelte-icdrax.svelte-icdrax{background-color:#f8f9fa;border-radius:6px;padding:15px;margin-bottom:20px}.section-divider.svelte-icdrax.svelte-icdrax{border:0;height:1px;background-color:#e9ecef;margin:25px 0}.applications-table.svelte-icdrax.svelte-icdrax{width:100%;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.application-row.svelte-icdrax.svelte-icdrax{display:flex;border-bottom:1px solid #eee}.application-row.svelte-icdrax.svelte-icdrax:last-child{border-bottom:none}.application-cell.svelte-icdrax.svelte-icdrax{flex:1;padding:15px;text-align:center;display:flex;align-items:center;justify-content:center;font-size:0.95rem}.table-header.svelte-icdrax.svelte-icdrax{background-color:#f8f9fa;font-weight:600}.empty-applications.svelte-icdrax.svelte-icdrax{text-align:center;padding:50px 0;color:#868e96;background-color:#f8f9fa;border-radius:4px;margin-top:20px}.apply-message.svelte-icdrax.svelte-icdrax{width:100%;height:100px;padding:10px;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:0.95rem}.apply-button.svelte-icdrax.svelte-icdrax{background-color:#ff922b;color:white;border:none;padding:12px 30px;font-size:1.1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color 0.2s;width:100%}.apply-button.svelte-icdrax.svelte-icdrax:hover{background-color:#e67700}.back-button.svelte-icdrax.svelte-icdrax{display:inline-block;margin-top:30px;background:none;border:none;color:#495057;font-size:1rem;cursor:pointer;padding:8px 0;font-weight:500}.back-button.svelte-icdrax.svelte-icdrax:hover{color:#343a40;text-decoration:underline}.status-badge.svelte-icdrax.svelte-icdrax{display:inline-block;font-size:0.75rem;font-weight:500;padding:3px 8px;border-radius:12px;margin-left:8px}.status-badge.모집중.svelte-icdrax.svelte-icdrax{background-color:#e7f5ff;color:#3273dc;border:1px solid #3273dc}.status-badge.마감.svelte-icdrax.svelte-icdrax{background-color:#f1f3f5;color:#495057;border:1px solid #adb5bd}.status-badge.applied.svelte-icdrax.svelte-icdrax{background-color:#e7f5ff;color:#3273dc}.status-badge.reviewing.svelte-icdrax.svelte-icdrax{background-color:#fff9db;color:#f59f00}.status-badge.proceeding.svelte-icdrax.svelte-icdrax{background-color:#d3f9d8;color:#40c057}.status-badge.accepted.svelte-icdrax.svelte-icdrax{background-color:#b2f2bb;color:#2b8a3e}.status-badge.rejected.svelte-icdrax.svelte-icdrax{background-color:#ffe3e3;color:#e03131}.status-badge.project_canceled.svelte-icdrax.svelte-icdrax,.status-badge.canceled.svelte-icdrax.svelte-icdrax{background-color:#ffe3e3;color:#fa5252}.status-badge.project_delayed.svelte-icdrax.svelte-icdrax{background-color:#e5dbff;color:#7950f2}.status-badge.closed.svelte-icdrax.svelte-icdrax{background-color:#f1f3f5;color:#868e96}.loading-spinner.svelte-icdrax.svelte-icdrax{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3273dc;border-radius:50%;animation:svelte-icdrax-spin 1s linear infinite;margin:20px auto}@keyframes svelte-icdrax-spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.error-message.svelte-icdrax.svelte-icdrax{color:#fa5252;margin-bottom:15px;text-align:center}.login-required.svelte-icdrax.svelte-icdrax{text-align:center;padding:40px 20px}.login-message.svelte-icdrax h3.svelte-icdrax{margin-bottom:10px;color:#333}.login-message.svelte-icdrax p.svelte-icdrax{margin-bottom:20px;color:#666}.login-btn.svelte-icdrax.svelte-icdrax{background-color:#3273dc;color:white;border:none;padding:10px 20px;border-radius:4px;cursor:pointer;font-size:1rem}.text-center.svelte-icdrax.svelte-icdrax{text-align:center}.apply-disabled-message.svelte-icdrax.svelte-icdrax{text-align:center;padding:15px;margin:20px 0;color:#666;font-size:1rem}.apply-disabled-message.file-upload-required.svelte-icdrax.svelte-icdrax{background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;color:#e53e3e;font-weight:600;font-size:1.1rem;padding:20px;white-space:pre-line}@media(max-width: 992px){.info-grid.svelte-icdrax.svelte-icdrax{grid-template-columns:1fr}.project-basic-info.svelte-icdrax.svelte-icdrax{flex-direction:column;gap:15px}}@media(max-width: 576px){.project-detail-title.svelte-icdrax.svelte-icdrax{font-size:1.5rem}.project-detail-header.svelte-icdrax.svelte-icdrax{padding:20px}.project-detail-content.svelte-icdrax.svelte-icdrax{padding:20px}}
.skill-dashboard.svelte-dj6nch.svelte-dj6nch{display:flex;flex-direction:column;gap:2rem}.section.svelte-dj6nch.svelte-dj6nch{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem}.section-header.svelte-dj6nch.svelte-dj6nch{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.header-actions.svelte-dj6nch.svelte-dj6nch{display:flex;gap:0.5rem;align-items:center}.section-title.svelte-dj6nch.svelte-dj6nch{font-size:1.1rem;font-weight:600;color:#1f2937;margin:0 0 0.75rem 0}.section-desc.svelte-dj6nch.svelte-dj6nch{color:#6b7280;font-size:0.875rem;margin-bottom:1rem}.analyze-row.svelte-dj6nch.svelte-dj6nch{display:flex;gap:0.75rem;align-items:center}.file-select.svelte-dj6nch.svelte-dj6nch{flex:1;padding:0.5rem 0.75rem;border:1px solid #d1d5db;border-radius:6px;font-size:0.875rem}.empty-hint.svelte-dj6nch.svelte-dj6nch{color:#9ca3af;font-size:0.875rem;padding:1rem 0}.error-msg.svelte-dj6nch.svelte-dj6nch{color:#ef4444;font-size:0.875rem;margin-top:0.5rem}.spinner.svelte-dj6nch.svelte-dj6nch{display:inline-block;width:14px;height:14px;border:2px solid #fff;border-top-color:transparent;border-radius:50%;animation:svelte-dj6nch-spin 0.7s linear infinite;vertical-align:middle;margin-right:4px}@keyframes svelte-dj6nch-spin{to{transform:rotate(360deg)}}.review-section.svelte-dj6nch.svelte-dj6nch{margin-top:1.5rem;border-top:1px solid #e5e7eb;padding-top:1rem}.review-section.svelte-dj6nch h4.svelte-dj6nch{font-size:1rem;margin-bottom:0.25rem}.review-hint.svelte-dj6nch.svelte-dj6nch{color:#6b7280;font-size:0.8rem;margin-bottom:0.75rem}.review-table-wrapper.svelte-dj6nch.svelte-dj6nch{overflow-x:auto}.review-table.svelte-dj6nch.svelte-dj6nch{width:100%;border-collapse:collapse;font-size:0.85rem}.review-table.svelte-dj6nch th.svelte-dj6nch{background:#f9fafb;padding:0.5rem 0.75rem;text-align:left;border-bottom:1px solid #e5e7eb;font-weight:600;white-space:nowrap}.review-table.svelte-dj6nch td.svelte-dj6nch{padding:0.4rem 0.5rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.review-table.svelte-dj6nch td.center.svelte-dj6nch{text-align:center}.review-input.svelte-dj6nch.svelte-dj6nch{width:100%;padding:0.3rem 0.5rem;border:1px solid #d1d5db;border-radius:4px;font-size:0.85rem}.review-input.short.svelte-dj6nch.svelte-dj6nch{width:100px}.btn-icon-del.svelte-dj6nch.svelte-dj6nch{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:0 4px}.review-actions.svelte-dj6nch.svelte-dj6nch{display:flex;gap:0.75rem;margin-top:1rem}.charts-grid.svelte-dj6nch.svelte-dj6nch{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;align-items:start}.chart-box.svelte-dj6nch.svelte-dj6nch{padding:1rem;border:1px solid #e5e7eb;border-radius:6px}.chart-box.svelte-dj6nch h4.svelte-dj6nch{font-size:0.875rem;color:#6b7280;margin:0 0 0.75rem 0}.chart-box-wide.svelte-dj6nch.svelte-dj6nch{grid-column:auto}.add-form.svelte-dj6nch.svelte-dj6nch{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:1.25rem;margin-bottom:1.5rem}.add-form.svelte-dj6nch h4.svelte-dj6nch{margin:0 0 1rem 0;font-size:1rem}.form-grid.svelte-dj6nch.svelte-dj6nch{display:grid;grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));gap:1rem}.form-group.svelte-dj6nch label.svelte-dj6nch{display:block;font-size:0.85rem;font-weight:500;margin-bottom:0.35rem;color:#374151}.required.svelte-dj6nch.svelte-dj6nch{color:#ef4444}.form-control.svelte-dj6nch.svelte-dj6nch{width:100%;padding:0.4rem 0.6rem;border:1px solid #d1d5db;border-radius:5px;font-size:0.875rem;box-sizing:border-box}.mt-1.svelte-dj6nch.svelte-dj6nch{margin-top:0.4rem}.date-row.svelte-dj6nch.svelte-dj6nch{display:flex;gap:0.5rem}.date-row.svelte-dj6nch .form-control.svelte-dj6nch{flex:1}.checkbox-label.svelte-dj6nch.svelte-dj6nch{display:flex;align-items:center;gap:0.35rem;font-size:0.85rem;cursor:pointer}.form-actions.svelte-dj6nch.svelte-dj6nch{display:flex;gap:0.75rem;margin-top:1rem}.skills-table-wrapper.svelte-dj6nch.svelte-dj6nch{overflow-x:auto}.skills-table.svelte-dj6nch.svelte-dj6nch{width:100%;border-collapse:collapse;font-size:0.875rem}.skills-table.svelte-dj6nch th.svelte-dj6nch{background:#f9fafb;padding:0.6rem 0.75rem;text-align:left;border-bottom:2px solid #e5e7eb;font-weight:600;white-space:nowrap}.skills-table.svelte-dj6nch td.svelte-dj6nch{padding:0.6rem 0.75rem;border-bottom:1px solid #f3f4f6;vertical-align:middle}.skills-table.svelte-dj6nch tr.svelte-dj6nch:hover{background:#f9fafb}.skills-table.svelte-dj6nch tr.editing.svelte-dj6nch{background:#eff6ff}.skills-table.svelte-dj6nch tr.selected.svelte-dj6nch{background:#fef9ec}.col-check.svelte-dj6nch.svelte-dj6nch{width:36px;text-align:center;padding:0.6rem 0.4rem}.skill-name.svelte-dj6nch.svelte-dj6nch{font-weight:500}.months.svelte-dj6nch.svelte-dj6nch{color:#3273dc;font-weight:600}.notes.svelte-dj6nch.svelte-dj6nch{color:#6b7280;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.actions.svelte-dj6nch.svelte-dj6nch{white-space:nowrap}.btn-action.svelte-dj6nch.svelte-dj6nch{padding:0.25rem 0.6rem;border-radius:4px;font-size:0.8rem;cursor:pointer;border:none;margin-right:0.3rem}.btn-action.edit.svelte-dj6nch.svelte-dj6nch{background:#eff6ff;color:#3273dc}.btn-action.del.svelte-dj6nch.svelte-dj6nch{background:#fef2f2;color:#ef4444}.btn.svelte-dj6nch.svelte-dj6nch{padding:0.45rem 1rem;border-radius:6px;font-size:0.875rem;cursor:pointer;border:none;font-weight:500}.btn.svelte-dj6nch.svelte-dj6nch:disabled{opacity:0.6;cursor:not-allowed}.btn-primary.svelte-dj6nch.svelte-dj6nch{background:#3273dc;color:#fff}.btn-secondary.svelte-dj6nch.svelte-dj6nch{background:#e5e7eb;color:#374151}.btn-danger.svelte-dj6nch.svelte-dj6nch{background:#fef2f2;color:#ef4444;border:1px solid #fca5a5}.btn-danger.svelte-dj6nch.svelte-dj6nch:hover{background:#fee2e2}.loading-text.svelte-dj6nch.svelte-dj6nch{color:#9ca3af;padding:1rem 0}@media(max-width: 768px){.charts-grid.svelte-dj6nch.svelte-dj6nch{grid-template-columns:1fr}.analyze-row.svelte-dj6nch.svelte-dj6nch{flex-direction:column;align-items:stretch}}
.mypage-container.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;gap:30px;margin:30px 20px;background-color:white;border-radius:8px;box-shadow:0 2px 10px rgba(0, 0, 0, 0.05);overflow:hidden}.mypage-sidebar.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:220px;flex-shrink:0;padding:30px 20px;border-right:1px solid #eee}.mypage-sidebar.svelte-e6u8iw h2.svelte-e6u8iw.svelte-e6u8iw{font-size:1.5rem;font-weight:700;margin-bottom:30px;color:#333}.mypage-nav.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{list-style:none}.mypage-nav.svelte-e6u8iw li.svelte-e6u8iw.svelte-e6u8iw{margin-bottom:15px}.mypage-nav.svelte-e6u8iw button.svelte-e6u8iw.svelte-e6u8iw{background:none;border:none;color:#666;font-size:1rem;text-align:left;cursor:pointer;padding:0}.mypage-nav.svelte-e6u8iw li.active button.svelte-e6u8iw.svelte-e6u8iw{color:#3273dc;font-weight:500}.mypage-content-area.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex:1;padding:30px}.mypage-header.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{margin-bottom:25px}.mypage-header.svelte-e6u8iw h2.svelte-e6u8iw.svelte-e6u8iw{font-size:1.6rem;font-weight:700;color:#333}.mypage-status.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;background-color:white;border:1px solid #eee;border-radius:4px;margin-bottom:30px;overflow:hidden}.status-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px 10px;text-align:center;border-right:1px solid #eee;cursor:pointer;transition:background-color 0.2s}.status-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover{background-color:#f8f9fa}.status-item.active.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#e7f5ff}.status-item.active.svelte-e6u8iw .status-count.svelte-e6u8iw.svelte-e6u8iw{color:#1c7ed6}.status-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:last-child{border-right:none}.status-count.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:1.5rem;font-weight:600;color:#3273dc;margin-bottom:5px}.status-label.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{color:#666;font-size:0.9rem}.applications-table.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:100%;border-top:1px solid #ddd;border-bottom:1px solid #ddd}.application-row.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;border-bottom:1px solid #eee}.application-row.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:last-child{border-bottom:none}.application-cell.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex:1;padding:15px;text-align:center;display:flex;align-items:center;justify-content:center;font-size:0.95rem}.table-header.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#f8f9fa;font-weight:600}.empty-applications.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{text-align:center;padding:50px 0;color:#868e96;background-color:#f8f9fa;border-radius:4px;margin-top:20px}.detail-button.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#3273dc;color:white;border:none;border-radius:4px;padding:5px 10px;font-size:0.85rem;cursor:pointer}.detail-button.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover{background-color:#2860b5}.profile-info.svelte-e6u8iw h3.svelte-e6u8iw.svelte-e6u8iw{font-size:1.2rem;font-weight:600;margin-bottom:20px;color:#333}.profile-form.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{max-width:600px}.form-row.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;margin-bottom:20px;align-items:center}.form-label.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:120px;flex-shrink:0;font-size:0.95rem;color:#666}.form-value.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex:1;font-size:1rem}.form-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex:1}.form-input.radio-group.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;min-height:40px}.form-input.svelte-e6u8iw input.svelte-e6u8iw.svelte-e6u8iw{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:1rem}.radio-container.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:inline-flex;align-items:center;cursor:pointer}.radio-custom.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:16px;height:16px;border:1px solid #ddd;border-radius:50%;margin-right:8px;position:relative}.radio-container.svelte-e6u8iw input[type="radio"].svelte-e6u8iw.svelte-e6u8iw{display:none}.radio-container.svelte-e6u8iw input[type="radio"].svelte-e6u8iw:checked+.radio-custom.svelte-e6u8iw::after{content:'';width:8px;height:8px;background-color:#3273dc;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%, -50%)}.label-text.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:0.95rem}.education-group.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex-wrap:wrap;gap:15px}.education-group.svelte-e6u8iw .radio-container.svelte-e6u8iw.svelte-e6u8iw{margin-right:15px;margin-bottom:8px}.form-text.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:block;margin-top:5px;font-size:0.8rem;color:#666;font-style:italic}.form-text.error-text.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{color:#e03131;font-weight:500}.age-display.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;padding:10px 15px;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:5px}.age-text.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:1rem;font-weight:500;color:#3273dc}.career-input-group.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;gap:15px}.career-input-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;gap:5px}.career-input-item.svelte-e6u8iw input.svelte-e6u8iw.svelte-e6u8iw{width:80px;text-align:center}.career-unit.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:0.9rem;color:#666;font-weight:500}.address-input-group.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;flex-direction:column;gap:10px;width:100%}.zipcode-input-group.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.zipcode-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:120px !important;flex-shrink:0;height:40px}.zipcode-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:-moz-read-only{background-color:#f8f9fa;cursor:not-allowed}.zipcode-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:read-only{background-color:#f8f9fa;cursor:not-allowed}.basic-address-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:-moz-read-only{background-color:#f8f9fa;cursor:not-allowed;height:40px}.basic-address-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:read-only{background-color:#f8f9fa;cursor:not-allowed;height:40px}.detail-address-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{height:40px}.address-search-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{height:40px;padding:0 16px;background-color:#3273dc;color:white;border:none;border-radius:6px;font-size:0.875rem;font-weight:500;cursor:pointer;transition:background-color 0.2s ease;white-space:nowrap;flex-shrink:0}.address-search-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover{background-color:#2366c1}.address-search-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:focus{outline:none;box-shadow:0 0 0 3px rgba(50, 115, 220, 0.3)}.form-buttons.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{margin-top:20px;display:flex;justify-content:center}.submit-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#3273dc;color:white;border:none;padding:10px 24px;border-radius:4px;cursor:pointer;font-size:1rem}.submit-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover{background-color:#2366d1}.submit-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:disabled{background-color:#6c757d;cursor:not-allowed}.submit-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:disabled:hover{background-color:#6c757d}.update-message.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{padding:12px 16px;border-radius:4px;margin:15px 0;font-size:0.9rem;font-weight:500}.update-message.success.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.update-message.error.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.password-info.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{margin:15px 0 30px;color:#666;font-size:0.9rem;padding-left:120px}.withdrawal-info.svelte-e6u8iw p.svelte-e6u8iw.svelte-e6u8iw{margin-bottom:20px;color:#666}.notice-box.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#f9f9f9;border:1px solid #eee;border-radius:4px;padding:20px;margin-bottom:30px}.notice-box.svelte-e6u8iw h4.svelte-e6u8iw.svelte-e6u8iw{font-size:1.1rem;margin-bottom:10px;color:#333}.notice-box.svelte-e6u8iw p.svelte-e6u8iw.svelte-e6u8iw{font-size:0.95rem;line-height:1.5;color:#666}.withdrawal-checkbox.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{margin:20px 0 30px}.withdrawal-checkbox.svelte-e6u8iw label.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;font-size:0.95rem;color:#666}.withdrawal-checkbox.svelte-e6u8iw input[type="checkbox"].svelte-e6u8iw.svelte-e6u8iw{margin-right:10px}.withdrawal-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#ff3860;color:white;border:none;border-radius:4px;padding:12px 30px;font-size:1rem;cursor:pointer}.withdrawal-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover:not(:disabled){background-color:#e03253}.withdrawal-btn.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:disabled{background-color:#ddd;color:#999;cursor:not-allowed}.admin-notice.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;padding:20px;margin-bottom:20px;text-align:center}.admin-notice.svelte-e6u8iw h4.svelte-e6u8iw.svelte-e6u8iw{color:#856404;margin-bottom:12px;font-size:1.1rem}.admin-notice.svelte-e6u8iw p.svelte-e6u8iw.svelte-e6u8iw{color:#856404;font-size:0.95rem;line-height:1.5;margin-bottom:8px}.admin-notice.svelte-e6u8iw p.svelte-e6u8iw.svelte-e6u8iw:last-child{margin-bottom:0}.status-badge.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:inline-block;font-size:0.75rem;font-weight:500;padding:3px 8px;border-radius:12px}.status-badge.applied.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#e7f5ff;color:#3273dc}.status-badge.reviewing.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#fff9db;color:#f59f00}.status-badge.proceeding.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#d3f9d8;color:#40c057}.status-badge.accepted.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#b2f2bb;color:#2b8a3e}.status-badge.rejected.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#ffe3e3;color:#e03131}.status-badge.project_canceled.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw,.status-badge.canceled.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#ffe3e3;color:#fa5252}.status-badge.project_delayed.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#e5dbff;color:#7950f2}.status-badge.closed.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#f1f3f5;color:#868e96}.status-badge.price_difficulty.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw,.status-badge.grade_difficulty.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw,.status-badge.skill_difficulty.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw,.status-badge.experience_difficulty.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{background-color:#fff4e6;color:#e8590c}@media(max-width: 768px){.mypage-container.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex-direction:column}.mypage-sidebar.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:100%;border-right:none;border-bottom:1px solid #eee}.mypage-status.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex-direction:column}.status-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex-direction:row;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eee;border-right:none}.status-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:last-child{border-bottom:none}.table-header.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:none}}.detail-grid.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:grid;grid-template-columns:repeat(auto-fit, minmax(180px, 1fr));gap:12px 20px;margin-top:8px}.detail-item.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;flex-direction:column;line-height:1.4}.detail-label.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:0.8rem;color:#666;margin-bottom:2px}.detail-value.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:0.95rem;font-weight:500;color:#333}.edit-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:0.9rem;background-color:#fff}.edit-textarea.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{width:100%;min-height:80px;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:0.9rem;font-family:inherit;resize:vertical;background-color:#fff}.edit-input.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:focus,.edit-textarea.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:focus{outline:none;border-color:#3273dc;box-shadow:0 0 0 2px rgba(50, 115, 220, 0.2)}.interview-view-button.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{padding:4px 12px;background-color:#8b5cf6;color:white;border:none;border-radius:4px;font-size:0.8rem;font-weight:500;cursor:pointer;transition:background-color 0.2s}.interview-view-button.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:hover{background-color:#7c3aed}.interview-modal-wrapper.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{position:relative;z-index:1100}.interview-loading.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw,.interview-empty.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{text-align:center;padding:40px 20px;color:#6b7280}.interview-card.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{border:1px solid #e5e7eb;border-radius:8px;padding:16px;margin-bottom:12px;background:#fafbfc}.interview-card.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw:last-child{margin-bottom:0}.interview-card-header.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e5e7eb}.interview-status-badge.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:inline-block;padding:3px 10px;border-radius:12px;font-size:0.78rem;font-weight:600;white-space:nowrap}.interview-project-name.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-weight:600;font-size:0.95rem;color:#1a1a1a}.interview-card-body.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;flex-direction:column;gap:8px}.interview-info-row.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{display:flex;gap:12px}.interview-info-label.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{flex-shrink:0;width:100px;font-weight:600;font-size:0.85rem;color:#6b7280}.interview-info-value.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{font-size:0.9rem;color:#1f2937;word-break:break-all}.interview-notes.svelte-e6u8iw.svelte-e6u8iw.svelte-e6u8iw{white-space:pre-wrap;line-height:1.5}
.icon.svelte-1744hv9.svelte-1744hv9{display:inline-flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.icon.svelte-1744hv9 svg.svelte-1744hv9{width:100%;height:100%}.icon-xs.svelte-1744hv9.svelte-1744hv9{width:12px;height:12px;font-size:12px}.icon-sm.svelte-1744hv9.svelte-1744hv9{width:16px;height:16px;font-size:16px}.icon-md.svelte-1744hv9.svelte-1744hv9{width:20px;height:20px;font-size:20px}.icon-lg.svelte-1744hv9.svelte-1744hv9{width:24px;height:24px;font-size:24px}.icon-xl.svelte-1744hv9.svelte-1744hv9{width:32px;height:32px;font-size:32px}