/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.8e0177b5.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.b97b3418.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.853070df.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.c1fdd6c2.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.799d8ef8.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.dbea232f.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
@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 {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: rgba(0, 0, 0, 0);
      --tw-gradient-via: rgba(0, 0, 0, 0);
      --tw-gradient-to: rgba(0, 0, 0, 0);
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --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-duration: initial;
      --tw-ease: initial;
    }

    ::backdrop {
      --tw-scale-x: 1;
      --tw-scale-y: 1;
      --tw-scale-z: 1;
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-x-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: rgba(0, 0, 0, 0);
      --tw-gradient-via: rgba(0, 0, 0, 0);
      --tw-gradient-to: rgba(0, 0, 0, 0);
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 rgba(0, 0, 0, 0);
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
      --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-duration: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --color-red-400: #ff6568;
    --color-red-500: #fb2c36;
    --color-yellow-400: #fac800;
    --color-yellow-500: #edb200;
    --color-green-400: #05df72;
    --color-green-500: #00c758;
    --color-blue-900: #1c398e;
    --color-indigo-900: #312c85;
    --color-purple-900: #59168b;
    --color-gray-400: #99a1af;
    --color-gray-500: #6a7282;
    --color-gray-600: #4a5565;
    --color-gray-800: #1e2939;
    --color-gray-900: #101828;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-2xl: 42rem;
    --container-4xl: 56rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .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);
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-wide: .025em;
    --tracking-widest: .1em;
    --radius-xl: .75rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --blur-sm: 8px;
    --blur-md: 12px;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-geist-sans);
    --default-mono-font-family: var(--font-geist-mono);
  }

  @supports (color: color(display-p3 0 0 0)) {
    :root, :host {
      --color-red-400: color(display-p3 .933534 .431676 .423491);
      --color-red-500: color(display-p3 .903738 .262579 .253307);
      --color-yellow-400: color(display-p3 .959941 .790171 .0585198);
      --color-yellow-500: color(display-p3 .903651 .703062 .0745389);
      --color-green-400: color(display-p3 .399536 .862346 .49324);
      --color-green-500: color(display-p3 .308734 .774754 .374307);
      --color-blue-900: color(display-p3 .136395 .219428 .537145);
      --color-indigo-900: color(display-p3 .188425 .173312 .503066);
      --color-purple-900: color(display-p3 .321698 .107597 .524563);
      --color-gray-400: color(display-p3 .605734 .630385 .680158);
      --color-gray-500: color(display-p3 .421287 .446085 .504784);
      --color-gray-600: color(display-p3 .297358 .332176 .39043);
      --color-gray-800: color(display-p3 .125854 .159497 .216835);
      --color-gray-900: color(display-p3 .070423 .0928982 .151928);
    }
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-400: lab(63.7053% 60.745 31.3109);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-yellow-400: lab(83.2664% 8.65132 106.895);
      --color-yellow-500: lab(76.3898% 14.5258 98.4589);
      --color-green-400: lab(78.503% -64.9265 39.7492);
      --color-green-500: lab(70.5521% -66.5147 45.8073);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-indigo-900: lab(23.3911% 24.6978 -50.4718);
      --color-purple-900: lab(24.9401% 45.2703 -51.2728);
      --color-gray-400: lab(65.9269% -.832707 -8.17473);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-gray-600: lab(35.6337% -1.58697 -10.8425);
      --color-gray-800: lab(16.1051% -1.18239 -11.7533);
      --color-gray-900: lab(8.11897% .811279 -12.254);
    }
  }
}

@layer base {
  *, :after, :before {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::-webkit-file-upload-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    tab-size: 4;
    line-height: 1.5;
    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;
    -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 {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.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 {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  ::-webkit-file-upload-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: rgba(0, 0, 0, 0);
    border-radius: 0;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-moz-any([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    padding-left: 20px;
  }

  :where(select:-webkit-any([multiple], [size])) optgroup option:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:-moz-any([multiple], [size])) optgroup option:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :where(select:is([multiple], [size])) optgroup option:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    padding-right: 20px;
  }

  :not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::-webkit-file-upload-button {
    margin-right: 4px;
  }

  :not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)))::file-selector-button {
    margin-right: 4px;
  }

  :-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::-webkit-file-upload-button {
    margin-left: 4px;
  }

  :-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 4px;
  }

  :is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))::file-selector-button {
    margin-left: 4px;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        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 {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-top: 0;
    padding-bottom: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  input:where([type="button"], [type="reset"], [type="submit"]) {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::-webkit-file-upload-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::file-selector-button {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .pointer-events-none {
    pointer-events: none;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }

  .inset-y-0 {
    inset-block: calc(var(--spacing) * 0);
  }

  .right-0 {
    right: calc(var(--spacing) * 0);
  }

  .left-0 {
    left: calc(var(--spacing) * 0);
  }

  .z-10 {
    z-index: 10;
  }

  .z-50 {
    z-index: 50;
  }

  .mx-auto {
    margin-left: auto;
    margin-right: auto;
  }

  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }

  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }

  .mb-4 {
    margin-bottom: calc(var(--spacing) * 4);
  }

  .ml-2 {
    margin-left: calc(var(--spacing) * 2);
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .h-4 {
    height: calc(var(--spacing) * 4);
  }

  .h-5 {
    height: calc(var(--spacing) * 5);
  }

  .h-6 {
    height: calc(var(--spacing) * 6);
  }

  .h-16 {
    height: calc(var(--spacing) * 16);
  }

  .max-h-\[90vh\] {
    max-height: 90vh;
  }

  .min-h-screen {
    min-height: 100vh;
  }

  .w-4 {
    width: calc(var(--spacing) * 4);
  }

  .w-5 {
    width: calc(var(--spacing) * 5);
  }

  .w-6 {
    width: calc(var(--spacing) * 6);
  }

  .w-16 {
    width: calc(var(--spacing) * 16);
  }

  .w-full {
    width: 100%;
  }

  .max-w-2xl {
    max-width: var(--container-2xl);
  }

  .max-w-4xl {
    max-width: var(--container-4xl);
  }

  .max-w-lg {
    max-width: var(--container-lg);
  }

  .max-w-md {
    max-width: var(--container-md);
  }

  .scale-95 {
    --tw-scale-x: 95%;
    --tw-scale-y: 95%;
    --tw-scale-z: 95%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-100 {
    --tw-scale-x: 100%;
    --tw-scale-y: 100%;
    --tw-scale-z: 100%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }

  .scale-\[1\.02\] {
    scale: 1.02;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .animate-pulse {
    animation: var(--animate-pulse);
  }

  .animate-spin {
    animation: var(--animate-spin);
  }

  .cursor-not-allowed {
    cursor: not-allowed;
  }

  .cursor-pointer {
    cursor: pointer;
  }

  .items-center {
    align-items: center;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }

  :where(.space-x-2 > :not(:last-child)) {
    --tw-space-x-reverse: 0;
  }

  :where(.space-x-2 > :not(:last-child)):not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
    margin-left: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-right: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  :where(.space-x-2 > :not(:last-child)):is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
    margin-right: calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));
    margin-left: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)));
  }

  .overflow-hidden {
    overflow: hidden;
  }

  .overflow-y-auto {
    overflow-y: auto;
  }

  .rounded-full {
    border-radius: 3.40282e38px;
  }

  .rounded-xl {
    border-radius: var(--radius-xl);
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }

  .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-solid {
    --tw-border-style: solid;
    border-style: solid;
  }

  .border-current {
    border-color: currentColor;
  }

  .border-gray-600 {
    border-color: var(--color-gray-600);
  }

  .border-green-500 {
    border-color: var(--color-green-500);
  }

  .border-red-500 {
    border-color: var(--color-red-500);
  }

  .border-transparent {
    border-color: rgba(0, 0, 0, 0);
  }

  .border-white {
    border-color: var(--color-white);
  }

  .border-yellow-500 {
    border-color: var(--color-yellow-500);
  }

  .bg-black {
    background-color: var(--color-black);
  }

  .bg-gray-800\/60 {
    background-color: rgba(30, 41, 57, .6);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .bg-gray-800\/60 {
      background-color: color-mix(in oklab, var(--color-gray-800) 60%, transparent);
    }
  }

  .bg-transparent {
    background-color: rgba(0, 0, 0, 0);
  }

  .bg-gradient-to-br {
    --tw-gradient-position: to bottom right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }

  .from-black\/90 {
    --tw-gradient-from: rgba(0, 0, 0, .9);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-black\/90 {
      --tw-gradient-from: color-mix(in oklab, var(--color-black) 90%, transparent);
    }
  }

  .from-black\/90 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-gray-900\/80 {
    --tw-gradient-from: rgba(16, 24, 40, .8);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .from-gray-900\/80 {
      --tw-gradient-from: color-mix(in oklab, var(--color-gray-900) 80%, transparent);
    }
  }

  .from-gray-900\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .from-purple-900 {
    --tw-gradient-from: var(--color-purple-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .via-blue-900 {
    --tw-gradient-via: var(--color-blue-900);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .via-purple-900\/20 {
    --tw-gradient-via: rgba(89, 22, 139, .2);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .via-purple-900\/20 {
      --tw-gradient-via: color-mix(in oklab, var(--color-purple-900) 20%, transparent);
    }
  }

  .via-purple-900\/20 {
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }

  .to-black\/90 {
    --tw-gradient-to: rgba(0, 0, 0, .9);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-black\/90 {
      --tw-gradient-to: color-mix(in oklab, var(--color-black) 90%, transparent);
    }
  }

  .to-black\/90 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-gray-800\/80 {
    --tw-gradient-to: rgba(30, 41, 57, .8);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .to-gray-800\/80 {
      --tw-gradient-to: color-mix(in oklab, var(--color-gray-800) 80%, transparent);
    }
  }

  .to-gray-800\/80 {
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .to-indigo-900 {
    --tw-gradient-to: var(--color-indigo-900);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }

  .p-4 {
    padding: calc(var(--spacing) * 4);
  }

  .p-6 {
    padding: calc(var(--spacing) * 6);
  }

  .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);
  }

  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }

  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }

  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }

  .py-4 {
    padding-block: calc(var(--spacing) * 4);
  }

  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }

  .pr-12 {
    padding-right: calc(var(--spacing) * 12);
  }

  .pl-4 {
    padding-left: calc(var(--spacing) * 4);
  }

  .pl-12 {
    padding-left: calc(var(--spacing) * 12);
  }

  .text-center {
    text-align: center;
  }

  .font-mono {
    font-family: var(--font-geist-mono);
  }

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--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));
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .tracking-wide {
    --tw-tracking: var(--tracking-wide);
    letter-spacing: var(--tracking-wide);
  }

  .tracking-widest {
    --tw-tracking: var(--tracking-widest);
    letter-spacing: var(--tracking-widest);
  }

  .text-gray-400 {
    color: var(--color-gray-400);
  }

  .text-green-400 {
    color: var(--color-green-400);
  }

  .text-green-500 {
    color: var(--color-green-500);
  }

  .text-red-400 {
    color: var(--color-red-400);
  }

  .text-red-500 {
    color: var(--color-red-500);
  }

  .text-white {
    color: var(--color-white);
  }

  .text-yellow-400 {
    color: var(--color-yellow-400);
  }

  .text-yellow-500 {
    color: var(--color-yellow-500);
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }

  .placeholder-gray-400::placeholder {
    color: var(--color-gray-400);
  }

  .opacity-0 {
    opacity: 0;
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-100 {
    opacity: 1;
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgba(0, 0, 0, .1)), 0 4px 6px -4px var(--tw-shadow-color, rgba(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);
  }

  .ring-2 {
    --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);
  }

  .ring-green-500\/20 {
    --tw-ring-color: rgba(0, 199, 88, .2);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-green-500\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-green-500) 20%, transparent);
    }
  }

  .ring-red-500\/20 {
    --tw-ring-color: rgba(251, 44, 54, .2);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-red-500\/20 {
      --tw-ring-color: color-mix(in oklab, var(--color-red-500) 20%, transparent);
    }
  }

  .ring-yellow-500\/30 {
    --tw-ring-color: rgba(237, 178, 0, .3);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .ring-yellow-500\/30 {
      --tw-ring-color: color-mix(in oklab, var(--color-yellow-500) 30%, transparent);
    }
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(8px);
    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, );
  }

  .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-blur-md {
    --tw-backdrop-blur: blur(var(--blur-md));
    -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, );
  }

  .backdrop-blur-sm {
    --tw-backdrop-blur: blur(var(--blur-sm));
    -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-all {
    transition-property: all;
    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, -webkit-text-decoration-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));
  }

  .transition-transform {
    transition-property: transform, translate, scale, rotate;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .duration-200 {
    --tw-duration: .2s;
    transition-duration: .2s;
  }

  .duration-300 {
    --tw-duration: .3s;
    transition-duration: .3s;
  }

  .duration-500 {
    --tw-duration: .5s;
    transition-duration: .5s;
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }

  .group-focus-within\:text-yellow-500:is(:where(.group):focus-within *) {
    color: var(--color-yellow-500);
  }

  @media (hover: hover) {
    .hover\:scale-105:hover {
      --tw-scale-x: 105%;
      --tw-scale-y: 105%;
      --tw-scale-z: 105%;
      scale: var(--tw-scale-x) var(--tw-scale-y);
    }
  }

  @media (hover: hover) {
    .hover\:transform:hover {
      transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
    }
  }

  @media (hover: hover) {
    .hover\:border-gray-500:hover {
      border-color: var(--color-gray-500);
    }
  }

  @media (hover: hover) {
    .hover\:border-gray-600:hover {
      border-color: var(--color-gray-600);
    }
  }

  @media (hover: hover) {
    .hover\:bg-gray-800\/80:hover {
      background-color: rgba(30, 41, 57, .8);
    }

    @supports (color: color-mix(in lab, red, red)) {
      .hover\:bg-gray-800\/80:hover {
        background-color: color-mix(in oklab, var(--color-gray-800) 80%, transparent);
      }
    }
  }

  @media (hover: hover) {
    .hover\:bg-yellow-500:hover {
      background-color: var(--color-yellow-500);
    }
  }

  @media (hover: hover) {
    .hover\:text-black:hover {
      color: var(--color-black);
    }
  }

  @media (hover: hover) {
    .hover\:text-white:hover {
      color: var(--color-white);
    }
  }

  @media (hover: hover) {
    .hover\:text-yellow-500:hover {
      color: var(--color-yellow-500);
    }
  }

  .focus\:border-yellow-500:focus {
    border-color: var(--color-yellow-500);
  }

  .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-yellow-500\/20:focus {
    --tw-ring-color: rgba(237, 178, 0, .2);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .focus\:ring-yellow-500\/20:focus {
      --tw-ring-color: color-mix(in oklab, var(--color-yellow-500) 20%, transparent);
    }
  }

  .focus\:outline-none:focus {
    --tw-outline-style: none;
    outline-style: none;
  }

  .disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed;
  }

  .disabled\:opacity-50:disabled {
    opacity: .5;
  }

  @media (min-width: 40rem) {
    .sm\:inline {
      display: inline;
    }
  }
}

:root {
  --background: #0a0a0a;
  --foreground: #ededed;
  --primary-gold: gold;
  --secondary-gold: orange;
  --primary-green: #22c55e;
  --secondary-green: #16a34a;
  --accent-gold: #ffc107;
  --accent-green: #4ade80;
  --primary-black: #000;
  --secondary-black: #1a1a1a;
  --border-gold: rgba(255, 215, 0, .3);
  --border-green: rgba(34, 197, 94, .3);
  --shadow-gold: rgba(255, 215, 0, .2);
  --shadow-green: rgba(34, 197, 94, .2);
  --gradient-gold: linear-gradient(45deg, gold, orange);
  --gradient-green: linear-gradient(45deg, #22c55e, #16a34a);
  --gradient-mixed: linear-gradient(45deg, gold, orange, #22c55e, #16a34a);
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  background: linear-gradient(135deg, var(--primary-black) 0%, var(--secondary-black) 50%, #2a2a2a 100%);
  color: var(--foreground);
  min-height: 100vh;
  font-family: Arial, Helvetica, sans-serif;
  overflow-x: hidden;
}

@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }

  100% {
    background-position: calc(200px + 100%) 0;
  }
}

@keyframes glow {
  0%, 100% {
    box-shadow: 0 0 5px rgba(255, 255, 255, .1);
  }

  50% {
    box-shadow: 0 0 20px rgba(255, 255, 255, .2), 0 0 30px rgba(255, 255, 255, .1);
  }
}

@keyframes pulse-gold {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

@keyframes float {
  0%, 100% {
    transform: translateY(0)rotate(0);
  }

  50% {
    transform: translateY(-10px)rotate(180deg);
  }
}

.casino-gradient {
  background: linear-gradient(45deg, var(--primary-gold), var(--secondary-gold), var(--accent-gold));
}

.casino-gradient-red {
  background: var(--gradient-green);
}

.casino-gradient-dark {
  background: linear-gradient(135deg, var(--primary-black), var(--secondary-black));
}

.shimmer-effect {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, .1), rgba(0, 0, 0, 0)) 0 0 / 200px 100%;
  animation: 2s infinite shimmer;
}

.glow-effect {
  animation: 2s ease-in-out infinite alternate glow;
}

.pulse-gold {
  animation: 2s ease-in-out infinite pulse-gold;
}

.float-effect {
  animation: 3s ease-in-out infinite float;
}

::-webkit-scrollbar {
  width: 8px;
}

.lottery-2d-page, .lottery-c2d-page {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2a2a 100%);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

.lottery-c2d-page:before, .lottery-2d-page:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 20% 20%, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 80% 80%, rgba(34, 197, 94, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 40% 60%, rgba(255, 165, 0, .05) 0%, rgba(0, 0, 0, 0) 50%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.lottery-3d-page {
  background: linear-gradient(135deg, #0a0a0a 0%, #1a1a1a 50%, #2a2a2a 100%);
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

.lottery-c2d-page {
  min-height: 100vh;
  color: var(--foreground);
  z-index: 1;
  background: radial-gradient(#2d1b69 0%, #1a0d3a 50%, #0f0f23 100%);
  padding: 30px 20px;
  position: relative;
}

.lottery-c1d-page {
  min-height: 100vh;
  color: var(--foreground);
  z-index: 1;
  background: radial-gradient(#1b4d3e 0%, #0d3a2a 50%, #0f0f23 100%);
  padding: 30px 20px;
  position: relative;
}

.lottery-1d-page {
  min-height: 100vh;
  color: var(--foreground);
  z-index: 1;
  background: radial-gradient(#3d1b69 0%, #2a0d3a 50%, #0f0f23 100%);
  padding: 30px 20px;
  position: relative;
}

.lottery-3d-preview {
  border: 2px solid var(--border-gold);
  text-align: center;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-radius: 15px;
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.lottery-3d-preview:before {
  content: "";
  background: radial-gradient(circle, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 70%);
  border-radius: 50%;
  width: 100px;
  height: 100px;
  animation: 3s ease-in-out infinite float;
  position: absolute;
  top: -50%;
  right: -50%;
}

.lottery-3d-preview h3 {
  color: var(--primary-gold);
  margin-bottom: 15px;
  font-size: 1.5rem;
  font-weight: bold;
}

.lottery-3d-preview .preview-numbers {
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin: 15px 0;
  display: grid;
}

.lottery-3d-preview .preview-number {
  border: 1px solid var(--border-gold);
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
  border-radius: 8px;
  padding: 8px;
  font-size: .9rem;
  font-weight: bold;
}

.btn-outline {
  border-radius: 8px !important;
  padding: 5px 8px !important;
}

.lottery-3d-preview .preview-grid {
  grid-template-columns: repeat(9, 1fr);
  gap: 4px;
  margin: 15px 0;
  display: grid;
}

.lottery-3d-preview .preview-dot {
  background: var(--primary-gold);
  opacity: .6;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 2s ease-in-out infinite pulse;
}

.lottery-3d-preview .preview-dot:nth-child(odd) {
  animation-delay: .5s;
}

.no-sections {
  text-align: center;
  color: var(--text-secondary);
  padding: 40px 20px;
}

.no-sections p {
  margin: 10px 0;
  font-size: 1rem;
}

.no-sections p:first-child {
  color: var(--text-primary);
  font-size: 1.1rem;
  font-weight: bold;
}

.range-selector-row {
  border-top: 1px solid rgba(255, 215, 0, .2);
  border-bottom: 1px solid rgba(255, 215, 0, .2);
  justify-content: space-between;
  align-items: center;
  margin: 15px 0;
  padding: 10px 0;
  display: flex;
}

.range-selector {
  align-items: center;
  gap: 10px;
  display: flex;
}

.range-label {
  color: var(--text-primary);
  font-size: .9rem;
  font-weight: bold;
}

.range-select {
  border: 2px solid var(--border-gold);
  color: var(--text-primary);
  cursor: pointer;
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  min-width: 120px;
  padding: 8px 12px;
  font-size: .9rem;
  font-weight: bold;
  transition: all .3s;
}

.range-select:focus {
  border-color: var(--primary-gold);
  outline: none;
  box-shadow: 0 0 10px rgba(255, 215, 0, .3);
}

.range-select option {
  background: var(--secondary-black);
  color: var(--text-primary);
  padding: 5px;
}

.pagination-info {
  align-items: center;
  gap: 10px;
  display: flex;
}

.page-info {
  color: var(--text-secondary);
  font-size: .9rem;
  font-weight: 500;
}

.random-btn {
  position: relative;
  overflow: hidden;
}

.random-btn:before {
  content: "";
  background: rgba(255, 255, 255, .3);
  border-radius: 50%;
  width: 0;
  height: 0;
  transition: all .3s;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.random-btn:hover:before {
  width: 100%;
  height: 100%;
}

.random-btn:active {
  transform: scale(.95);
}

.lottery-3d-page:before {
  content: "";
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(circle at 80% 20%, rgba(255, 215, 0, .15) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 20% 80%, rgba(34, 197, 94, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 60% 40%, rgba(255, 165, 0, .08) 0%, rgba(0, 0, 0, 0) 50%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
}

.lottery-2d-page:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 80% 80%, rgba(34, 197, 94, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 40% 60%, rgba(255, 165, 0, .05) 0%, rgba(0, 0, 0, 0) 50%);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
}

.lottery-header {
  border-bottom: 2px solid var(--border-gold);
  z-index: 100;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .5);
}

.section-selection-box {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin: 15px 0;
  padding: 12px 15px;
  transition: all .3s;
  display: flex;
}

.section-selection-box:hover {
  background: linear-gradient(135deg, rgba(255, 193, 7, .15) 0%, rgba(255, 193, 7, .08) 100%);
  border-color: rgba(255, 193, 7, .3);
}

.section-info {
  align-items: center;
  gap: 8px;
  display: flex;
}

.change-section-btn {
  min-width: auto !important;
  padding: 6px 12px !important;
  font-size: .8rem !important;
}

.lottery-action-buttons {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 12px;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
  padding: 15px;
  display: flex;
}

.lottery-action-btn {
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 8px;
  max-width: 200px;
  transition: all .3s;
  display: flex;
  min-width: auto !important;
  padding: 10px 20px !important;
  font-size: .9rem !important;
}

.lottery-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .3);
}

.lottery-action-btn.winner-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%) !important;
  border-color: #f59e0b !important;
}

.lottery-action-btn.lucky-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%) !important;
  border-color: #10b981 !important;
}

.lottery-action-btn.bet-btn:hover {
  color: #fff !important;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%) !important;
  border-color: #3b82f6 !important;
}

.lottery-c2d-page .action-buttons-row {
  justify-content: center;
  gap: 15px;
  margin: 20px 0;
  padding: 0 20px;
  display: flex;
}

.lottery-c2d-page .action-btn {
  color: #fff;
  background: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.lottery-c2d-page .action-btn:hover {
  color: gold;
  background: linear-gradient(135deg, rgba(255, 215, 0, .2) 0%, rgba(255, 215, 0, .1) 100%);
  border-color: rgba(255, 215, 0, .4);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

.lottery-c2d-page .btn-icon {
  font-size: 1rem;
}

.winner-list-page, .lucky-history-page, .bet-history-page {
  color: #fff;
  background: linear-gradient(135deg, #0f0f0f 0%, #1a1a1a 100%);
  min-height: 100vh;
}

.page-header {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, rgba(30, 30, 30, .95) 0%, rgba(20, 20, 20, .95) 100%);
  border-bottom: 1px solid rgba(255, 215, 0, .2);
  padding: 1rem 0;
}

.header-content {
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
}

.header-left, .header-right {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.page-title {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
}

.user-info {
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
  display: flex;
}

.user-balance {
  color: var(--primary-gold);
  font-size: .9rem;
  font-weight: 600;
}

.user-name {
  color: #ccc;
  font-size: .8rem;
}

.page-main {
  padding: 2rem 0;
}

.page-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 1rem;
}

.filters-section {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, rgba(30, 30, 30, .8) 0%, rgba(20, 20, 20, .8) 100%);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: 12px;
  margin-bottom: 2rem;
  padding: 1.5rem;
}

.filters-title {
  color: var(--primary-gold);
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
  display: flex;
}

.filter-icon {
  color: var(--primary-gold);
}

.filters-content {
  gap: 1rem;
  display: grid;
}

.filter-row {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  display: grid;
}

.filter-input, .filter-select {
  color: #fff;
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: 8px;
  padding: .75rem;
  font-size: .9rem;
  transition: all .3s;
}

.filter-input:focus, .filter-select:focus {
  border-color: var(--primary-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 215, 0, .2);
}

.filter-actions {
  gap: 1rem;
  margin-top: 1rem;
  display: flex;
}

.section-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  display: flex;
}

.section-title {
  color: var(--primary-gold);
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
  display: flex;
}

.section-icon {
  color: var(--primary-gold);
}

.lucky-numbers-list {
  gap: 1rem;
  display: grid;
}

.lucky-number-card {
  background: linear-gradient(135deg, rgba(30, 30, 30, .8) 0%, rgba(20, 20, 20, .8) 100%);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all .3s;
}

.lucky-number-card:hover {
  border-color: rgba(255, 215, 0, .4);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .2);
}

.lucky-number-content {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.lucky-number-header {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.lucky-number-info {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.lucky-number-title {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.1rem;
  font-weight: 600;
}

.lucky-number-badges {
  gap: .5rem;
  display: flex;
}

.modern-badge {
  color: #fff;
  background: linear-gradient(135deg, #10b981, #059669);
  border-radius: 20px;
  padding: .25rem .75rem;
  font-size: .8rem;
  font-weight: 500;
}

.lucky-number-details {
  gap: 1rem;
  display: grid;
}

.lucky-number-values {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  display: grid;
}

.lucky-value-item {
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(255, 215, 0, .1);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: .75rem;
  display: flex;
}

.value-label {
  color: #ccc;
  font-size: .9rem;
  font-weight: 500;
}

.set-value, .value-value {
  color: var(--primary-gold);
  font-size: 1rem;
  font-weight: 600;
}

.lucky-number-meta {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1rem;
  display: grid;
}

.meta-item {
  border-bottom: 1px solid rgba(255, 215, 0, .1);
  justify-content: space-between;
  align-items: center;
  padding: .5rem 0;
  display: flex;
}

.meta-label {
  color: #aaa;
  font-size: .85rem;
}

.meta-value {
  color: #fff;
  font-size: .9rem;
  font-weight: 500;
}

.load-more-section {
  justify-content: center;
  margin-top: 2rem;
  display: flex;
}

.load-more-btn {
  padding: .75rem 2rem;
  font-weight: 600;
}

.empty-state {
  text-align: center;
  color: #aaa;
  padding: 3rem 1rem;
}

.empty-icon {
  color: #666;
  margin-bottom: 1rem;
  font-size: 3rem;
}

.empty-state h4 {
  color: #ccc;
  margin-bottom: .5rem;
  font-size: 1.2rem;
}

.empty-state p {
  color: #aaa;
  font-size: .9rem;
}

.loading-container {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 3rem 1rem;
  display: flex;
}

.loading-spinner {
  border: 3px solid rgba(255, 215, 0, .3);
  border-top: 3px solid var(--primary-gold);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  animation: 1s linear infinite spin;
}

.loading-text {
  color: #aaa;
  font-size: .9rem;
}

.loading-spinner-small {
  border: 2px solid rgba(255, 215, 0, .3);
  border-top: 2px solid var(--primary-gold);
  border-radius: 50%;
  width: 16px;
  height: 16px;
  margin-right: .5rem;
  animation: 1s linear infinite spin;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}

@media (max-width: 768px) {
  .header-content {
    flex-direction: column;
    gap: 1rem;
    padding: 0 .5rem;
  }

  .header-left, .header-right {
    justify-content: space-between;
    width: 100%;
  }

  .page-title {
    font-size: 1.2rem;
  }

  .user-info {
    align-items: flex-start;
  }

  .page-container {
    padding: 0 .5rem;
  }

  .filters-section {
    margin-bottom: 1rem;
    padding: 1rem;
  }

  .filter-row {
    grid-template-columns: 1fr;
  }

  .filter-actions {
    flex-direction: column;
  }

  .lucky-number-values, .lucky-number-meta {
    grid-template-columns: 1fr;
  }

  .lucky-value-item {
    padding: .5rem;
  }

  .lucky-number-header {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
  }

  .lucky-number-badges {
    align-self: flex-end;
  }
}

@media (max-width: 480px) {
  .page-header {
    padding: .5rem 0;
  }

  .page-main {
    padding: 1rem 0;
  }

  .page-title {
    font-size: 1rem;
  }

  .filters-section {
    padding: .75rem;
  }

  .lucky-number-card {
    padding: 1rem;
  }

  .lucky-number-title {
    font-size: 1rem;
  }

  .set-value, .value-value {
    font-size: .9rem;
  }
}

.winner-list-container, .lucky-history-container, .bet-history-container {
  flex-direction: column;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  display: flex;
}

.filters-card {
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 20px !important;
}

.filters-header h3 {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.filter-actions {
  gap: 10px;
  display: flex;
}

.filter-toggle-btn, .refresh-btn {
  align-items: center;
  gap: 6px;
  display: flex;
  padding: 8px 12px !important;
  font-size: .85rem !important;
}

.filters-content {
  border-top: 1px solid var(--border-gold);
  padding-top: 15px;
}

.filter-row {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  margin-bottom: 15px;
  display: grid;
}

.filter-group label {
  color: #ccc;
  font-size: .9rem;
  font-weight: 500;
}

.filter-input {
  border: 1px solid var(--border-gold);
  color: #fff;
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: .9rem;
}

.filter-input:focus {
  border-color: var(--primary-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 193, 7, .2);
}

.apply-filters-btn, .clear-filters-btn {
  align-items: center;
  gap: 6px;
  display: flex;
  padding: 8px 16px !important;
  font-size: .9rem !important;
}

.winner-list-card, .lucky-history-card, .bet-history-card {
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 20px !important;
}

.winner-list-header, .lucky-history-header, .bet-history-header {
  border-bottom: 1px solid var(--border-gold);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding-bottom: 15px;
  display: flex;
}

.winner-list-header h3, .lucky-history-header h3, .bet-history-header h3 {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.3rem;
  font-weight: 600;
}

.winner-stats, .lucky-stats, .bet-stats {
  color: #ccc;
  gap: 20px;
  font-size: .9rem;
  display: flex;
}

.winner-list {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.winner-item {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  padding: 15px;
  transition: all .3s;
  display: flex;
}

.winner-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 193, 7, .2);
}

.winner-avatar {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
}

.winner-icon {
  color: #fff;
  font-size: 1.2rem;
}

.winner-details {
  flex-direction: column;
  flex: 1;
  gap: 5px;
  display: flex;
}

.winner-name {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 600;
}

.winner-phone {
  color: #ccc;
  font-size: .9rem;
}

.winner-info {
  color: #aaa;
  gap: 15px;
  font-size: .85rem;
  display: flex;
}

.winner-amounts {
  text-align: right;
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.winner-bet, .winner-reward {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.bet-label, .reward-label {
  color: #aaa;
  font-size: .8rem;
}

.bet-amount, .reward-amount {
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
}

.reward-amount {
  color: var(--primary-gold);
}

.winner-status {
  flex-direction: column;
  align-items: center;
  gap: 5px;
  display: flex;
}

.status-badge {
  text-transform: uppercase;
  border-radius: 6px;
  padding: 4px 8px;
  font-size: .75rem;
  font-weight: 600;
}

.status-badge.claimed {
  color: #fff;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.status-badge.pending {
  color: #fff;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.lucky-numbers-grid {
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 15px;
  display: grid;
}

.lucky-number-item {
  background: linear-gradient(135deg, rgba(16, 185, 129, .1) 0%, rgba(16, 185, 129, .05) 100%);
  border: 1px solid rgba(16, 185, 129, .2);
  border-radius: 12px;
  padding: 15px;
  transition: all .3s;
}

.lucky-number-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(16, 185, 129, .2);
}

.lucky-number-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  display: flex;
}

.lucky-number-display {
  align-items: center;
  gap: 8px;
  display: flex;
}

.lucky-icon {
  color: #10b981;
  font-size: 1.2rem;
}

.lucky-number-text {
  color: #10b981;
  font-size: 1.3rem;
  font-weight: 700;
}

.lucky-number-date {
  color: #aaa;
  font-size: .85rem;
}

.lucky-number-details {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.lucky-section, .lucky-category {
  justify-content: space-between;
  font-size: .9rem;
  display: flex;
}

.section-label, .category-label {
  color: #aaa;
}

.section-value, .category-value {
  color: #fff;
  font-weight: 500;
}

.lucky-set-value {
  gap: 20px;
  display: flex;
}

.set-info, .value-info {
  gap: 5px;
  font-size: .85rem;
  display: flex;
}

.set-label, .value-label {
  color: #aaa;
}

.set-value, .value-value {
  color: #fff;
  font-weight: 500;
}

.modern-badge {
  align-self: flex-start;
}

.modern-text {
  color: #fff;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: .7rem;
  font-weight: 600;
}

.bet-list {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.bet-item {
  background: linear-gradient(135deg, rgba(59, 130, 246, .1) 0%, rgba(59, 130, 246, .05) 100%);
  border: 1px solid rgba(59, 130, 246, .2);
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  padding: 15px;
  transition: all .3s;
  display: flex;
}

.bet-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, .2);
}

.clickable-bet-item {
  cursor: pointer;
  transition: all .3s;
}

.clickable-bet-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 130, 246, .3);
  background: linear-gradient(135deg, rgba(59, 130, 246, .15) 0%, rgba(59, 130, 246, .08) 100%) !important;
}

.bet-number {
  flex-direction: column;
  align-items: center;
  gap: 5px;
  min-width: 80px;
  display: flex;
}

.number-display {
  color: #fff;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 700;
  display: flex;
}

.bet-date {
  color: #aaa;
  text-align: center;
  font-size: .8rem;
}

.bet-details {
  flex-direction: column;
  flex: 1;
  gap: 8px;
  display: flex;
}

.bet-section, .bet-amount, .bet-reward {
  gap: 10px;
  font-size: .9rem;
  display: flex;
}

.section-label, .amount-label, .reward-label {
  color: #aaa;
  min-width: 60px;
}

.section-value, .amount-value, .reward-value {
  color: #fff;
  font-weight: 500;
}

.reward-value {
  color: var(--primary-gold);
}

.bet-status {
  flex-direction: column;
  align-items: center;
  gap: 5px;
  display: flex;
}

.status-badge.status-win {
  color: #fff;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 2px 8px rgba(16, 185, 129, .3);
}

.status-badge.status-lose {
  color: #fff;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  box-shadow: 0 2px 8px rgba(239, 68, 68, .3);
}

.status-badge.status-pending {
  color: #fff;
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  box-shadow: 0 2px 8px rgba(245, 158, 11, .3);
}

.status-badge.status-default {
  color: #fff;
  background: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);
  box-shadow: 0 2px 8px rgba(107, 114, 128, .3);
}

.bet-time {
  color: #aaa;
  font-size: .75rem;
}

.load-more-container {
  justify-content: center;
  margin-top: 20px;
  display: flex;
}

.load-more-btn {
  padding: 10px 20px !important;
  font-size: .9rem !important;
}

@media (max-width: 768px) {
  .winner-list-container, .lucky-history-container, .bet-history-container {
    padding: 15px;
  }

  .filter-row, .lucky-numbers-grid {
    grid-template-columns: 1fr;
  }

  .winner-item, .bet-item {
    text-align: center;
    flex-direction: column;
  }

  .winner-amounts, .bet-status {
    align-items: center;
  }

  .lottery-action-buttons {
    flex-direction: column;
    gap: 10px;
    margin-bottom: 15px;
    padding: 10px;
  }

  .lottery-action-btn {
    max-width: none;
    padding: 8px 16px !important;
    font-size: .8rem !important;
  }

  .section-selection-box {
    flex-direction: column;
    gap: 10px;
    margin: 10px 0;
    padding: 10px;
  }

  .section-info {
    justify-content: center;
  }

  .change-section-btn {
    width: 100%;
    padding: 8px 12px !important;
  }

  .bet-details-modal {
    width: 95%;
    max-width: none;
    max-height: 85vh;
  }

  .detail-item {
    text-align: center;
    flex-direction: column;
    gap: 5px;
  }

  .detail-label {
    min-width: auto;
  }

  .detail-value {
    text-align: center;
  }

  .bet-details-grid {
    grid-template-columns: 1fr;
  }

  .bet-detail-item {
    padding: 10px;
  }
}

.bet-details-modal {
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  overflow-y: auto;
}

.bet-details-modal::-webkit-scrollbar {
  width: 6px;
}

.bet-details-modal::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.bet-details-modal::-webkit-scrollbar-thumb {
  background: var(--primary-gold);
  border-radius: 3px;
}

.bet-details-modal::-webkit-scrollbar-thumb:hover {
  background: #d4af37;
}

.bet-details-content {
  padding: 20px 0;
}

.detail-section {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.detail-item {
  background: linear-gradient(135deg, rgba(59, 130, 246, .1) 0%, rgba(59, 130, 246, .05) 100%);
  border: 1px solid rgba(59, 130, 246, .2);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 12px 15px;
  transition: all .3s;
  display: flex;
}

.detail-item:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, .15) 0%, rgba(59, 130, 246, .08) 100%);
  border-color: rgba(59, 130, 246, .3);
}

.detail-label {
  color: #ccc;
  min-width: 80px;
  font-size: .9rem;
  font-weight: 500;
}

.detail-value {
  color: #fff;
  text-align: right;
  font-size: .95rem;
  font-weight: 600;
}

.bet-number-value {
  color: #3b82f6;
  font-size: 1.1rem;
  font-weight: 700;
}

.bet-amount-value {
  color: #fff;
  font-weight: 600;
}

.reward-amount-value {
  color: var(--primary-gold);
  font-weight: 700;
}

.close-details-btn {
  width: 100%;
  padding: 10px 20px !important;
  font-size: .9rem !important;
}

.bet-details-list {
  border-top: 1px solid rgba(59, 130, 246, .2);
  margin-top: 20px;
  padding-top: 20px;
}

.bet-details-title {
  color: var(--primary-gold);
  text-align: center;
  margin-bottom: 15px;
  font-size: 1.1rem;
  font-weight: 600;
}

.bet-details-grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 15px;
  display: grid;
}

.bet-detail-item {
  background: linear-gradient(135deg, rgba(59, 130, 246, .08) 0%, rgba(59, 130, 246, .03) 100%);
  border: 1px solid rgba(59, 130, 246, .15);
  border-radius: 8px;
  padding: 12px;
  transition: all .3s;
}

.bet-detail-item:hover {
  background: linear-gradient(135deg, rgba(59, 130, 246, .12) 0%, rgba(59, 130, 246, .05) 100%);
  border-color: rgba(59, 130, 246, .25);
  transform: translateY(-2px);
}

.bet-detail-header {
  border-bottom: 1px solid rgba(59, 130, 246, .1);
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  padding-bottom: 8px;
  display: flex;
}

.bet-detail-number {
  color: #3b82f6;
  font-size: 1.1rem;
  font-weight: 700;
}

.bet-detail-status {
  text-transform: uppercase;
  border-radius: 4px;
  padding: 2px 6px;
  font-size: .7rem;
  font-weight: 600;
}

.bet-detail-info {
  flex-direction: column;
  gap: 5px;
  display: flex;
}

.bet-detail-row {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.bet-detail-label {
  color: #aaa;
  font-size: .8rem;
  font-weight: 500;
}

.bet-detail-value {
  color: #fff;
  font-size: .85rem;
  font-weight: 600;
}

.header-content {
  justify-content: space-between;
  align-items: center;
  padding: 15px 0;
  display: flex;
}

.logo-section {
  align-items: center;
  gap: 15px;
  display: flex;
}

.back-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 15px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.back-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.lottery-title {
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 30px rgba(255, 215, 0, .5);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2rem;
  font-weight: bold;
  animation: 2s ease-in-out infinite pulse-gold;
}

.user-info {
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .05);
  border-radius: 25px;
  align-items: center;
  gap: 15px;
  padding: 10px 20px;
  display: flex;
}

.user-avatar {
  background: var(--gradient-gold);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  font-size: 1.2rem;
  display: flex;
}

.user-name {
  color: var(--primary-gold);
  margin: 0;
  font-weight: bold;
}

.stat-item {
  align-items: center;
  gap: 5px;
  font-size: .9rem;
  display: flex;
}

.stat-icon {
  color: var(--primary-gold);
}

.stat-value {
  color: var(--foreground);
  font-weight: bold;
}

.lottery-content {
  z-index: 1;
  padding: 30px 20px;
  position: relative;
}

.lottery-2d-page .lottery-container, .lottery-c2d-page .lottery-container {
  grid-template-columns: 350px .8fr 400px;
  align-items: start;
  gap: 30px;
  max-width: 1400px;
  min-height: calc(100vh - 200px);
  margin: 0 auto;
  display: grid;
}

.lottery-3d-page .lottery-container {
  flex-direction: column;
  gap: 20px;
  max-width: 1200px;
  min-height: calc(100vh - 120px);
  margin: 0 auto;
  padding: 0 20px;
  display: flex;
}

.lottery-2d-page .lottery-left-panel, .lottery-c2d-page .lottery-left-panel {
  flex-direction: column;
  height: calc(100vh - 100px);
  display: flex;
}

.lottery-3d-page .lottery-left-panel {
  flex-direction: column;
  height: calc(100vh - 160px);
  max-height: 800px;
  display: flex;
}

.info-card {
  height: -moz-fit-content;
  height: fit-content;
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3) !important;
}

.betting-info {
  flex-direction: column;
  gap: 25px;
  display: flex;
}

.info-header {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.date-info, .status-info {
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .05);
  border-radius: 10px;
  align-items: center;
  gap: 10px;
  padding: 10px 15px;
  display: flex;
}

.info-label {
  color: var(--foreground);
  font-weight: bold;
}

.info-value {
  color: var(--primary-gold);
  font-weight: bold;
}

.status {
  border-radius: 20px;
  padding: 5px 12px;
  font-size: .9rem;
  font-weight: bold;
}

.status.open {
  background: var(--gradient-green);
  color: #000;
}

.status.closed {
  color: #fff;
  background: linear-gradient(45deg, #ef4444, #dc2626);
}

.time-display {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: bold;
}

.results-display {
  flex-direction: column;
  align-items: center;
  gap: 20px;
  display: flex;
}

.current-result {
  align-items: center;
  gap: 20px;
  display: flex;
}

.result-circle {
  background: var(--gradient-gold);
  color: #000;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  font-size: 1.5rem;
  font-weight: bold;
  animation: 2s ease-in-out infinite pulse-gold;
  display: flex;
  box-shadow: 0 0 20px rgba(255, 215, 0, .5);
}

.result-info {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.result-item {
  align-items: center;
  gap: 10px;
  display: flex;
}

.result-label {
  color: var(--foreground);
  font-weight: bold;
}

.result-value {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: bold;
}

.past-results {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.results-title {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.1rem;
  font-weight: bold;
}

.results-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.result-entry {
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  padding: 10px 15px;
  display: flex;
}

.result-time {
  color: var(--foreground);
  font-size: .9rem;
}

.result-number {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: bold;
}

.live-number {
  color: rgba(137, 8, 8, .95);
  font-size: 3.2rem;
  font-weight: bold;
}

.refresh-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  width: 100% !important;
  padding: 8px 10px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.refresh-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.lottery-middle-panel {
  flex-direction: column;
  height: calc(100vh - 160px);
  display: flex;
}

.lottery-2d-page .selection-card, .lottery-3d-page .selection-card {
  flex-direction: column;
  height: 100%;
  display: flex;
  overflow: hidden;
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 0 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3) !important;
}

.lottery-2d-page .selection-controls {
  flex-direction: column;
  flex-shrink: 0;
  gap: 20px;
  margin-bottom: 0;
  padding: 25px 25px 0;
  display: flex;
}

.lottery-3d-page .selection-controls {
  flex-shrink: 0;
  margin-bottom: 0;
  padding: 25px 25px 0;
}

.lottery-2d-page .selection-card-content, .lottery-3d-page .selection-card-content {
  flex: 1;
  margin-bottom: 0;
  padding: 20px 25px;
  overflow-y: auto;
}

.lottery-2d-page .place-bet-main-btn {
  flex-shrink: 0;
  margin: 0 25px 25px;
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  width: auto !important;
  padding: 15px 20px !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.lottery-2d-page .place-bet-main-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.lottery-3d-page .place-bet-main-btn {
  flex-shrink: 0;
  margin: 0 25px 25px;
}

.lottery-2d-page .selection-card-content::-webkit-scrollbar {
  width: 6px;
}

.lottery-2d-page .selection-card-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.lottery-2d-page .selection-card-content::-webkit-scrollbar-thumb {
  background: var(--border-gold);
  border-radius: 3px;
}

.lottery-2d-page .selection-card-content::-webkit-scrollbar-thumb:hover {
  background: var(--primary-gold);
}

.lottery-3d-page .selection-card-content::-webkit-scrollbar {
  width: 6px;
}

.lottery-3d-page .selection-card-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.lottery-3d-page .selection-card-content::-webkit-scrollbar-thumb {
  background: var(--border-gold);
  border-radius: 3px;
}

.lottery-3d-page .selection-card-content::-webkit-scrollbar-thumb:hover {
  background: var(--primary-gold);
}

.selection-controls {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.control-row {
  align-items: center;
  gap: 15px;
  display: flex;
}

.quick-btn, .random-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.quick-btn:hover, .random-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.amount-input-group {
  flex: 1;
}

.amount-input {
  border: 2px solid var(--border-gold);
  width: 100%;
  color: var(--foreground);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  padding: 12px 15px;
  font-size: 1rem;
  font-weight: bold;
  transition: all .3s;
}

.amount-input:focus {
  border-color: var(--primary-gold);
  background: rgba(255, 255, 255, .1);
  outline: none;
  box-shadow: 0 0 15px rgba(255, 215, 0, .3);
}

.quick-amounts {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.quick-amount-btn {
  color: var(--foreground) !important;
  border: 1px solid var(--border-gold) !important;
  background: rgba(255, 255, 255, .05) !important;
  border-radius: 6px !important;
  padding: 8px 15px !important;
  font-size: .9rem !important;
  transition: all .3s !important;
}

.quick-amount-btn:hover {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  transform: translateY(-2px) !important;
}

.number-grid {
  grid-template-columns: repeat(7, 1fr);
  gap: 10px;
  display: grid;
}

.number-grid-3d {
  grid-template-columns: repeat(9, 1fr);
  gap: 12px;
  padding: 20px 0;
  display: grid;
}

.number-grid-1d {
  grid-template-columns: repeat(5, 1fr);
  gap: 15px;
  padding: 20px 0;
  display: grid;
}

.number-btn-1d {
  border: 2px solid var(--border-gold);
  color: var(--foreground);
  cursor: pointer;
  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  padding: 15px;
  font-size: 1.2rem;
  font-weight: bold;
  transition: all .3s;
  display: flex;
}

.number-btn-1d:hover {
  border-color: var(--primary-gold);
  background: linear-gradient(135deg, #3a3a3a 0%, #2a2a2a 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .3);
}

.number-btn-1d.selected {
  background: linear-gradient(135deg, var(--primary-gold) 0%, #ffed4e 100%);
  color: #000;
  border-color: var(--primary-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.number-btn {
  aspect-ratio: 1;
  border: 2px solid var(--border-gold);
  color: var(--foreground);
  cursor: pointer;
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  font-size: .9rem;
  font-weight: bold;
  transition: all .3s;
  display: flex;
}

.number-btn:hover:not(:disabled) {
  background: var(--gradient-gold);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.number-btn.selected {
  background: var(--gradient-gold);
  color: #000;
  animation: 1s ease-in-out infinite pulse-gold;
  box-shadow: 0 0 15px rgba(255, 215, 0, .6);
}

.number-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.lottery-2d-page .number-btn.disabled {
  color: #999;
  cursor: not-allowed;
  opacity: .6;
  background: linear-gradient(135deg, #666 0%, #444 100%);
  border-color: #666;
}

.lottery-2d-page .number-btn.disabled:hover {
  box-shadow: none;
  background: linear-gradient(135deg, #666 0%, #444 100%);
  transform: none;
}

.lottery-closed-container {
  background: linear-gradient(135deg, rgba(0, 0, 0, .8) 0%, rgba(0, 0, 0, .9) 100%);
  justify-content: center;
  align-items: center;
  min-height: calc(100vh - 120px);
  padding: 40px 20px;
  display: flex;
}

.lottery-closed-content {
  text-align: center;
  border: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-radius: 20px;
  max-width: 600px;
  padding: 60px 40px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}

.lottery-closed-content:before {
  content: "";
  background: var(--gradient-gold);
  height: 4px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.closed-icon {
  margin-bottom: 30px;
}

.calendar-icon {
  color: var(--primary-gold);
  opacity: .8;
  font-size: 4rem;
  animation: 2s ease-in-out infinite pulse-gold;
}

.closed-title {
  color: var(--primary-gold);
  text-shadow: 0 2px 4px rgba(0, 0, 0, .5);
  margin-bottom: 20px;
  font-size: 2.5rem;
  font-weight: bold;
}

.closed-message {
  color: var(--foreground);
  opacity: .9;
  margin-bottom: 40px;
  font-size: 1.2rem;
  line-height: 1.6;
}

.closed-actions {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  margin-bottom: 40px;
  display: flex;
}

.alternative-btn {
  border-radius: 10px;
  padding: 15px 30px;
  font-size: 1.1rem;
  font-weight: bold;
  transition: all .3s;
}

.alternative-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 215, 0, .3);
}

.home-btn {
  border: 2px solid var(--primary-gold);
  color: var(--primary-gold);
  background: none;
  border-radius: 10px;
  padding: 15px 30px;
  font-size: 1.1rem;
  font-weight: bold;
  transition: all .3s;
}

.home-btn:hover {
  background: var(--primary-gold);
  color: #000;
  transform: translateY(-2px);
}

.closed-info {
  flex-direction: column;
  align-items: center;
  gap: 15px;
  display: flex;
}

.info-item {
  color: var(--foreground);
  opacity: .8;
  align-items: center;
  gap: 10px;
  font-size: 1rem;
  display: flex;
}

.info-icon {
  color: var(--primary-gold);
  font-size: 1.2rem;
}

@media (max-width: 768px) {
  .lottery-closed-content {
    margin: 0 10px;
    padding: 40px 20px;
  }

  .closed-title {
    font-size: 2rem;
  }

  .closed-message {
    font-size: 1.1rem;
  }

  .closed-actions {
    flex-direction: column;
    align-items: center;
  }

  .alternative-btn, .home-btn {
    width: 100%;
    max-width: 250px;
  }

  .closed-info {
    gap: 10px;
  }

  .info-item {
    font-size: .9rem;
  }
}

@media (max-width: 480px) {
  .lottery-closed-container {
    padding: 20px 10px;
  }

  .lottery-closed-content {
    padding: 30px 15px;
  }

  .closed-title {
    font-size: 1.8rem;
  }

  .closed-message {
    font-size: 1rem;
  }

  .calendar-icon {
    font-size: 3rem;
  }
}

.lottery-2d-page .number-btn.blocked {
  color: #fff;
  cursor: not-allowed;
  opacity: .8;
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
  border-color: #dc3545;
  box-shadow: 0 0 10px rgba(220, 53, 69, .3);
}

.lottery-2d-page .number-btn.blocked:hover {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
  transform: none;
  box-shadow: 0 0 15px rgba(220, 53, 69, .5);
}

.number-btn-3d {
  aspect-ratio: 1;
  border: 2px solid var(--border-gold);
  color: var(--foreground);
  cursor: pointer;
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 40px;
  font-size: .85rem;
  font-weight: bold;
  transition: all .3s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.number-btn-3d:hover:not(:disabled) {
  background: var(--gradient-gold);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.number-btn-3d.selected {
  background: var(--gradient-gold);
  color: #000;
  animation: 1s ease-in-out infinite pulse-gold;
  box-shadow: 0 0 15px rgba(255, 215, 0, .6);
}

.number-btn-3d:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.lottery-c2d-page .number-btn {
  aspect-ratio: 1;
  color: var(--foreground);
  cursor: pointer;
  background: linear-gradient(135deg, rgba(30, 30, 30, .9) 0%, rgba(20, 20, 20, .9) 100%);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 45px;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.lottery-c2d-page .number-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  color: #000;
  border-color: var(--primary-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.lottery-c2d-page .number-btn.selected {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  color: #000;
  border-color: var(--primary-gold);
  box-shadow: 0 0 15px rgba(255, 215, 0, .6);
}

.lottery-c2d-page .number-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.lottery-c2d-page .number-btn.blocked {
  color: #fff;
  cursor: not-allowed;
  opacity: .8;
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
  border-color: #dc3545;
  box-shadow: 0 0 10px rgba(220, 53, 69, .3);
}

.lottery-c2d-page .number-btn.blocked:hover {
  background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
  transform: none;
  box-shadow: 0 0 15px rgba(220, 53, 69, .5);
}

.lottery-c2d-page .blood-line-container {
  background: rgba(255, 255, 255, .1);
  border-radius: 0 0 8px 8px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.lottery-c2d-page .blood-line {
  border-radius: 0 0 8px 8px;
  height: 100%;
  transition: width .3s;
}

.lottery-c2d-page .blood-line-green {
  background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
}

.lottery-c2d-page .blood-line-yellow {
  background: linear-gradient(90deg, #ffc107 0%, #fd7e14 100%);
}

.lottery-c2d-page .blood-line-red {
  background: linear-gradient(90deg, #dc3545 0%, #e83e8c 100%);
}

.lottery-c2d-page .blood-line-gray {
  background: linear-gradient(90deg, #6c757d 0%, #adb5bd 100%);
}

.place-bet-main-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  width: 100% !important;
  padding: 15px 20px !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.place-bet-main-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.place-bet-main-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.login-bottom-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  width: 100% !important;
  padding: 15px 20px !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.login-bottom-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.lottery-2d-page .lottery-right-panel, .lottery-c2d-page .lottery-right-panel {
  flex-direction: column;
  height: calc(100vh - 100px);
  display: flex;
}

.lottery-3d-page .lottery-right-panel {
  flex-direction: column;
  height: calc(100vh - 140px);
  max-height: 900px;
  display: flex;
}

.lottery-2d-page .betting-slip-card, .lottery-c2d-page .betting-slip-card {
  height: 100%;
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 25px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3) !important;
}

.lottery-3d-page .betting-slip-card {
  flex-direction: column;
  height: 100%;
  display: flex;
  overflow: hidden;
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 0 !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3) !important;
}

.lottery-2d-page .betting-slip-content, .lottery-c2d-page .betting-slip-content {
  min-height: 300px;
  max-height: 400px;
  margin-bottom: 20px;
  padding: 20px 25px;
  overflow-y: auto;
}

.lottery-2d-page .betting-list-scroll {
  max-height: 300px;
  padding-right: 5px;
  overflow-y: auto;
}

.lottery-2d-page .betting-list-scroll::-webkit-scrollbar {
  width: 6px;
}

.lottery-2d-page .betting-list-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.lottery-2d-page .betting-list-scroll::-webkit-scrollbar-thumb {
  background: var(--border-gold);
  border-radius: 3px;
}

.lottery-2d-page .betting-list-scroll::-webkit-scrollbar-thumb:hover {
  background: var(--primary-gold);
}

.lottery-3d-page .betting-slip-content {
  flex: 1;
  max-height: 450px;
  margin-bottom: 0;
  padding: 2px;
  overflow-y: auto;
}

.betting-slip-content::-webkit-scrollbar {
  width: 6px;
}

.betting-slip-content::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.betting-slip-content::-webkit-scrollbar-thumb {
  background: var(--border-gold);
  border-radius: 3px;
}

.betting-slip-content::-webkit-scrollbar-thumb:hover {
  background: var(--primary-gold);
}

.lottery-2d-page .betting-slip-header, .lottery-c2d-page .betting-slip-header {
  margin-bottom: 20px;
}

.lottery-3d-page .betting-slip-header {
  flex-shrink: 0;
  margin-bottom: 0;
  padding: 15px 15px 0;
}

.slip-title {
  color: var(--primary-gold);
  text-align: center;
  margin: 0 0 15px;
  font-size: 1.3rem;
  font-weight: bold;
}

.slip-columns {
  border-bottom: 2px solid var(--border-gold);
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  gap: 10px;
  padding: 10px 0;
  display: grid;
}

.column-header {
  color: var(--primary-gold);
  text-align: center;
  font-size: .9rem;
  font-weight: bold;
}

.no-data {
  text-align: center;
  border: 2px dashed var(--border-gold);
  background: radial-gradient(circle, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 70%), linear-gradient(135deg, rgba(255, 255, 255, .02) 0%, rgba(255, 255, 255, .05) 100%);
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 300px;
  display: flex;
}

.no-data-icon {
  opacity: .7;
  margin-bottom: 15px;
  font-size: 3rem;
}

.no-data-text {
  color: var(--foreground);
  margin: 0 0 10px;
  font-size: 1.2rem;
  font-weight: bold;
}

.no-data-subtext {
  color: rgba(255, 255, 255, .6);
  margin: 0;
  font-size: .9rem;
}

.betting-list {
  flex-direction: column;
  gap: 10px;
  display: flex;
}

.betting-item {
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  display: grid;
}

.bet-number {
  color: var(--primary-gold);
  text-align: center;
  font-size: 1.1rem;
  font-weight: bold;
}

.bet-odds {
  color: var(--foreground);
  text-align: center;
  font-weight: bold;
}

.bet-amount-display {
  color: var(--primary-gold);
  text-align: center;
  font-size: .9rem;
  font-weight: bold;
}

.bet-amount-input {
  border: 1px solid var(--border-gold);
  width: 100%;
  color: var(--foreground);
  text-align: center;
  background: rgba(255, 255, 255, .05);
  border-radius: 4px;
  padding: 5px 8px;
  font-size: .9rem;
}

.bet-amount-input:focus {
  border-color: var(--primary-gold);
  background: rgba(255, 255, 255, .1);
  outline: none;
}

.edit-btn, .delete-btn {
  min-width: auto !important;
  padding: 5px 8px !important;
  font-size: .8rem !important;
}

.lottery-2d-page .betting-slip-footer, .lottery-c2d-page .betting-slip-footer {
  border-top: 2px solid var(--border-gold);
  padding-top: 20px;
}

.number-btn.exceeds-hot {
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: .8 !important;
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  border: 2px solid #ea580c !important;
}

.number-btn.exceeds-hot:hover {
  background: linear-gradient(135deg, #ea580c 0%, #c2410c 100%) !important;
  transform: none !important;
  box-shadow: 0 0 10px rgba(234, 88, 12, .5) !important;
}

.number-btn.exceeds-overall {
  color: #fff !important;
  cursor: not-allowed !important;
  opacity: .8 !important;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  border: 2px solid #dc2626 !important;
}

.number-btn.exceeds-overall:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  transform: none !important;
  box-shadow: 0 0 10px rgba(220, 38, 38, .5) !important;
}

.number-content {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.number-text {
  z-index: 2;
  font-size: 14px;
  font-weight: 600;
  position: relative;
}

.blood-line-container {
  background: rgba(255, 255, 255, .1);
  border-radius: 0 0 6px 6px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.blood-line {
  border-radius: 0 0 6px 6px;
  height: 100%;
  transition: width .3s;
}

.blood-line-green {
  background: linear-gradient(90deg, #10b981 0%, #059669 100%);
  box-shadow: 0 0 4px rgba(16, 185, 129, .5);
}

.blood-line-yellow {
  background: linear-gradient(90deg, #f59e0b 0%, #d97706 100%);
  box-shadow: 0 0 4px rgba(245, 158, 11, .5);
}

.blood-line-red {
  background: linear-gradient(90deg, #ef4444 0%, #dc2626 100%);
  box-shadow: 0 0 4px rgba(239, 68, 68, .5);
}

.number-btn.blocked .blood-line-container, .number-btn.exceeds-hot .blood-line-container, .number-btn.exceeds-overall .blood-line-container {
  opacity: .6;
}

.number-btn.selected .blood-line-container {
  opacity: .8;
}

@keyframes pulse-warning {
  0%, 100% {
    box-shadow: 0 0 rgba(220, 38, 38, .4);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(220, 38, 38, 0);
  }
}

.total-section {
  border: 1px solid var(--border-gold);
  background: rgba(255, 215, 0, .1);
  border-radius: 10px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  padding: 15px;
  display: flex;
}

.total-label {
  color: var(--primary-gold);
  font-size: 1.2rem;
  font-weight: bold;
}

.total-amount {
  color: var(--foreground);
  font-size: 1.3rem;
  font-weight: bold;
}

.action-buttons {
  gap: 15px;
  display: flex;
}

.confirm-btn {
  background: var(--gradient-green) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  flex: 1 !important;
  padding: 12px 20px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.confirm-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(34, 197, 94, .4) !important;
}

.confirm-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.reset-btn {
  color: #fff !important;
  background: linear-gradient(45deg, #ef4444, #dc2626) !important;
  border: none !important;
  border-radius: 10px !important;
  flex: 1 !important;
  padding: 12px 20px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.reset-btn:hover:not(:disabled) {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(239, 68, 68, .4) !important;
}

.reset-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.login-prompt {
  justify-content: center;
  align-items: center;
  min-height: 60vh;
  display: flex;
}

.login-card {
  text-align: center;
  border: 2px solid var(--border-gold) !important;
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%) !important;
  border-radius: 15px !important;
  padding: 40px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3) !important;
}

.login-content h2 {
  color: var(--primary-gold);
  margin-bottom: 15px;
  font-size: 2rem;
}

.login-content p {
  color: var(--foreground);
  margin-bottom: 25px;
  font-size: 1.1rem;
}

.login-prompt-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 15px 30px !important;
  font-size: 1.1rem !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.login-prompt-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.modal-overlay {
  z-index: 1000;
  -webkit-backdrop-filter: blur(5px);
  backdrop-filter: blur(5px);
  background: rgba(0, 0, 0, .8);
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
}

.modal-content {
  border: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-radius: 15px;
  width: 90%;
  max-width: 400px;
  padding: 30px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
}

.modal-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
  display: flex;
}

.modal-header h3 {
  color: var(--primary-gold);
  margin: 0;
}

.modal-close {
  color: var(--foreground);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 50%;
  padding: 5px;
  font-size: 1.5rem;
  transition: all .3s;
}

.modal-close:hover {
  color: var(--primary-gold);
  background: rgba(255, 255, 255, .1);
}

.modal-body {
  margin-bottom: 25px;
}

.modal-body p {
  color: var(--foreground);
  margin: 0;
  font-size: 1.1rem;
}

.modal-footer {
  gap: 15px;
  display: flex;
}

.logout-confirm-btn, .logout-cancel-btn {
  border-radius: 8px !important;
  flex: 1 !important;
  padding: 12px 20px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.logout-confirm-btn {
  color: #fff !important;
  background: linear-gradient(45deg, #ef4444, #dc2626) !important;
  border: none !important;
}

.logout-cancel-btn {
  color: var(--foreground) !important;
  border: 1px solid var(--border-gold) !important;
  background: rgba(255, 255, 255, .05) !important;
}

.logout-confirm-btn:hover, .logout-cancel-btn:hover {
  transform: translateY(-2px) !important;
}

.lottery-2d-preview {
  border: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 150px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.lottery-2d-preview:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 30% 30%, rgba(255, 215, 0, .2) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 70% 70%, rgba(34, 197, 94, .2) 0%, rgba(0, 0, 0, 0) 50%);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.preview-numbers {
  z-index: 2;
  margin-bottom: 15px;
  position: relative;
}

.preview-number {
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 20px rgba(255, 215, 0, .5);
  -webkit-background-clip: text;
  background-clip: text;
  font-size: 2.5rem;
  font-weight: bold;
  animation: 2s ease-in-out infinite pulse-gold;
}

.preview-grid {
  z-index: 2;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  display: grid;
  position: relative;
}

.preview-dot {
  background: var(--gradient-gold);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  animation: 3s ease-in-out infinite float;
  box-shadow: 0 0 10px rgba(255, 215, 0, .5);
}

.preview-dot:nth-child(2) {
  animation-delay: .5s;
}

.preview-dot:nth-child(3) {
  animation-delay: 1s;
}

.preview-dot:nth-child(4) {
  animation-delay: 1.5s;
}

.loading-results {
  color: var(--foreground);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding: 20px;
  display: flex;
}

.loading-spinner-small {
  border: 2px solid var(--border-gold);
  border-top: 2px solid var(--primary-gold);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  animation: 1s linear infinite spin;
  display: inline-block;
}

.game-button:disabled, .play-button:disabled {
  opacity: .7;
  cursor: not-allowed;
}

.quick-modal-content {
  border: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
  border-radius: 15px;
  width: 90%;
  max-width: 500px;
  max-height: 80vh;
  padding: 0;
  overflow-y: auto;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .5);
}

.quick-modal-header {
  border-bottom: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #3a3a3a 0%, #2a2a2a 100%);
  border-radius: 15px 15px 0 0;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  display: flex;
}

.quick-modal-header h3 {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.4rem;
  font-weight: bold;
}

.quick-modal-body {
  padding: 25px;
}

.quick-options-grid {
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-bottom: 20px;
  display: grid;
}

.quick-option-btn {
  border: 2px solid var(--border-gold);
  color: var(--foreground);
  cursor: pointer;
  background: linear-gradient(135deg, #3a3a3a 0%, #2a2a2a 100%);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 45px;
  padding: 12px 8px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .3s;
  display: flex;
}

.quick-option-btn:hover {
  background: linear-gradient(135deg, var(--primary-gold) 0%, #ffed4e 100%);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .3);
}

.quick-option-btn.clear-btn {
  color: #fff;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  border-color: #dc2626;
  position: relative;
}

.quick-option-btn.clear-btn:hover {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(220, 38, 38, .3);
}

.clear-icon {
  font-size: 1.2rem;
  font-weight: bold;
}

.clear-count {
  color: #fff;
  background: #ef4444;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  font-size: .7rem;
  font-weight: bold;
  display: flex;
  position: absolute;
  top: -5px;
  right: -5px;
}

.quick-input-section {
  margin-bottom: 20px;
}

.input-with-clear {
  align-items: center;
  display: flex;
  position: relative;
}

.quick-number-input {
  border: 2px solid var(--border-gold);
  width: 100%;
  color: var(--foreground);
  text-align: center;
  background: rgba(255, 255, 255, .1);
  border-radius: 8px;
  padding: 12px 40px 12px 15px;
  font-size: 1rem;
}

.quick-number-input::placeholder {
  color: rgba(255, 255, 255, .5);
}

.input-clear-btn {
  color: var(--foreground);
  cursor: pointer;
  background: rgba(255, 255, 255, .2);
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  font-size: 14px;
  font-weight: bold;
  transition: all .2s;
  display: flex;
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
}

.input-clear-btn:hover {
  color: #f44;
  background: rgba(255, 255, 255, .3);
}

.quick-advanced-options {
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  display: grid;
}

.quick-advanced-btn {
  border: 2px solid var(--border-gold);
  color: var(--foreground);
  cursor: pointer;
  background: linear-gradient(135deg, #4a4a4a 0%, #3a3a3a 100%);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 15px 12px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .3s;
  display: flex;
}

.quick-advanced-btn:hover {
  background: linear-gradient(135deg, var(--primary-gold) 0%, #ffed4e 100%);
  color: #000;
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .3);
}

@media (max-width: 768px) {
  .quick-options-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .quick-advanced-options {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .quick-modal-content {
    width: 95%;
    max-height: 90vh;
  }

  .quick-option-btn {
    min-height: 40px;
    padding: 10px 6px;
    font-size: .8rem;
  }

  .quick-advanced-btn {
    min-height: 45px;
    padding: 12px 10px;
    font-size: .8rem;
  }
}

@media (max-width: 480px) {
  .quick-options-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .quick-option-btn {
    min-height: 35px;
    padding: 8px 4px;
    font-size: .75rem;
  }
}

.spinning {
  animation: 1s linear infinite spin;
}

.live-indicator {
  background: var(--gradient-green);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  margin-left: 8px;
  animation: 2s ease-in-out infinite pulse-gold;
  display: inline-block;
}

.live-indicator.offline {
  background: linear-gradient(45deg, #ef4444, #dc2626);
}

.section-popup {
  border: 2px solid var(--border-gold);
  background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
  border-radius: 20px;
  width: 90%;
  max-width: 800px;
  max-height: 80vh;
  padding: 30px;
  position: relative;
  overflow-y: auto;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .5);
}

.section-popup-header {
  text-align: center;
  border-bottom: 2px solid var(--border-gold);
  margin-bottom: 30px;
  padding-bottom: 20px;
}

.section-popup-title {
  color: var(--primary-gold);
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0 0 10px;
  font-size: 2rem;
  font-weight: bold;
}

.section-popup-subtitle {
  color: var(--foreground);
  opacity: .8;
  margin: 0;
  font-size: 1.1rem;
}

.section-popup-content {
  margin-bottom: 30px;
}

.loading-sections {
  color: var(--foreground);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 40px 20px;
  display: flex;
}

.sections-grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 20px;
  display: grid;
}

.section-card {
  border: 2px solid var(--border-gold);
  cursor: pointer;
  background: linear-gradient(135deg, rgba(255, 255, 255, .05) 0%, rgba(255, 255, 255, .02) 100%);
  border-radius: 15px;
  padding: 20px;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.section-card:before {
  content: "";
  background: var(--gradient-gold);
  opacity: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  position: absolute;
  top: 0;
  left: 0;
}

.section-card:hover:before {
  opacity: .1;
}

.section-card:hover {
  border-color: var(--primary-gold);
  transform: translateY(-5px);
  box-shadow: 0 15px 35px rgba(255, 215, 0, .2);
}

.section-card.closed {
  opacity: .6;
  cursor: not-allowed;
  border-color: rgba(255, 255, 255, .2);
}

.section-card.maintenance {
  opacity: .7;
  cursor: not-allowed;
  border-color: orange;
}

.section-time {
  z-index: 1;
  margin-bottom: 15px;
  position: relative;
}

.section-time-main {
  color: var(--primary-gold);
  margin-bottom: 5px;
  font-size: 1.5rem;
  font-weight: bold;
  display: block;
}

.section-time-range {
  color: var(--foreground);
  opacity: .8;
  font-size: .9rem;
  display: block;
}

.section-status {
  z-index: 1;
  margin-bottom: 15px;
  position: relative;
}

.status-open {
  color: var(--primary-green);
  font-size: .9rem;
  font-weight: bold;
}

.status-closed {
  color: #ef4444;
  font-size: .9rem;
  font-weight: bold;
}

.status-maintenance {
  color: orange;
  font-size: .9rem;
  font-weight: bold;
}

.section-odds {
  z-index: 1;
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding: 8px 12px;
  display: flex;
  position: relative;
}

.odds-label {
  color: var(--foreground);
  font-size: .9rem;
}

.odds-value {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: bold;
}

.section-action {
  z-index: 1;
  position: relative;
}

.select-section-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
  border-radius: 8px !important;
  width: 100% !important;
  padding: 10px 15px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.select-section-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4) !important;
}

.section-popup-footer {
  text-align: center;
  border-top: 2px solid var(--border-gold);
  padding-top: 20px;
}

.skip-btn {
  color: var(--foreground) !important;
  border: 1px solid var(--border-gold) !important;
  background: rgba(255, 255, 255, .05) !important;
  border-radius: 8px !important;
  padding: 10px 20px !important;
  transition: all .3s !important;
}

.skip-btn:hover {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  transform: translateY(-2px) !important;
}

.selected-section-info {
  border: 1px solid var(--border-gold);
  background: rgba(255, 215, 0, .1);
  border-radius: 8px;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  padding: 8px 15px;
  display: flex;
}

.section-label {
  color: var(--foreground);
  font-size: .9rem;
  font-weight: bold;
}

.section-value {
  color: var(--primary-gold);
  font-size: 1rem;
  font-weight: bold;
}

.change-section-btn {
  color: var(--foreground) !important;
  border: 1px solid var(--border-gold) !important;
  background: rgba(255, 255, 255, .05) !important;
  border-radius: 6px !important;
  padding: 5px 10px !important;
  font-size: .8rem !important;
  transition: all .3s !important;
}

.change-section-btn:hover {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  transform: translateY(-1px) !important;
}

.edit-form {
  flex-direction: column;
  gap: 15px;
  display: flex;
}

.edit-label {
  color: var(--foreground);
  font-size: 1rem;
  font-weight: bold;
}

.edit-input {
  border: 2px solid var(--border-gold);
  width: 100%;
  color: var(--foreground);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  padding: 12px 15px;
  font-size: 1rem;
  font-weight: bold;
  transition: all .3s;
}

.edit-input:focus {
  border-color: var(--primary-gold);
  background: rgba(255, 255, 255, .1);
  outline: none;
  box-shadow: 0 0 15px rgba(255, 215, 0, .3);
}

.edit-input::placeholder {
  color: rgba(255, 255, 255, .5);
}

.edit-save-btn, .edit-cancel-btn {
  border-radius: 8px !important;
  flex: 1 !important;
  padding: 12px 20px !important;
  font-weight: bold !important;
  transition: all .3s !important;
}

.edit-save-btn {
  background: var(--gradient-gold) !important;
  color: #000 !important;
  border: none !important;
}

.edit-cancel-btn {
  color: var(--foreground) !important;
  border: 1px solid var(--border-gold) !important;
  background: rgba(255, 255, 255, .05) !important;
}

.edit-save-btn:hover, .edit-cancel-btn:hover {
  transform: translateY(-2px) !important;
}

@media (max-width: 1200px) {
  .lottery-2d-page .lottery-container {
    grid-template-columns: 320px .8fr 320px;
    gap: 20px;
  }

  .lottery-3d-page .lottery-container {
    grid-template-columns: 400px .8fr 350px;
    gap: 20px;
  }
}

@media (max-width: 992px) {
  .lottery-2d-page .lottery-container, .lottery-3d-page .lottery-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .lottery-2d-page .lottery-left-panel, .lottery-2d-page .lottery-right-panel, .lottery-3d-page .lottery-left-panel, .lottery-3d-page .lottery-right-panel {
    order: 2;
  }

  .lottery-2d-page .lottery-middle-panel, .lottery-3d-page .lottery-middle-panel {
    order: 1;
  }

  .number-grid {
    grid-template-columns: repeat(7, 1fr);
  }

  .number-grid-3d {
    grid-template-columns: repeat(8, 1fr);
    gap: 10px;
  }

  .number-grid-1d {
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
  }
}

@media (max-width: 768px) {
  .header-content {
    flex-direction: column;
    gap: 15px;
  }

  .lottery-title {
    font-size: 1.5rem;
  }

  .number-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .number-grid-3d {
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
  }

  .number-grid-1d {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }

  .control-row {
    flex-direction: column;
    gap: 10px;
  }

  .quick-amounts {
    justify-content: center;
  }

  .betting-item {
    grid-template-columns: 1fr 1fr;
    gap: 5px;
  }

  .betting-item > :nth-child(3), .betting-item > :nth-child(4), .betting-item > :nth-child(5) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 480px) {
  .lottery-content {
    padding: 15px 10px;
  }

  .number-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .number-grid-3d {
    grid-template-columns: repeat(5, 1fr);
    gap: 6px;
  }

  .number-grid-1d {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }

  .number-btn {
    font-size: .8rem;
  }

  .number-btn-3d {
    min-height: 35px;
    font-size: .75rem;
  }

  .lottery-title {
    font-size: 1.2rem;
  }

  .range-selector-row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }

  .range-selector, .pagination-info {
    justify-content: center;
  }
}

::-webkit-scrollbar-track {
  background: var(--secondary-black);
}

::-webkit-scrollbar-thumb {
  background: var(--primary-gold);
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--secondary-gold);
}

.glass-effect {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
}

.btn-casino {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  background: linear-gradient(45deg, #3b82f6, #1d4ed8, #dc2626) 0 0 / 200% 200%;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: bold;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3), 0 0 20px rgba(34, 197, 94, .2);
}

.btn-casino:hover {
  box-shadow: 0 10px 25px rgba(255, 215, 0, .4), 0 0 30px rgba(34, 197, 94, .3);
}

.btn-casino:before {
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, .4), rgba(0, 0, 0, 0));
  width: 100%;
  height: 100%;
  transition: left .5s;
  position: absolute;
  top: 0;
  left: -100%;
}

.btn-casino:hover:before {
  left: 100%;
}

.btn-danger {
  background: var(--gradient-green);
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  border: none;
  border-radius: 8px;
  padding: 12px 24px;
  font-weight: bold;
}

.btn-danger:hover {
  box-shadow: 0 10px 20px rgba(220, 20, 60, .3);
}

.casino-card {
  background: rgba(0, 0, 0, .8);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 12px;
  padding: 10px;
  position: relative;
  overflow: hidden;
}

.text-gold {
  color: var(--primary-gold);
  text-shadow: 0 0 10px rgba(255, 215, 0, .5);
}

.text-glow {
  text-shadow: 0 0 10px;
}

.casino-bg {
  background-image: radial-gradient(circle at 25% 25%, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 75% 75%, rgba(220, 20, 60, .1) 0%, rgba(0, 0, 0, 0) 50%), linear-gradient(45deg, rgba(0, 0, 0, 0) 30%, rgba(255, 215, 0, .05) 50%, rgba(0, 0, 0, 0) 70%);
  background-position: 0 0, 0 0, 0 0;
  background-size: 100% 100%, 100% 100%, 200px 200px;
}

@keyframes backgroundMove {
  0%, 100% {
    background-position: 0 0, 0 0, 0 0;
  }

  50% {
    background-position: 0 0, 0 0, 200px 200px;
  }
}

.group:hover .group-hover\:scale-110 {
  transform: scale(1.1);
}

.group:hover .group-hover\:scale-105 {
  transform: scale(1.05);
}

.group:hover .group-hover\:text-yellow-400 {
  color: var(--secondary-gold);
}

.btn-casino {
  background: var(--gradient-gold);
  color: var(--primary-black);
  text-transform: uppercase;
  letter-spacing: 1px;
  cursor: pointer;
  box-shadow: 0 4px 15px var(--border-gold);
  border: none;
  border-radius: 12px;
  padding: 12px 24px;
  font-weight: bold;
  position: relative;
  overflow: hidden;
}

.btn-casino:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.btn-casino:active {
  transform: translateY(-1px);
}

.text-shadow {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
}

.casino-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, .85);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  padding: 20px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
}

.casino-card:hover {
  border-color: rgba(255, 255, 255, .2);
  box-shadow: 0 12px 40px rgba(0, 0, 0, .4);
}

.marquee-container {
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.marquee-text {
  white-space: nowrap;
  animation: 15s linear infinite marquee;
  display: inline-block;
}

@keyframes marquee {
  0% {
    transform: translateX(100%);
  }

  100% {
    transform: translateX(-100%);
  }
}

.banner-swiper {
  border-radius: 16px;
  overflow: hidden;
}

.banner-swiper .swiper-pagination {
  width: auto !important;
  bottom: 20px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.casino-bullet {
  opacity: 1 !important;
  background: rgba(255, 255, 255, .3) !important;
  border-radius: 50% !important;
  width: 12px !important;
  height: 12px !important;
  margin: 0 6px !important;
  transition: all .3s !important;
}

.casino-bullet-active {
  background: var(--primary-gold) !important;
  transform: scale(1.2) !important;
  box-shadow: 0 0 10px rgba(255, 215, 0, .5) !important;
}

.banner-swiper .swiper-button-next, .banner-swiper .swiper-button-prev {
  color: var(--primary-gold) !important;
  background: rgba(0, 0, 0, .5) !important;
  border-radius: 50% !important;
  width: 50px !important;
  height: 50px !important;
  margin-top: -25px !important;
  transition: all .3s !important;
}

.banner-swiper .swiper-button-next:hover, .banner-swiper .swiper-button-prev:hover {
  background: rgba(0, 0, 0, .8) !important;
  transform: scale(1.1) !important;
}

.banner-swiper .swiper-button-next:after, .banner-swiper .swiper-button-prev:after {
  font-size: 20px !important;
  font-weight: bold !important;
}

.banner-swiper .swiper-button-next {
  right: 20px !important;
}

.banner-swiper .swiper-button-prev {
  left: 20px !important;
}

.register-btn-enhanced {
  background: linear-gradient(45deg, var(--primary-gold), var(--secondary-gold), var(--primary-gold)) !important;
  border: 2px solid var(--primary-gold) !important;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .4), 0 0 20px var(--shadow-gold) !important;
  background-size: 200% 200% !important;
  transition: all .3s !important;
  position: relative !important;
  overflow: hidden !important;
}

.register-btn-enhanced:hover {
  border-color: var(--secondary-gold) !important;
  box-shadow: 0 8px 25px rgba(255, 215, 0, .6), 0 0 30px rgba(255, 215, 0, .4) !important;
}

.register-btn-enhanced:active {
  transform: translateY(0)scale(1.02) !important;
}

@media (max-width: 640px) {
  .register-btn-enhanced {
    padding: 8px 16px !important;
    font-size: 14px !important;
  }

  .register-btn-enhanced span {
    font-size: 12px !important;
  }
}

.balance-display, .point-display {
  border: 2px solid var(--primary-gold);
  text-align: center;
  min-width: 80px;
  box-shadow: 0 4px 15px var(--shadow-gold);
  background: linear-gradient(135deg, rgba(0, 0, 0, .8), rgba(0, 0, 0, .6));
  border-radius: 12px;
  padding: 8px 12px;
  position: relative;
  overflow: hidden;
}

.balance-display:hover, .point-display:hover {
  box-shadow: 0 6px 20px var(--border-gold);
  border-color: var(--secondary-gold);
}

.balance-label, .point-label {
  color: var(--primary-gold);
  text-transform: uppercase;
  letter-spacing: .5px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: 2px;
  font-size: 10px;
  font-weight: bold;
}

.balance-value, .point-value {
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  font-size: 14px;
  font-weight: bold;
}

.logout-btn-enhanced {
  background: var(--gradient-green) !important;
  border: 2px solid var(--primary-green) !important;
  transition: all .3s !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 4px 15px rgba(220, 20, 60, .3) !important;
}

.logout-btn-enhanced:hover {
  border-color: var(--secondary-green) !important;
  box-shadow: 0 6px 20px rgba(220, 20, 60, .4) !important;
}

.logout-confirm-btn {
  background: var(--gradient-green) !important;
  border: 2px solid var(--primary-green) !important;
  transition: all .3s !important;
  box-shadow: 0 4px 15px rgba(220, 20, 60, .3) !important;
}

.logout-confirm-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(220, 20, 60, .4) !important;
}

.logout-cancel-btn {
  background: var(--gradient-gold) !important;
  border: 2px solid var(--primary-gold) !important;
  box-shadow: 0 4px 15px var(--border-gold) !important;
  transition: all .3s !important;
}

.logout-cancel-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4) !important;
}

@media (max-width: 640px) {
  .balance-display, .point-display {
    min-width: 70px;
    padding: 6px 8px;
  }

  .balance-label, .point-label {
    font-size: 9px;
  }

  .balance-value, .point-value {
    font-size: 12px;
  }
}

.sidebar-item {
  color: #fff;
  cursor: pointer;
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 8px;
  align-items: center;
  margin-bottom: 4px;
  padding: 12px 16px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.sidebar-section::-webkit-scrollbar {
  width: 4px;
}

.sidebar-section::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, .3);
  border-radius: 2px;
}

.sidebar-section::-webkit-scrollbar-thumb {
  background: var(--primary-gold);
  border-radius: 2px;
}

.sidebar-section::-webkit-scrollbar-thumb:hover {
  background: var(--secondary-gold);
}

@media (max-width: 1024px) {
  .sidebar-item {
    padding: 10px 12px;
  }

  .sidebar-icon {
    margin-right: 10px;
    font-size: 16px;
  }

  .sidebar-item span:last-child {
    font-size: 13px;
  }
}

@media (max-width: 640px) {
  .sidebar-item {
    padding: 8px 10px;
  }

  .sidebar-icon {
    margin-right: 8px;
    font-size: 14px;
  }

  .sidebar-item span:last-child {
    font-size: 12px;
  }
}

.right-sidebar-section {
  border: 1px solid var(--primary-gold);
  border-opacity: 30%;
  background: rgba(0, 0, 0, .8);
  border-radius: 12px;
  margin-bottom: 20px;
  padding: 16px;
}

.right-sidebar-title {
  color: var(--primary-gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--primary-gold);
  border-opacity: 30%;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: 12px;
  padding-bottom: 8px;
  font-size: 16px;
  font-weight: bold;
}

.right-sidebar-item {
  cursor: pointer;
  background: rgba(0, 0, 0, .4);
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 8px;
  margin-bottom: 8px;
  padding: 12px;
}

.right-sidebar-item:hover {
  border-color: var(--primary-gold);
  box-shadow: 0 4px 12px var(--shadow-gold);
  background: rgba(255, 215, 0, .1);
}

.right-banner-swiper {
  border-radius: 8px;
  overflow: hidden;
}

.right-banner-swiper .swiper-pagination {
  width: auto !important;
  bottom: 8px !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
}

.right-bullet {
  opacity: 1 !important;
  background: rgba(255, 255, 255, .3) !important;
  border-radius: 50% !important;
  width: 8px !important;
  height: 8px !important;
  margin: 0 4px !important;
  transition: all .3s !important;
}

.right-bullet-active {
  background: var(--primary-gold) !important;
  transform: scale(1.2) !important;
  box-shadow: 0 0 8px rgba(255, 215, 0, .5) !important;
}

@media (max-width: 1024px) {
  .floating-btn {
    width: 44px;
    height: 44px;
  }

  .category-tab {
    min-width: 70px;
    padding: 6px 12px;
    font-size: 11px;
  }
}

@media (max-width: 768px) {
  .floating-btn {
    width: 40px;
    height: 40px;
  }

  .category-tab {
    min-width: 60px;
    padding: 5px 10px;
    font-size: 10px;
  }

  .pagination-btn {
    width: 28px;
    height: 28px;
  }
}

@media (max-width: 640px) {
  .floating-btn {
    width: 36px;
    height: 36px;
  }

  .category-tab {
    min-width: 50px;
    padding: 4px 8px;
    font-size: 9px;
  }

  .pagination-btn {
    width: 24px;
    height: 24px;
  }
}

.max-w-7xl {
  max-width: 80rem;
}

@media (max-width: 1536px) {
  .xl\:grid-cols-6 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 1280px) {
  .lg\:grid-cols-5 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .md\:grid-cols-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .sm\:grid-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.search-box-enhanced {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-gold);
  background: linear-gradient(135deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .7));
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 215, 0, .1);
}

.search-box-enhanced:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, .4), 0 0 0 1px var(--shadow-gold);
  border-color: rgba(255, 215, 0, .5);
}

.search-input-enhanced {
  color: #fff;
  background: none;
  border: none;
  outline: none;
  width: 100%;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  font-weight: 500;
}

.search-input-enhanced::placeholder {
  color: rgba(255, 255, 255, .6);
  font-weight: 400;
}

.search-suggestion-tag {
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  background: rgba(0, 0, 0, .4);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9999px;
  padding: .5rem 1rem;
  font-size: .875rem;
}

.search-suggestion-tag:hover {
  background: var(--shadow-gold);
  border-color: var(--border-gold);
  color: var(--primary-gold);
}

.card-grid-responsive {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1.5rem;
  display: grid;
}

@media (min-width: 640px) {
  .card-grid-responsive {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 2rem;
  }
}

@media (min-width: 768px) {
  .card-grid-responsive {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .card-grid-responsive {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 3rem;
  }
}

@media (min-width: 1280px) {
  .card-grid-responsive {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 3.5rem;
  }
}

.card-enhanced-hover {
  transform-origin: center;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
}

.card-enhanced-hover:hover {
  transform: translateY(-8px)scale(1.02);
  box-shadow: 0 20px 40px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 255, 255, .1);
}

.main-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 1.5rem 1rem;
}

.main-container-spacing {
  flex-direction: column;
  gap: 2rem;
  display: flex;
}

.padding-responsive {
  padding: 1rem;
}

@media (min-width: 768px) {
  .padding-responsive {
    padding: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .padding-responsive {
    padding: 2rem;
  }
}

@media (min-width: 1280px) {
  .padding-responsive {
    padding: 3rem;
  }
}

.margin-auto {
  margin: 0 auto;
}

.margin-top-3 {
  margin-top: .75rem;
}

.margin-top-4 {
  margin-top: 1rem;
}

.margin-top-6 {
  margin-top: 1.5rem;
}

.margin-top-8 {
  margin-top: 2rem;
}

.margin-top-12 {
  margin-top: 3rem;
}

.margin-top-20 {
  margin-top: 5rem;
}

.margin-bottom-2 {
  margin-bottom: .5rem;
}

.margin-bottom-3 {
  margin-bottom: .75rem;
}

.margin-bottom-4 {
  margin-bottom: 1rem;
}

.margin-bottom-6 {
  margin-bottom: 1.5rem;
}

.margin-bottom-8 {
  margin-bottom: 2rem;
}

.margin-bottom-12 {
  margin-bottom: 3rem;
}

.margin-left-4 {
  margin-left: 1rem;
}

.margin-right-4 {
  margin-right: 1rem;
}

.padding-2 {
  padding: .5rem;
}

.padding-3 {
  padding: .75rem;
}

.padding-4 {
  padding: 1rem;
}

.padding-5 {
  padding: 1.25rem;
}

.padding-6 {
  padding: 1.5rem;
}

.padding-8 {
  padding: 2rem;
}

.padding-12 {
  padding: 3rem;
}

.padding-x-4 {
  padding-left: 1rem;
  padding-right: 1rem;
}

.padding-x-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.padding-x-8 {
  padding-left: 2rem;
  padding-right: 2rem;
}

.padding-x-12 {
  padding-left: 3rem;
  padding-right: 3rem;
}

.padding-y-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.padding-y-6 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.padding-y-8 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

.padding-y-12 {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.padding-top-4 {
  padding-top: 1rem;
}

.padding-top-6 {
  padding-top: 1.5rem;
}

.padding-top-8 {
  padding-top: 2rem;
}

.padding-bottom-4 {
  padding-bottom: 1rem;
}

.padding-bottom-6 {
  padding-bottom: 1.5rem;
}

.padding-bottom-8 {
  padding-bottom: 2rem;
}

.padding-left-4 {
  padding-left: 1rem;
}

.padding-left-12 {
  padding-left: 3rem;
}

.padding-left-14 {
  padding-left: 3.5rem;
}

.padding-right-4 {
  padding-right: 1rem;
}

.padding-responsive-x {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 768px) {
  .padding-responsive-x {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .padding-responsive-x {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

@media (min-width: 1280px) {
  .padding-responsive-x {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.grid-responsive {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

@media (min-width: 640px) {
  .grid-responsive {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

@media (min-width: 768px) {
  .grid-responsive {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }
}

@media (min-width: 1024px) {
  .grid-responsive {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 1280px) {
  .grid-responsive {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

@media (min-width: 1536px) {
  .grid-responsive {
    grid-template-columns: repeat(7, minmax(0, 1fr));
  }
}

.flex-center {
  justify-content: center;
  align-items: center;
  display: flex;
}

.flex-wrap {
  flex-wrap: wrap;
  display: flex;
}

.flex-col {
  flex-direction: column;
  display: flex;
}

.flex-1 {
  flex: 1;
}

.gap-2 {
  gap: .5rem;
}

.gap-4 {
  gap: 1rem;
}

.gap-6 {
  gap: 1.5rem;
}

.gap-8 {
  gap: 2rem;
}

.width-full {
  width: 100%;
}

.max-width-4xl {
  max-width: 56rem;
}

.max-width-7xl {
  max-width: 80rem;
}

.max-width-2xl {
  max-width: 42rem;
}

.text-center {
  text-align: center;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

.absolute-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.absolute-bottom-left {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
}

.absolute-top-right {
  position: absolute;
  top: .5rem;
  right: .5rem;
}

.absolute-left-center {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

.absolute-right-center {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

.transform {
  transform: translateZ(0);
}

.scale-105 {
  transform: scale(1.05);
}

.scale-110 {
  transform: scale(1.1);
}

.translate-y-neg-1-2 {
  transform: translateY(-50%);
}

.z-10 {
  z-index: 10;
}

.z-30 {
  z-index: 30;
}

.z-40 {
  z-index: 40;
}

.z-50 {
  z-index: 50;
}

.auth-page-container {
  background: linear-gradient(135deg, var(--primary-black) 0%, var(--secondary-black) 50%, #2a2a2a 100%);
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  padding: 1rem;
  display: flex;
}

.auth-form-container {
  width: 100%;
  max-width: 28rem;
}

.auth-header {
  text-align: center;
  margin-bottom: 2rem;
}

.auth-logo {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin-bottom: .5rem;
  font-size: 2.25rem;
  font-weight: bold;
}

.auth-logo-container {
  justify-content: center;
  align-items: center;
  margin-bottom: .5rem;
  display: flex;
}

.auth-logo-image {
  filter: drop-shadow(0 4px 8px rgba(0, 0, 0, .3));
  width: 100%;
  max-width: 200px;
  height: auto;
  transition: transform .3s;
}

.auth-logo-image:hover {
  transform: scale(1.05);
}

.auth-subtitle {
  color: rgba(255, 255, 255, .8);
}

.auth-card {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(0, 0, 0, .85);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 16px;
  padding: 2rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3);
}

.auth-title {
  color: var(--primary-gold);
  text-align: center;
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.auth-form {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.auth-error-message {
  border: 1px solid var(--primary-green);
  background: rgba(220, 20, 60, .2);
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: .75rem;
}

.auth-error-text {
  color: #f87171;
  font-size: .875rem;
}

.auth-success-message {
  background: rgba(34, 197, 94, .2);
  border: 1px solid #22c55e;
  border-radius: 8px;
  margin-bottom: 1rem;
  padding: .75rem;
}

.auth-success-text {
  color: #4ade80;
  font-size: .875rem;
}

.auth-link-container {
  text-align: center;
  margin-top: 1.5rem;
}

.auth-link-text {
  color: rgba(255, 255, 255, .6);
}

.auth-link {
  color: var(--primary-gold);
  font-weight: 500;
  transition: color .2s;
}

.auth-link:hover {
  color: var(--secondary-gold);
}

.auth-footer {
  text-align: center;
  color: rgba(255, 255, 255, .4);
  margin-top: 2rem;
  font-size: .875rem;
}

.auth-info-text {
  color: rgba(255, 255, 255, .8);
  text-align: center;
  margin-bottom: 1.5rem;
}

.auth-phone-display {
  color: var(--primary-gold);
  text-align: center;
  margin-bottom: 1.5rem;
  font-weight: 500;
}

.auth-success-icon {
  background: rgba(34, 197, 94, .2);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1rem;
  display: flex;
}

.auth-success-icon svg {
  color: #22c55e;
  width: 2rem;
  height: 2rem;
}

.auth-back-button {
  color: rgba(255, 255, 255, .6);
  cursor: pointer;
  background: none;
  border: none;
  font-size: .875rem;
  transition: color .2s;
}

.auth-back-button:hover {
  color: #fff;
}

.auth-resend-button {
  color: var(--primary-gold);
  cursor: pointer;
  background: none;
  border: none;
  font-weight: 500;
  transition: color .2s;
}

.auth-resend-button:hover {
  color: var(--secondary-gold);
}

.auth-resend-button:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.auth-password-requirements {
  color: rgba(255, 255, 255, .6);
  font-size: .875rem;
}

.auth-password-requirements ul {
  margin-top: .25rem;
  list-style-type: disc;
  list-style-position: inside;
}

.auth-password-requirements li {
  margin-bottom: .25rem;
}

.auth-otp-input {
  text-align: center;
  letter-spacing: .1em;
  font-size: 1.5rem;
}

.auth-right-align {
  text-align: right;
}

.auth-center-content {
  text-align: center;
}

.home-page {
  background-color: rgba(0, 0, 0, 0);
  background-image: radial-gradient(circle at 20% 20%, rgba(59, 130, 246, .15) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 80% 80%, rgba(239, 68, 68, .15) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle, rgba(147, 51, 234, .1) 0%, rgba(0, 0, 0, 0) 60%), linear-gradient(45deg, rgba(0, 0, 0, 0) 30%, rgba(59, 130, 246, .05) 50%, rgba(0, 0, 0, 0) 70%), linear-gradient(-45deg, rgba(0, 0, 0, 0) 40%, rgba(239, 68, 68, .05) 60%, rgba(0, 0, 0, 0) 80%);
  background-position: 0 0, 0 0, 0 0, 0 0, 0 0;
  background-repeat: repeat;
  background-size: 100% 100%, 100% 100%, 100% 100%, 300px 300px, 300px 300px;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  min-height: 100vh;
  position: relative;
  overflow: hidden;
}

.home-page:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 30% 70%, rgba(59, 130, 246, .08) 0%, rgba(0, 0, 0, 0) 40%), radial-gradient(circle at 70% 30%, rgba(239, 68, 68, .08) 0%, rgba(0, 0, 0, 0) 40%), radial-gradient(circle, rgba(147, 51, 234, .06) 0%, rgba(0, 0, 0, 0) 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@keyframes floatingOrbs {
  0%, 100% {
    opacity: .8;
    transform: translateY(0)rotate(0);
  }

  33% {
    opacity: .6;
    transform: translateY(-20px)rotate(120deg);
  }

  66% {
    opacity: .9;
    transform: translateY(10px)rotate(240deg);
  }
}

.marquee-banner {
  color: #fff;
  z-index: 10;
  background: linear-gradient(135deg, #1a1a0a 0%, #2a2a1a 30%, #3a3a2a 70%, #1a1a0a 100%);
  border-top: 2px solid rgba(255, 215, 0, .3);
  border-bottom: 2px solid rgba(34, 197, 94, .3);
  padding: .75rem 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 15px rgba(4, 18, 48, .6), 0 0 30px rgba(255, 215, 0, .2), inset 0 1px rgba(255, 255, 255, .1);
}

.marquee-content {
  white-space: nowrap;
  position: relative;
  overflow: hidden;
}

.marquee-text {
  text-transform: uppercase;
  letter-spacing: .05em;
  color: #fff;
  padding-left: 100%;
  font-size: 1rem;
  font-weight: 600;
  animation: 30s linear infinite marquee-scroll;
  display: inline-block;
}

@keyframes marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-100%);
  }
}

@media (max-width: 768px) {
  .marquee-banner {
    background: linear-gradient(135deg, #041230 0%, #0a1a3a 50%, #041230 100%);
    padding: .5rem 0;
  }

  .marquee-text {
    font-size: .875rem;
    font-weight: 600;
    animation-duration: 25s;
  }
}

@media (max-width: 480px) {
  .marquee-banner {
    padding: .4rem 0;
  }

  .marquee-text {
    letter-spacing: .05em;
    font-size: .75rem;
    font-weight: 600;
    animation-duration: 20s;
  }
}

.loading-container {
  background: var(--primary-black);
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
}

.loading-spinner {
  border: 4px solid var(--border-gold);
  border-top: 4px solid var(--primary-gold);
  border-radius: 50%;
  width: 64px;
  height: 64px;
  margin-bottom: 1rem;
  animation: 1s linear infinite spin;
}

.main-layout {
  min-height: calc(100vh - 80px);
  display: flex;
}

.sidebar {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border-right: 2px solid var(--primary-gold);
  border-opacity: .3;
  z-index: 40;
  background: rgba(0, 0, 0, .95);
  width: 256px;
  height: calc(100vh - 80px);
  transition: transform .3s ease-in-out;
  position: fixed;
  top: 80px;
  left: 0;
  overflow-y: auto;
  transform: translateX(-100%);
}

.sidebar-open {
  transform: translateX(0);
}

@media (min-width: 1024px) {
  .sidebar {
    height: auto;
    position: static;
    transform: translateX(0);
  }
}

.sidebar-content {
  flex-direction: column;
  height: 100%;
  display: flex;
}

.sidebar-header {
  border-bottom: 1px solid var(--primary-gold);
  border-opacity: .3;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  display: flex;
}

.sidebar-title {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0;
  font-size: 1.125rem;
  font-weight: bold;
}

.sidebar-close-btn {
  width: 32px;
  height: 32px;
  color: var(--primary-gold);
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.sidebar-close-btn:hover {
  background: rgba(255, 215, 0, .1);
}

.close-icon {
  width: 24px;
  height: 24px;
}

.sidebar-nav {
  flex: 1;
  padding: 1rem;
  overflow-y: auto;
}

.sidebar-section {
  margin-bottom: 1.5rem;
}

.sidebar-section-title {
  color: var(--primary-gold);
  text-transform: uppercase;
  letter-spacing: 1px;
  border-bottom: 1px solid var(--primary-gold);
  border-opacity: .3;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  font-size: .875rem;
  font-weight: bold;
}

.sidebar-menu {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.sidebar-item {
  color: #fff;
  cursor: pointer;
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 8px;
  align-items: center;
  padding: .75rem 1rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.sidebar-item:hover {
  border-color: var(--primary-gold);
  box-shadow: 0 4px 12px var(--shadow-gold);
  background: rgba(255, 215, 0, .1);
}

.sidebar-icon {
  text-align: center;
  min-width: 20px;
  margin-right: .75rem;
  font-size: 1.125rem;
}

.sidebar-item span:last-child {
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  font-size: .875rem;
  font-weight: 500;
}

.container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.container-full {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

@media (min-width: 1025px) {
  .container, .content-container, .history-header-container, .history-content-container, .filters-container, .profile-header-container, .profile-main-content, .cashin-header-container, .cashin-content-container {
    max-width: 90%;
    padding: 0 1rem;
  }
}

@media (max-width: 1024px) {
  .container, .content-container, .history-header-container, .history-content-container, .filters-container, .profile-header-container, .profile-main-content, .cashin-header-container, .cashin-content-container {
    max-width: 100%;
    padding: 0 1rem;
  }
}

@media (max-width: 768px) {
  .container, .content-container, .history-header-container, .history-content-container, .filters-container, .profile-header-container, .profile-main-content, .cashin-header-container, .cashin-content-container {
    max-width: 100%;
    padding: 0 .75rem;
  }
}

@media (max-width: 480px) {
  .container, .content-container, .history-header-container, .history-content-container, .filters-container, .profile-header-container, .profile-main-content, .cashin-header-container, .cashin-content-container {
    max-width: 100%;
    padding: 0 .5rem;
  }
}

@media (max-width: 1024px) {
  .auth-logo-image {
    max-width: 150px;
  }
}

@media (max-width: 768px) {
  .auth-logo-image {
    max-width: 120px;
  }
}

@media (max-width: 480px) {
  .auth-logo-image {
    max-width: 100px;
  }
}

.main-content {
  flex: 1;
  margin-left: 0;
  transition: margin-left .3s ease-in-out;
}

@media (min-width: 1024px) {
  .main-content {
    margin-left: 256px;
  }
}

.main-content-full {
  width: 100%;
  min-height: calc(100vh - 80px);
}

.content-container {
  flex-direction: column;
  gap: 2rem;
  max-width: 90%;
  margin: 0 auto;
  padding: 1.5rem 1rem;
  display: flex;
}

.banner-section {
  width: 100%;
}

.banner-container {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, rgba(255, 215, 0, .05) 0%, rgba(34, 197, 94, .05) 50%, rgba(255, 215, 0, .05) 100%);
  border-radius: 1.5rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 40px rgba(0, 0, 0, .4), 0 0 0 1px rgba(255, 215, 0, .1), inset 0 1px rgba(255, 255, 255, .1);
}

.banner-container:hover {
  transform: translateY(-5px);
  box-shadow: 0 30px 60px rgba(0, 0, 0, .5), 0 0 0 1px rgba(255, 215, 0, .2), inset 0 1px rgba(255, 255, 255, .15);
}

.banner-slide {
  position: relative;
  overflow: hidden;
}

.banner-slide:before {
  content: "";
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(45deg, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0) 70%, rgba(34, 197, 94, .1) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.banner-image {
  object-fit: cover;
  width: 100%;
  height: 16rem;
}

@media (min-width: 768px) {
  .banner-image {
    height: 20rem;
  }
}

@media (min-width: 1024px) {
  .banner-image {
    height: 24rem;
  }
}

.banner-overlay {
  background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.banner-content {
  color: #fff;
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
  z-index: 2;
  background: linear-gradient(135deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .5) 50%, rgba(0, 0, 0, .7) 100%);
  border-radius: 1rem;
  max-width: 40rem;
  padding: 1.5rem;
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  right: 2rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3), inset 0 1px rgba(255, 255, 255, .1);
}

.banner-title {
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8), 0 0 10px rgba(255, 215, 0, .3);
  background: linear-gradient(45deg, gold, orange, gold) 0 0 / 200% 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-bottom: .75rem;
  font-size: 1.75rem;
  font-weight: 800;
}

.banner-description {
  opacity: .95;
  color: rgba(255, 255, 255, .9);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .7);
  margin-bottom: 1.5rem;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
}

.banner-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.search-section {
  width: 100%;
  max-width: 56rem;
  margin: 0 auto;
}

.search-container {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.search-box {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  border: 1px solid var(--border-gold);
  background: linear-gradient(135deg, rgba(0, 0, 0, .9), rgba(0, 0, 0, .7));
  border-radius: 1.25rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3), 0 0 0 1px rgba(255, 215, 0, .1);
}

.search-box:hover {
  box-shadow: 0 12px 40px rgba(0, 0, 0, .4), 0 0 0 1px var(--shadow-gold);
  border-color: rgba(255, 215, 0, .5);
}

.search-input-container {
  align-items: center;
  padding: .5rem;
  display: flex;
}

.search-icon {
  z-index: 10;
  color: var(--primary-gold);
  transition: transform .3s;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

.search-box:hover .search-icon {
  transform: translateY(-50%)scale(1.1);
}

.search-svg {
  width: 24px;
  height: 24px;
}

.search-input {
  color: #fff;
  background: none;
  border: none;
  outline: none;
  width: 100%;
  padding: 1rem 1.5rem 1rem 3.5rem;
  font-size: 1.125rem;
  font-weight: 500;
}

.search-input::placeholder {
  color: rgba(255, 255, 255, .6);
  font-weight: 400;
}

.search-button {
  background: var(--gradient-gold);
  color: var(--primary-black);
  cursor: pointer;
  box-shadow: 0 4px 15px var(--border-gold);
  border: none;
  border-radius: .75rem;
  padding: .5rem 1rem;
  font-size: .875rem;
  font-weight: bold;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

.search-button:hover {
  transform: translateY(-50%)scale(1.05);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4);
}

.search-suggestions {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.suggestions-label {
  color: rgba(255, 255, 255, .5);
  font-size: .875rem;
}

.suggestion-tag {
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  background: rgba(0, 0, 0, .4);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 9999px;
  padding: .5rem 1rem;
  font-size: .875rem;
}

.suggestion-tag:hover {
  background: var(--shadow-gold);
  border-color: var(--border-gold);
  color: var(--primary-gold);
}

.category-tabs-section {
  width: 100%;
}

.category-tabs {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.category-tab {
  border: 1px solid var(--primary-gold);
  border-opacity: .3;
  color: #fff;
  cursor: pointer;
  text-align: center;
  background: rgba(0, 0, 0, .6);
  border-radius: 8px;
  min-width: 80px;
  padding: .5rem 1rem;
  font-size: .75rem;
  font-weight: 500;
  position: relative;
  overflow: hidden;
}

.category-tab:hover {
  border-color: var(--primary-gold);
  box-shadow: 0 4px 12px var(--shadow-gold);
  background: rgba(255, 215, 0, .1);
}

.category-tab.active {
  background: var(--gradient-gold);
  color: var(--primary-black);
  border-color: var(--primary-gold);
  box-shadow: 0 4px 15px var(--border-gold);
  font-weight: bold;
}

.games-section {
  width: 100%;
}

.section-title {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  justify-content: center;
  align-items: center;
  gap: .5rem;
  margin-bottom: 3px;
  font-size: 1.5rem;
  font-weight: bold;
  display: flex;
}

.section-description {
  color: rgba(255, 255, 255, .7);
  max-width: 32rem;
  margin: 0 auto;
  font-size: .875rem;
  line-height: 1.5;
}

.games-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  display: grid;
}

.lottery-games .games-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  padding: .5rem 0;
  display: grid;
}

.lottery-games .game-card {
  background: none;
  border: none;
  width: 100%;
  height: 120px;
  margin: 0;
  padding: 0;
}

@media (min-width: 640px) {
  .games-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 1.5rem;
    display: grid;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 130px;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 768px) {
  .games-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    display: grid;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 140px;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 1024px) {
  .games-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 2rem;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    display: grid;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 150px;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 1280px) {
  .games-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2rem;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
    display: grid;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 160px;
    margin: 0;
    padding: 0;
  }
}

@media (min-width: 1536px) {
  .games-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 2.5rem;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 2.5rem;
    display: grid;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 170px;
    margin: 0;
    padding: 0;
  }
}

.game-card {
  text-align: center;
  transform-origin: center;
  padding: 1.25rem;
  transition: all .3s cubic-bezier(.4, 0, .2, 1);
  position: relative;
}

.lottery-game-card-content {
  border-radius: 12px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0;
  transition: all .3s;
  display: flex;
}

.lottery-game-card-content:hover {
  background: linear-gradient(135deg, rgba(102, 126, 234, .05), rgba(118, 75, 162, .05));
}

.lottery-game-image-container {
  box-sizing: border-box;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  overflow: hidden;
}

.lottery-game-image {
  object-fit: cover;
  box-sizing: border-box;
  border: none;
  outline: none;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  transition: transform .3s;
  display: block;
}

.lottery-game-card-content:hover .lottery-game-image {
  transform: scale(1.05);
}

.game-favorite {
  z-index: 10;
  position: absolute;
  top: .5rem;
  right: .5rem;
}

.favorite-btn {
  color: #fff;
  cursor: pointer;
  background: #ef4444;
  border: none;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 1.25rem;
  height: 1.25rem;
  font-size: .75rem;
  display: flex;
}

.favorite-btn:hover {
  background: #dc2626;
  transform: scale(1.1);
}

.game-image-container {
  border-radius: .5rem;
  margin-bottom: .75rem;
  position: relative;
  overflow: hidden;
}

.game-image {
  object-fit: cover;
  border-radius: .5rem;
  width: 100%;
  height: 6rem;
  transition: transform .3s;
}

.game-overlay {
  opacity: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0));
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.game-badge {
  color: #fff;
  background: #ef4444;
  border-radius: 9999px;
  padding: .25rem;
  font-size: .75rem;
  font-weight: bold;
  position: absolute;
  top: .25rem;
  left: .25rem;
}

.provider-image-container {
  margin-bottom: .75rem;
  position: relative;
}

.provider-image {
  object-fit: contain;
  width: 100%;
  height: 3rem;
  transition: transform .3s;
}

.game-card:hover .provider-image {
  transform: scale(1.1);
}

.game-title {
  color: var(--primary-gold);
  text-overflow: ellipsis;
  white-space: nowrap;
  margin-bottom: .5rem;
  font-size: .875rem;
  font-weight: bold;
  transition: color .3s;
  overflow: hidden;
}

.game-card:hover .game-title {
  color: var(--secondary-gold);
}

.game-button {
  width: 100%;
  transition: transform .3s;
}

.game-card:hover .game-button {
  transform: scale(1.05);
}

.pagination {
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1.5rem;
  display: flex;
}

.pagination-btn {
  border: 1px solid var(--primary-gold);
  border-opacity: .3;
  width: 2rem;
  height: 2rem;
  color: var(--primary-gold);
  cursor: pointer;
  background: rgba(0, 0, 0, .6);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: flex;
}

.pagination-btn:hover {
  border-color: var(--primary-gold);
  box-shadow: 0 4px 12px var(--shadow-gold);
  background: rgba(255, 215, 0, .1);
  transform: scale(1.1);
}

.pagination-icon {
  width: 1rem;
  height: 1rem;
}

.pagination-text {
  color: rgba(255, 255, 255, .7);
  font-size: .875rem;
}

.pagination-count {
  color: var(--primary-gold);
  font-size: .875rem;
  font-weight: bold;
}

.sidebar-overlay {
  z-index: 30;
  background: rgba(0, 0, 0, .5);
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

@media (min-width: 1024px) {
  .sidebar-overlay {
    display: none;
  }
}

.floating-actions {
  z-index: 30;
  flex-direction: column;
  gap: .5rem;
  display: flex;
  position: fixed;
  top: 50%;
  right: .5rem;
  transform: translateY(-50%);
}

@media (min-width: 768px) {
  .floating-actions {
    gap: .75rem;
    right: 1rem;
  }
}

.floating-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--primary-gold);
  width: 3rem;
  height: 3rem;
  color: var(--primary-black);
  cursor: pointer;
  box-shadow: 0 4px 15px var(--border-gold);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.floating-btn:hover {
  border-color: var(--secondary-gold);
  transform: translateY(-3px)scale(1.1);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.floating-btn:active {
  transform: translateY(-1px)scale(1.05);
}

.floating-icon {
  width: 1.25rem;
  height: 1.25rem;
}

@media (min-width: 768px) {
  .floating-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.footer {
  border-top: 2px solid var(--primary-gold);
  border-opacity: .5;
  background: rgba(0, 0, 0, .9);
  margin-top: 3rem;
}

.footer-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 1rem 1rem 2rem;
}

.footer-content {
  text-align: center;
}

.footer-title {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.footer-description {
  color: rgba(255, 255, 255, .7);
  max-width: 32rem;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
  font-size: .875rem;
  line-height: 1.5;
}

.footer-links {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-bottom: 2rem;
  display: flex;
}

.footer-link {
  color: rgba(255, 255, 255, .6);
  font-size: .75rem;
  text-decoration: none;
  transition: color .2s;
}

.footer-link:hover {
  color: var(--primary-gold);
}

.footer-bottom {
  border-top: 1px solid var(--primary-gold);
  border-opacity: .3;
  padding-top: 1.5rem;
}

.footer-copyright {
  color: rgba(255, 255, 255, .5);
  font-size: .75rem;
}

@media (min-width: 768px) {
  .footer-copyright {
    font-size: .875rem;
  }
}

.popup-content {
  text-align: center;
}

.popup-image-container {
  margin-bottom: 1.5rem;
}

.popup-image {
  object-fit: cover;
  border-radius: .5rem;
  width: 100%;
  height: 12rem;
  margin: 0 auto;
}

.popup-text {
  color: rgba(255, 255, 255, .8);
  margin-bottom: 1.5rem;
  line-height: 1.5;
}

.popup-actions {
  justify-content: center;
  gap: 1rem;
  display: flex;
}

.logout-confirmation {
  background: linear-gradient(135deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .85));
  border-radius: 1rem;
  padding: 1.25rem;
}

.logout-content {
  margin-bottom: 1.5rem;
}

.logout-icon {
  margin-bottom: 1rem;
  font-size: 4rem;
}

.logout-title {
  color: var(--primary-gold);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin-bottom: .5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.logout-message {
  color: rgba(255, 255, 255, .8);
  font-size: 1.125rem;
  line-height: 1.5;
}

.logout-session {
  border: 1px solid var(--primary-gold);
  border-opacity: .3;
  background: rgba(0, 0, 0, .5);
  border-radius: .5rem;
  margin-bottom: 1.5rem;
  padding: 1rem;
}

.session-label {
  color: var(--primary-gold);
  margin-bottom: .5rem;
  font-weight: 500;
}

.session-info {
  color: #fff;
  font-size: .875rem;
}

.logout-actions {
  justify-content: center;
  gap: 1rem;
  display: flex;
}

@media (max-width: 640px) {
  .casino-bg {
    background-size: 100% 100%, 100% 100%, 150px 150px;
  }

  .banner-swiper .swiper-button-next, .banner-swiper .swiper-button-prev {
    width: 40px !important;
    height: 40px !important;
    margin-top: -20px !important;
  }

  .banner-swiper .swiper-button-next:after, .banner-swiper .swiper-button-prev:after {
    font-size: 16px !important;
  }

  .casino-bullet {
    width: 10px !important;
    height: 10px !important;
    margin: 0 4px !important;
  }

  .search-input-enhanced {
    padding: .875rem 1.25rem;
    font-size: 1rem;
  }

  .search-suggestion-tag {
    padding: .375rem .75rem;
    font-size: .75rem;
  }

  .main-container {
    padding: 1rem .5rem;
  }

  .padding-responsive-x {
    padding-left: .5rem;
    padding-right: .5rem;
  }

  .auth-page-container {
    padding: .5rem;
  }

  .auth-card {
    padding: 1.5rem;
  }

  .auth-logo {
    font-size: 2rem;
  }

  .auth-logo-image {
    max-width: 150px;
  }

  .auth-title {
    font-size: 1.25rem;
  }

  .content-container {
    padding: 1rem .5rem;
  }

  .banner-image {
    height: 12rem;
  }

  .banner-title {
    font-size: 1.25rem;
  }

  .banner-description {
    font-size: .875rem;
  }

  .banner-content {
    padding: 1rem;
    bottom: 1rem;
    left: 1rem;
    right: 1rem;
  }

  .search-input {
    padding: .875rem 1.25rem .875rem 3rem;
    font-size: 1rem;
  }

  .search-button {
    padding: .375rem .75rem;
    font-size: .8rem;
  }

  .suggestion-tag {
    padding: .375rem .75rem;
    font-size: .75rem;
  }

  .category-tab {
    min-width: 60px;
    padding: .375rem .75rem;
    font-size: .7rem;
  }

  .section-title {
    font-size: 1.25rem;
  }

  .section-description {
    font-size: .8rem;
  }

  .games-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
  }

  .game-card {
    padding: 1rem;
  }

  .game-image {
    height: 5rem;
  }

  .game-title {
    font-size: .8rem;
  }

  .floating-btn {
    width: 2.5rem;
    height: 2.5rem;
  }

  .floating-icon {
    width: 1rem;
    height: 1rem;
  }

  .footer-container {
    padding: 1rem .5rem 1.5rem;
  }

  .footer-title {
    font-size: 1.25rem;
  }

  .footer-description {
    font-size: .8rem;
  }

  .footer-links {
    gap: .75rem;
  }

  .footer-link {
    font-size: .7rem;
  }
}

@media (max-width: 480px) {
  .text-2xl {
    font-size: 1.5rem;
  }

  .text-3xl {
    font-size: 1.875rem;
  }

  .text-4xl {
    font-size: 2.25rem;
  }
}

@media (max-width: 768px) {
  .sidebar-item {
    min-height: 44px;
  }

  .category-tab {
    min-height: 36px;
  }

  .floating-btn {
    min-width: 44px;
    min-height: 44px;
  }
}

.profile-btn-enhanced {
  background: var(--gradient-gold) !important;
  border: 2px solid var(--primary-gold) !important;
  box-shadow: 0 4px 15px var(--border-gold) !important;
  transition: all .3s !important;
  position: relative !important;
  overflow: hidden !important;
}

.profile-btn-enhanced:hover {
  border-color: var(--secondary-gold) !important;
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4) !important;
}

.profile-edit-btn {
  background: var(--gradient-gold) !important;
  border: 2px solid var(--primary-gold) !important;
  box-shadow: 0 4px 15px var(--border-gold) !important;
  transition: all .3s !important;
  position: relative !important;
  overflow: hidden !important;
}

.profile-edit-btn:hover {
  border-color: var(--secondary-gold) !important;
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4) !important;
}

.profile-info-item {
  border: 1px solid var(--primary-gold);
  border-opacity: 20%;
  background: rgba(0, 0, 0, .3);
  border-radius: 8px;
  padding: 12px;
}

.profile-info-item:hover {
  border-color: var(--primary-gold);
  border-opacity: 40%;
  background: rgba(255, 215, 0, .05);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .1);
}

.profile-info-label {
  color: var(--primary-gold);
  text-transform: uppercase;
  letter-spacing: .5px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: bold;
  display: block;
}

.profile-info-value {
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  font-size: 14px;
  font-weight: 500;
}

.stat-item {
  border: 1px solid var(--primary-gold);
  border-opacity: 30%;
  text-align: center;
  background: rgba(0, 0, 0, .4);
  border-radius: 12px;
  padding: 16px;
  position: relative;
  overflow: hidden;
}

.stat-item:hover {
  border-color: var(--primary-gold);
  box-shadow: 0 6px 20px var(--shadow-gold);
  background: rgba(255, 215, 0, .1);
  transform: translateY(-3px);
}

.stat-value {
  color: var(--primary-gold);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: 4px;
  font-size: 18px;
  font-weight: bold;
}

.stat-label {
  color: #fff;
  text-opacity: 70%;
  text-transform: uppercase;
  letter-spacing: .5px;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  font-size: 11px;
}

.activity-item {
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(0, 0, 0, 0);
  border-radius: 8px;
  align-items: center;
  padding: 12px;
  display: flex;
}

.activity-item:hover {
  border-color: var(--primary-gold);
  border-opacity: 30%;
  background: rgba(255, 215, 0, .05);
}

.activity-icon {
  background: var(--gradient-gold);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  margin-right: 12px;
  font-size: 18px;
  display: flex;
}

.activity-content {
  flex: 1;
}

.activity-title {
  color: #fff;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin-bottom: 2px;
  font-size: 14px;
  font-weight: 500;
}

.activity-time {
  color: #fff;
  text-opacity: 60%;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  font-size: 12px;
}

@media (max-width: 768px) {
  .profile-info-item {
    padding: 10px;
  }

  .stat-item {
    padding: 12px;
  }

  .stat-value {
    font-size: 16px;
  }

  .stat-label {
    font-size: 10px;
  }

  .activity-item {
    padding: 10px;
  }

  .activity-icon {
    width: 36px;
    height: 36px;
    margin-right: 10px;
    font-size: 16px;
  }

  .activity-title {
    font-size: 13px;
  }

  .activity-time {
    font-size: 11px;
  }
}

@media (max-width: 640px) {
  .profile-info-item {
    padding: 8px;
  }

  .stat-item {
    padding: 10px;
  }

  .stat-value {
    font-size: 14px;
  }

  .stat-label {
    font-size: 9px;
  }

  .activity-item {
    padding: 8px;
  }

  .activity-icon {
    width: 32px;
    height: 32px;
    margin-right: 8px;
    font-size: 14px;
  }

  .activity-title {
    font-size: 12px;
  }

  .activity-time {
    font-size: 10px;
  }
}

.header-enhanced {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 50;
  background: linear-gradient(135deg, rgba(10, 10, 10, .95) 0%, rgba(26, 26, 46, .9) 50%, rgba(22, 33, 62, .95) 100%);
  border-top: 1px solid rgba(34, 197, 94, .3);
  border-bottom: 2px solid rgba(255, 215, 0, .4);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .4), 0 0 30px rgba(59, 130, 246, .1), inset 0 1px rgba(255, 255, 255, .1);
}

.header-enhanced:before {
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(59, 130, 246, .8), rgba(239, 68, 68, .8), rgba(59, 130, 246, .8), rgba(0, 0, 0, 0));
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.header-container {
  max-width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}

.header-content {
  justify-content: space-between;
  align-items: center;
  min-height: 80px;
  padding: 1rem 0;
  display: flex;
}

.header-left {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.mobile-menu-btn {
  border: 2px solid var(--primary-gold);
  border-opacity: .3;
  cursor: pointer;
  background: rgba(255, 215, 0, .1);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.mobile-menu-btn:hover {
  background: var(--shadow-gold);
  border-color: var(--primary-gold);
  box-shadow: 0 4px 15px var(--border-gold);
  transform: scale(1.05);
}

.mobile-menu-btn:active {
  transform: scale(.95);
}

.hamburger-icon {
  flex-direction: column;
  gap: 4px;
  width: 20px;
  height: 16px;
  display: flex;
}

.hamburger-icon span {
  background: var(--primary-gold);
  transform-origin: center;
  border-radius: 2px;
  width: 100%;
  height: 2px;
}

.mobile-menu-btn:hover .hamburger-icon span {
  background: var(--secondary-gold);
}

.logo-section {
  align-items: center;
  display: flex;
}

.logo-container {
  border-opacity: .2;
  background: rgba(59, 130, 246, .05);
  border-radius: 16px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
  overflow: hidden;
}

.logo-container:hover {
  border-color: var(--primary-gold);
  border-opacity: .4;
  box-shadow: 0 8px 25px var(--shadow-gold);
  background: rgba(59, 130, 246, .1);
}

.logo-icon {
  background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  padding: .5rem;
  animation: 3s ease-in-out infinite logoFloat;
  display: flex;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.logo-image {
  object-fit: contain;
  filter: drop-shadow(0 0 8px rgba(255, 255, 255, .3));
  border-radius: 50%;
  width: 100%;
  height: 100%;
}

.logo-image-full {
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(255, 215, 0, .4));
  width: 200px;
  height: 100px;
}

@keyframes logoFloat {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-3px);
  }
}

.logo-text {
  flex-direction: column;
  display: flex;
}

.logo-title {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8), 0 0 10px rgba(255, 215, 0, .3);
  background: linear-gradient(45deg, #3b82f6, #dc2626, #3b82f6) 0 0 / 200% 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  font-size: 1.75rem;
  font-weight: 900;
}

.logo-subtitle {
  color: rgba(255, 255, 255, .7);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-top: -2px;
  font-size: .75rem;
  font-weight: 500;
}

.header-right {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.user-info-section {
  align-items: center;
  display: flex;
}

.user-welcome {
  border: 1px solid var(--primary-gold);
  border-opacity: .2;
  background: rgba(0, 0, 0, .3);
  border-radius: 12px;
  align-items: center;
  gap: .75rem;
  padding: .5rem 1rem;
  display: flex;
}

.user-welcome:hover {
  border-color: var(--primary-gold);
  border-opacity: .4;
  background: rgba(255, 215, 0, .05);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .1);
}

.user-avatar {
  background: var(--gradient-gold);
  width: 40px;
  height: 40px;
  box-shadow: 0 4px 15px var(--border-gold);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  animation: 2s ease-in-out infinite avatarPulse;
  display: flex;
}

@keyframes avatarPulse {
  0%, 100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.05);
  }
}

.user-details {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.user-name {
  color: var(--primary-gold);
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  margin: 0;
  font-size: .875rem;
  font-weight: 600;
}

.user-stats {
  gap: .75rem;
  display: flex;
}

.user-stats .stat-item {
  border: 1px solid var(--primary-gold);
  border-opacity: .2;
  background: rgba(0, 0, 0, .4);
  border-radius: 6px;
  align-items: center;
  gap: .25rem;
  padding: .25rem .5rem;
  display: flex;
}

.user-stats .stat-icon {
  font-size: .75rem;
}

.user-stats .stat-value {
  color: #fff;
  font-size: .75rem;
  font-weight: 600;
}

.header-actions, .auth-buttons {
  gap: .5rem;
  display: flex;
}

.header-profile-btn, .header-logout-btn, .header-login-btn, .header-register-btn {
  border-radius: .5rem;
  padding: .5rem 1rem;
  position: relative;
  overflow: hidden;
}

.header-profile-btn {
  background: var(--gradient-gold) !important;
  border: 2px solid var(--primary-gold) !important;
  box-shadow: 0 4px 15px var(--border-gold) !important;
}

.header-profile-btn:hover {
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4) !important;
}

.header-logout-btn {
  background: var(--gradient-green) !important;
  border: 2px solid var(--primary-green) !important;
  box-shadow: 0 4px 15px rgba(220, 20, 60, .3) !important;
}

.header-logout-btn:hover {
  box-shadow: 0 6px 20px rgba(220, 20, 60, .4) !important;
}

.header-register-btn {
  background: linear-gradient(45deg, var(--primary-gold), var(--secondary-gold), var(--primary-gold)) !important;
  border: 2px solid var(--primary-gold) !important;
  background-size: 200% 200% !important;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .4) !important;
}

.header-register-btn:hover {
  box-shadow: 0 6px 20px rgba(255, 215, 0, .6) !important;
}

.btn-content {
  align-items: center;
  gap: .5rem;
  display: flex;
}

.btn-icon {
  font-size: .2rem;
  transition: transform .3s;
}

.btn-icon-image {
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .3));
  width: 16px;
  height: 16px;
  transition: transform .3s;
}

.btn-text {
  font-weight: 600;
}

.btn-sparkle {
  font-size: .75rem;
  animation: 1.5s ease-in-out infinite sparkle;
}

@keyframes sparkle {
  0%, 100% {
    opacity: .7;
    transform: scale(1);
  }

  50% {
    opacity: 1;
    transform: scale(1.2);
  }
}

.header-profile-btn:hover .btn-icon, .header-logout-btn:hover .btn-icon, .header-login-btn:hover .btn-icon, .header-register-btn:hover .btn-icon, .header-profile-btn:hover .btn-icon-image, .header-logout-btn:hover .btn-icon-image, .header-login-btn:hover .btn-icon-image, .header-register-btn:hover .btn-icon-image {
  transform: scale(1.1);
}

@media (max-width: 768px) {
  .header {
    z-index: 1000;
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    border-bottom: 1px solid rgba(255, 215, 0, .2);
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    box-shadow: 0 4px 20px rgba(0, 0, 0, .3);
  }

  .header-container {
    padding: 0 1rem;
  }

  .header-content {
    flex-direction: column;
    gap: .75rem;
    min-height: auto;
    padding: .75rem 0;
  }

  .header-left {
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }

  .logo-section, .logo-container {
    align-items: center;
    display: flex;
  }

  .logo-image {
    width: auto;
    height: 40px;
  }

  .mobile-language-icon {
    align-items: center;
    display: flex;
  }

  .mobile-language-icon .language-switcher {
    color: gold;
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 215, 0, .3);
    border-radius: 8px;
    padding: 8px;
    font-size: 1.2rem;
    transition: all .3s;
  }

  .mobile-language-icon .language-switcher:hover {
    background: rgba(255, 215, 0, .1);
    border-color: rgba(255, 215, 0, .5);
  }

  .mobile-language-icon .language-switcher button {
    color: inherit;
    font-size: inherit;
    background: none;
    border: none;
    margin: 0;
    padding: 0;
  }

  .mobile-language-icon .language-switcher span {
    margin-left: 4px;
    font-size: .7rem;
    display: inline;
  }

  .header-right {
    justify-content: flex-end;
    width: 100%;
  }

  .mobile-user-info {
    align-items: center;
    display: flex;
  }

  .mobile-user-details {
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    display: flex;
  }

  .mobile-user-name {
    color: #fff;
    margin: 0;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .mobile-user-balance {
    align-items: center;
    display: flex;
  }

  .mobile-balance-value {
    color: gold;
    background: rgba(255, 215, 0, .1);
    border: 1px solid rgba(255, 215, 0, .3);
    border-radius: 12px;
    padding: 2px 8px;
    font-size: .8rem;
    font-weight: 700;
  }

  .mobile-auth-info {
    align-items: center;
    display: flex;
  }

  .mobile-guest-text {
    color: rgba(255, 255, 255, .7);
    margin: 0;
    font-size: .9rem;
    font-weight: 500;
  }

  .mobile-action-buttons {
    gap: 6px;
    margin-left: 8px;
    display: flex;
  }

  .mobile-action-btn {
    white-space: nowrap;
    border-radius: 8px !important;
    min-width: auto !important;
    padding: 6px 10px !important;
    font-size: .7rem !important;
    font-weight: 600 !important;
  }

  .mobile-action-btn .btn-content {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .mobile-action-btn .btn-text {
    font-size: .7rem;
    font-weight: 600;
  }

  .mobile-tab-container {
    background: rgba(0, 0, 0, .3);
    border-radius: 12px;
    gap: 4px;
    width: 100%;
    padding: 4px;
    display: flex;
  }

  .mobile-tab-btn {
    color: rgba(255, 255, 255, .6);
    background: none;
    border: none;
    border-radius: 8px;
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-items: center;
    min-height: 60px;
    padding: 12px 8px;
    font-size: .75rem;
    font-weight: 500;
    transition: all .3s;
    display: flex;
    position: relative;
  }

  .mobile-tab-btn.active {
    color: #000;
    background: linear-gradient(135deg, gold, orange);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(255, 215, 0, .3);
  }

  .mobile-tab-btn:hover {
    color: gold;
    background: rgba(255, 215, 0, .1);
  }

  .mobile-tab-icon {
    margin-bottom: 4px;
    font-size: 1.25rem;
  }

  .mobile-tab-text {
    text-align: center;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .games-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 0 .25rem;
    display: grid;
  }

  .lottery-games .games-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: .75rem;
    padding: .5rem .25rem;
    display: grid;
  }

  .hot-games .games-grid, .buffalo-games .games-grid, .new-games .games-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 0 .25rem;
    display: grid;
  }

  .games-container .games-section .games-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 6px !important;
    padding: 0 .25rem !important;
    display: grid !important;
  }

  .games-container .game-card {
    background: linear-gradient(135deg, rgba(26, 26, 46, .8), rgba(22, 33, 62, .6));
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 12px;
    transition: all .3s;
    overflow: hidden;
  }

  .lottery-games .game-card {
    background: none;
    border: none;
    width: 100%;
    height: 100px;
    margin: 0;
    padding: 0;
  }

  .games-container .game-image-container {
    width: 100%;
    height: 80px;
    position: relative;
    overflow: hidden;
  }

  .lottery-games .lottery-game-image-container {
    height: 100%;
  }

  .games-container .game-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .games-container .game-title {
    color: #fff;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0;
    padding: 6px 4px;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden;
  }

  .games-container .game-button {
    text-transform: uppercase;
    letter-spacing: .3px;
    border-radius: 6px;
    width: calc(100% - 6px);
    margin: 0 3px 4px;
    padding: 3px;
    font-size: .65rem;
    font-weight: 600;
  }

  .game-card {
    background: linear-gradient(135deg, rgba(26, 26, 46, .8), rgba(22, 33, 62, .6));
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 12px;
    transition: all .3s;
    overflow: hidden;
  }

  .game-card:hover {
    border-color: rgba(255, 215, 0, .4);
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(255, 215, 0, .2);
  }

  .game-image-container {
    width: 100%;
    height: 80px;
    position: relative;
    overflow: hidden;
  }

  .game-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .game-overlay {
    background: linear-gradient(45deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0), rgba(0, 0, 0, .3));
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .game-badge {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .3px;
    background: linear-gradient(45deg, #ff6b6b, #ff8e53);
    border-radius: 8px;
    padding: 2px 6px;
    font-size: .5rem;
    font-weight: 700;
    position: absolute;
    top: 4px;
    right: 4px;
  }

  .launch-badge {
    color: gold;
    background: rgba(0, 0, 0, .7);
    border-radius: 50%;
    padding: 2px 4px;
    font-size: .6rem;
    position: absolute;
    top: 4px;
    left: 4px;
  }

  .game-title {
    color: #fff;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    margin: 0;
    padding: 6px 4px;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.2;
    overflow: hidden;
  }

  .game-button {
    text-transform: uppercase;
    letter-spacing: .3px;
    border-radius: 6px;
    width: calc(100% - 6px);
    margin: 0 3px 4px;
    padding: 3px;
    font-size: .65rem;
    font-weight: 600;
  }

  .games-section {
    margin: .25rem 0 .75rem;
  }

  .section-header {
    padding: 0 .25rem .75rem;
  }

  .section-title {
    color: gold;
    text-align: center;
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
  }

  .section-description {
    color: rgba(255, 255, 255, .7);
    text-align: center;
    margin: .25rem 0 0;
    font-size: .8rem;
  }

  .main-content-full {
    margin-top: 100px;
    padding-bottom: 60px;
  }

  .content-container {
    padding: 0;
  }

  .banner-section {
    border-radius: 12px;
    margin: 0 3px .75rem .25rem;
    overflow: hidden;
  }

  .banner-container {
    border-radius: 12px;
    overflow: hidden;
  }

  .banner-slide {
    height: 160px;
    position: relative;
  }

  .banner-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .banner-overlay {
    background: linear-gradient(45deg, rgba(0, 0, 0, .4), rgba(0, 0, 0, 0), rgba(0, 0, 0, .4));
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .marquee-banner {
    background: linear-gradient(135deg, #041230 0%, #0a1a3a 50%, #041230 100%);
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 12px;
    margin: 0 .25rem;
  }

  .marquee-text {
    padding: .75rem;
    font-size: .8rem;
  }

  .user-info {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, .1);
    border-radius: 20px;
    align-items: center;
    gap: .75rem;
    padding: 8px 12px;
    display: flex;
  }

  .user-avatar {
    background: linear-gradient(45deg, gold, orange);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    font-size: 1rem;
    display: flex;
  }

  .user-details {
    flex-direction: column;
    gap: 2px;
    display: flex;
  }

  .user-name {
    color: #fff;
    margin: 0;
    font-size: .8rem;
    font-weight: 600;
  }

  .user-stats {
    gap: 8px;
    display: flex;
  }

  .stat-item {
    align-items: center;
    gap: 4px;
    display: flex;
  }

  .stat-label {
    color: rgba(255, 255, 255, .7);
    font-size: .7rem;
  }

  .stat-value {
    color: gold;
    font-size: .7rem;
    font-weight: 600;
  }

  .desktop-user-info, .desktop-action-buttons, .desktop-auth-buttons, .action-buttons, .auth-buttons, .user-info, .user-avatar, .user-details, .user-stats {
    display: none;
  }

  .mobile-bottom-nav {
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
    z-index: 1000;
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    border-top: 1px solid rgba(255, 215, 0, .2);
    padding: 8px 0 12px;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, .3);
  }

  .mobile-bottom-nav-container {
    justify-content: space-around;
    align-items: center;
    max-width: 100%;
    margin: 0 auto;
    padding: 0 16px;
    display: flex;
  }

  .mobile-nav-item {
    color: rgba(255, 255, 255, .6);
    border-radius: 12px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 60px;
    padding: 8px 12px;
    text-decoration: none;
    transition: all .3s;
    display: flex;
    position: relative;
  }

  .mobile-nav-item:hover {
    color: gold;
    background: rgba(255, 215, 0, .1);
    transform: translateY(-2px);
  }

  .mobile-nav-item.active {
    color: gold;
    background: rgba(255, 215, 0, .15);
  }

  .mobile-nav-item.active:before {
    content: "";
    background: gold;
    border-radius: 50%;
    width: 4px;
    height: 4px;
    position: absolute;
    top: -8px;
    left: 50%;
    transform: translateX(-50%);
    box-shadow: 0 0 8px rgba(255, 215, 0, .6);
  }

  .mobile-nav-icon {
    margin-bottom: 4px;
    font-size: 1.2rem;
    transition: all .3s;
  }

  .mobile-nav-item:hover .mobile-nav-icon, .mobile-nav-item.active .mobile-nav-icon {
    transform: scale(1.1);
  }

  .mobile-nav-text {
    text-align: center;
    white-space: nowrap;
    font-size: .7rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .mobile-nav-item.active .mobile-nav-text {
    color: gold;
  }

  .category-section {
    margin: 0 0 .75rem;
    padding: 0 .25rem;
  }

  .category-scroll {
    scrollbar-width: none;
    -ms-overflow-style: none;
    gap: 8px;
    padding: 6px 0;
    display: flex;
    overflow-x: auto;
  }

  .category-scroll::-webkit-scrollbar {
    display: none;
  }

  .category-item {
    color: rgba(255, 255, 255, .8);
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 10px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 60px;
    padding: 4px 3px;
    text-decoration: none;
    transition: all .3s;
    display: flex;
  }

  .category-item:hover {
    color: gold;
    background: rgba(255, 215, 0, .1);
    border-color: rgba(255, 215, 0, .4);
    transform: translateY(-2px);
  }

  .category-item.active {
    color: #000;
    background: linear-gradient(135deg, gold, orange);
    border-color: gold;
  }

  .category-icon {
    margin-bottom: 3px;
    font-size: 1rem;
  }

  .category-image-container {
    justify-content: center;
    align-items: center;
    margin-bottom: 3px;
    display: flex;
  }

  .category-image {
    object-fit: contain;
    border-radius: 4px;
    width: 20px;
    height: 20px;
  }

  .category-text {
    text-align: center;
    white-space: nowrap;
    font-size: .6rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .mobile-bottom-nav {
    padding: 4px 0 6px;
  }

  .mobile-nav-item {
    min-width: 45px;
    padding: 4px 6px;
  }

  .mobile-nav-icon {
    margin-bottom: 2px;
    font-size: .9rem;
  }

  .mobile-nav-text {
    font-size: .6rem;
  }
}

@media (min-width: 769px) {
  .mobile-bottom-nav {
    display: none !important;
  }

  .desktop-user-info, .desktop-action-buttons, .desktop-auth-buttons {
    display: flex;
  }

  .mobile-user-info, .mobile-action-buttons, .mobile-auth-info, .mobile-language-icon {
    display: none;
  }

  .category-section {
    margin: 3px 0;
    padding: 0 2rem;
  }

  .category-scroll {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem;
    padding: 1rem 0;
    display: flex;
  }

  .category-item {
    color: rgba(255, 255, 255, .8);
    background: rgba(255, 255, 255, .1);
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 16px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-width: 100px;
    padding: 1rem;
    text-decoration: none;
    transition: all .3s;
    display: flex;
  }

  .category-item:hover {
    color: gold;
    background: rgba(255, 215, 0, .1);
    border-color: rgba(255, 215, 0, .4);
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(255, 215, 0, .2);
  }

  .category-item.active {
    color: #000;
    background: linear-gradient(135deg, gold, orange);
    border-color: gold;
    box-shadow: 0 8px 25px rgba(255, 215, 0, .3);
  }

  .category-icon {
    margin-bottom: 8px;
    font-size: 1.5rem;
  }

  .category-image-container {
    justify-content: center;
    align-items: center;
    margin-bottom: 8px;
    display: flex;
  }

  .category-image {
    object-fit: contain;
    border-radius: 8px;
    width: 32px;
    height: 32px;
  }

  .category-text {
    text-align: center;
    white-space: nowrap;
    font-size: .9rem;
    font-weight: 600;
    line-height: 1.2;
  }

  .games-container {
    padding: 0 2rem;
  }

  .games-section {
    margin: 3rem 0;
  }

  .section-header {
    text-align: center;
    margin-bottom: 2rem;
  }

  .section-title {
    color: gold;
    text-shadow: 0 2px 4px rgba(0, 0, 0, .3);
    margin: 0;
    font-size: 2rem;
    font-weight: 700;
  }

  .section-description {
    color: rgba(255, 255, 255, .8);
    margin: .5rem 0 0;
    font-size: 1.1rem;
  }

  .games-grid {
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 1.5rem;
    padding: 0;
    display: grid;
  }

  .game-card {
    background: linear-gradient(135deg, rgba(26, 26, 46, .9), rgba(22, 33, 62, .7));
    border: 1px solid rgba(255, 215, 0, .2);
    border-radius: 16px;
    transition: all .3s;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, .2);
  }

  .game-card:hover {
    border-color: rgba(255, 215, 0, .5);
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(255, 215, 0, .3);
  }

  .game-image-container {
    width: 100%;
    height: 150px;
    position: relative;
    overflow: hidden;
  }

  .game-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform .3s;
  }

  .game-card:hover .game-image {
    transform: scale(1.05);
  }

  .game-overlay {
    background: linear-gradient(45deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0), rgba(0, 0, 0, .2));
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .game-badge {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .5px;
    background: linear-gradient(45deg, #ff6b6b, #ff8e53);
    border-radius: 16px;
    padding: 6px 12px;
    font-size: .7rem;
    font-weight: 700;
    position: absolute;
    top: 12px;
    right: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
  }

  .launch-badge {
    color: gold;
    background: rgba(0, 0, 0, .8);
    border-radius: 50%;
    padding: 6px 8px;
    font-size: 1rem;
    position: absolute;
    top: 12px;
    left: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
  }

  .game-title {
    color: #fff;
    text-align: center;
    margin: 0;
    padding: 1rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
  }

  .game-button {
    text-transform: uppercase;
    letter-spacing: .5px;
    border-radius: 8px;
    width: calc(100% - 2rem);
    margin: 0 1rem 1rem;
    padding: 12px;
    font-size: .9rem;
    font-weight: 600;
  }

  .banner-section {
    border-radius: 20px;
    margin: 3px 2px 2rem 2rem;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0, 0, 0, .3);
  }

  .banner-container {
    border-radius: 20px;
    overflow: hidden;
  }

  .banner-slide {
    height: 300px;
    position: relative;
  }

  .banner-image {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }

  .banner-overlay {
    background: linear-gradient(45deg, rgba(0, 0, 0, .3), rgba(0, 0, 0, 0), rgba(0, 0, 0, .3));
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

  .main-content-full {
    margin-top: 0;
    padding-bottom: 2rem;
  }

  .content-container {
    padding: 0;
  }
}

@media (max-width: 1024px) {
  .header-content {
    min-height: 70px;
    padding: .75rem 0;
  }

  .logo-title {
    font-size: 1.5rem;
  }

  .logo-subtitle {
    font-size: .7rem;
  }

  .user-welcome {
    padding: .4rem .8rem;
  }

  .user-avatar {
    width: 36px;
    height: 36px;
    font-size: 1.1rem;
  }
}

@media (max-width: 768px) {
  .header-container {
    padding: 0 .75rem;
  }

  .header-content {
    min-height: 60px;
    padding: .5rem 0;
  }

  .logo-image-full {
    width: 100px;
    height: 50px;
  }

  .user-info-section {
    display: none;
  }

  .profile-main-content {
    padding: 1rem .5rem;
  }

  .profile-content-grid {
    gap: 1.5rem;
  }

  .profile-card {
    padding: 1.5rem;
  }

  .profile-sidebar-card {
    padding: 1rem;
  }

  .profile-info-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .profile-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: .75rem;
  }

  .profile-header-container {
    padding: 0 1rem;
  }

  .profile-header-content {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .profile-header-left {
    flex-direction: column;
    gap: .75rem;
  }

  .profile-header-actions {
    align-self: stretch;
  }

  .profile-logout-btn {
    justify-content: center;
    width: 100%;
  }

  .cash-modal-content {
    padding: 1.5rem;
  }

  .cash-modal-header {
    text-align: center;
    margin-bottom: 2rem;
  }

  .cash-modal-icon {
    margin-bottom: 1rem;
    font-size: 3rem;
  }

  .cash-modal-title {
    color: var(--primary-gold);
    margin-bottom: .5rem;
    font-size: 1.5rem;
    font-weight: bold;
  }

  .cash-modal-subtitle {
    color: rgba(255, 255, 255, .8);
    font-size: .9rem;
  }

  .cash-form {
    flex-direction: column;
    gap: 1rem;
    margin-bottom: 2rem;
    display: flex;
  }

  .form-group {
    flex-direction: column;
    gap: .5rem;
    display: flex;
  }

  .form-label {
    color: var(--primary-gold);
    font-size: .9rem;
    font-weight: 600;
  }

  .form-input {
    color: #fff;
    background: rgba(0, 0, 0, .5);
    border: 1px solid rgba(255, 215, 0, .3);
    border-radius: .5rem;
    padding: .75rem;
    font-size: 1rem;
  }

  .form-input:focus {
    border-color: var(--primary-gold);
    outline: none;
    box-shadow: 0 0 0 2px rgba(255, 215, 0, .2);
  }

  .form-input::placeholder {
    color: rgba(255, 255, 255, .5);
  }

  .cash-modal-actions {
    justify-content: center;
    gap: 1rem;
    display: flex;
  }

  .cash-submit-btn, .cash-cancel-btn {
    flex: 1;
  }
}

.cashin-page {
  background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 30%, #16213e 60%, #0f3460 100%) fixed;
  min-height: 100vh;
  position: relative;
  overflow-x: hidden;
}

.cashin-page:before {
  content: "";
  pointer-events: none;
  z-index: 0;
  background: radial-gradient(circle at 20% 20%, rgba(255, 215, 0, .06) 0%, rgba(0, 0, 0, 0) 70%), radial-gradient(circle at 80% 80%, rgba(0, 255, 136, .08) 0%, rgba(0, 0, 0, 0) 70%), radial-gradient(circle, rgba(147, 51, 234, .04) 0%, rgba(0, 0, 0, 0) 80%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.cashin-header {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 50;
  background: linear-gradient(135deg, rgba(15, 15, 35, .95) 0%, rgba(26, 26, 46, .9) 50%, rgba(22, 33, 62, .95) 100%);
  border-bottom: 1px solid rgba(255, 215, 0, .2);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .2);
}

.cashin-header-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 1rem;
}

.cashin-header-content {
  justify-content: space-between;
  align-items: center;
  min-height: 70px;
  padding: .75rem 0;
  display: flex;
}

.cashin-header-left {
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.cashin-back-btn {
  background: linear-gradient(135deg, var(--primary-green) 0%, #1e1251 100%);
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: none;
  border-radius: .5rem;
  padding: .5rem 1rem;
  transition: all .5s;
}

.cashin-back-btn:hover {
  background: rgba(255, 255, 255, .2);
}

.cashin-title-section {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.cashin-title {
  color: #fff;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8), 0 0 10px rgba(255, 215, 0, .3);
  background: linear-gradient(45deg, gold, orange, gold) 0 0 / 200% 200%;
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  font-size: 1.75rem;
  font-weight: 800;
}

.cashin-subtitle {
  color: rgba(255, 255, 255, .8);
  margin: 0;
  font-size: .9rem;
}

.cashin-header-right {
  align-items: center;
  display: flex;
}

.user-balance {
  flex-direction: column;
  align-items: flex-end;
  gap: .25rem;
  display: flex;
}

.balance-label {
  color: rgba(255, 255, 255, .7);
  font-size: .8rem;
}

.balance-amount {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: 600;
}

.cashin-main-content {
  z-index: 1;
  width: 100%;
  max-width: none;
  min-height: calc(100vh - 200px);
  margin: 0 auto;
  padding: 3rem 1rem;
  position: relative;
}

.cashin-content-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.payment-methods-section {
  z-index: 10;
  margin-bottom: 2rem;
  padding: 1.5rem 0;
  position: relative;
}

.payment-methods-section .section-title {
  color: #fff;
  text-align: center;
  text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: 600;
}

.payment-methods-grid {
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 1.5rem;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1rem 0;
  display: grid;
}

.payment-method-card {
  cursor: pointer;
  width: 100%;
  transition: transform .2s;
}

.payment-method-card:hover {
  transform: translateY(-2px);
}

.payment-method-card-inner {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .12) 0%, rgba(255, 255, 255, .06) 100%);
  border: none;
  border-radius: 14px;
  width: 100%;
  min-height: 90px;
  padding: 1.5rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
  box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
}

.payment-method-card:hover .payment-method-card-inner {
  background: linear-gradient(135deg, rgba(255, 255, 255, .18) 0%, rgba(255, 255, 255, .1) 100%);
  transform: translateY(-3px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}

.payment-method-content {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  width: 100%;
  display: flex;
}

.payment-method-logo {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 6px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 6px;
  transition: all .3s;
  display: flex;
}

.payment-method-card:hover .payment-method-logo {
  background: rgba(255, 215, 0, .1);
  border-color: rgba(255, 215, 0, .4);
  transform: scale(1.05);
}

.payment-logo-image {
  object-fit: contain;
  filter: brightness(1.1);
  border-radius: 4px;
  width: 100%;
  height: 100%;
}

.payment-method-info {
  flex-direction: column;
  flex: 1;
  gap: .4rem;
  min-width: 0;
  margin: 0 1rem;
  display: flex;
}

.payment-method-name {
  color: #fff;
  align-items: center;
  gap: .5rem;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.3;
  display: flex;
}

.cashin-icon {
  font-size: 1rem;
}

.payment-method-type {
  color: rgba(255, 255, 255, .7);
  text-transform: capitalize;
  margin: 0;
  font-size: .9rem;
}

.payment-method-fee {
  color: gold;
  background: rgba(255, 215, 0, .1);
  border-radius: 4px;
  margin: 0;
  padding: .2rem .5rem;
  font-size: .8rem;
  font-weight: 500;
  display: inline-block;
}

.payment-method-label {
  margin-top: .5rem;
}

.cashin-label {
  color: #0f8;
  text-transform: uppercase;
  background: rgba(0, 255, 136, .1);
  border: 1px solid rgba(0, 255, 136, .2);
  border-radius: 4px;
  padding: .2rem .5rem;
  font-size: .7rem;
  font-weight: 500;
  display: inline-block;
}

.payment-method-arrow {
  color: rgba(255, 255, 255, .7);
  background: rgba(255, 255, 255, .05);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  transition: all .3s;
  display: flex;
}

.payment-method-card:hover .payment-method-arrow {
  color: gold;
  background: rgba(255, 215, 0, .1);
  transform: translateX(4px);
}

.arrow-icon {
  width: 1.2rem;
  height: 1.2rem;
}

.transaction-modal-content {
  padding: 1.5rem;
}

.transaction-modal-header {
  margin-bottom: 2rem;
}

.payment-method-display {
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: .75rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.modal-payment-logo {
  object-fit: contain;
  border-radius: .5rem;
  width: 60px;
  height: 60px;
}

.payment-method-details {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.modal-payment-name {
  color: #fff;
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.modal-payment-type {
  color: rgba(255, 255, 255, .7);
  text-transform: capitalize;
  margin: 0;
  font-size: .9rem;
}

.transaction-form {
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: flex;
}

.form-section {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.preset-amounts {
  margin-top: .5rem;
}

.preset-label {
  color: rgba(255, 255, 255, .8);
  margin-bottom: .5rem;
  font-size: .9rem;
}

.preset-amount-btn {
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: .5rem;
  padding: .5rem 1rem;
  font-size: .9rem;
  font-weight: 500;
}

.preset-amount-btn:hover {
  border-color: var(--primary-gold);
  background: rgba(255, 215, 0, .2);
}

.fee-calculation {
  background: rgba(0, 0, 0, .3);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: .75rem;
  padding: 1rem;
}

.fee-breakdown {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.fee-item {
  justify-content: space-between;
  align-items: center;
  padding: .25rem 0;
  display: flex;
}

.fee-item.total {
  border-top: 1px solid rgba(255, 215, 0, .3);
  margin-top: .5rem;
  padding-top: .5rem;
  font-weight: 600;
}

.fee-label {
  color: rgba(255, 255, 255, .8);
  font-size: .9rem;
}

.fee-value {
  color: var(--primary-gold);
  font-weight: 500;
}

.fee-item.total .fee-value {
  font-size: 1.1rem;
  font-weight: 600;
}

.transaction-modal-actions {
  justify-content: center;
  gap: 1rem;
  display: flex;
}

.transaction-submit-btn, .transaction-cancel-btn {
  flex: 1;
}

.account-numbers-list {
  flex-direction: column;
  gap: .75rem;
  display: flex;
}

.account-number-item {
  cursor: pointer;
  background: rgba(0, 0, 0, .3);
  border: 2px solid rgba(255, 215, 0, .2);
  border-radius: .75rem;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  transition: all .3s;
  display: flex;
}

.account-number-item:hover {
  background: rgba(255, 215, 0, .1);
  border-color: rgba(255, 215, 0, .4);
}

.account-number-item.selected {
  border-color: var(--primary-gold);
  background: rgba(255, 215, 0, .15);
  box-shadow: 0 0 20px rgba(255, 215, 0, .2);
}

.account-info {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.account-number {
  color: #fff;
  font-family: Courier New, monospace;
  font-size: 1.1rem;
  font-weight: 600;
}

.account-name {
  color: rgba(255, 255, 255, .7);
  font-size: .9rem;
}

.account-actions {
  align-items: center;
  display: flex;
}

.copy-btn {
  color: var(--primary-gold);
  cursor: pointer;
  background: rgba(255, 215, 0, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  padding: .5rem;
  transition: all .3s;
  display: flex;
}

.copy-btn:hover {
  border-color: var(--primary-gold);
  background: rgba(255, 215, 0, .2);
  transform: scale(1.05);
}

.copy-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.selected-account-info {
  background: rgba(255, 215, 0, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: .5rem;
  align-items: center;
  gap: .5rem;
  margin-top: .5rem;
  padding: .75rem;
  display: flex;
}

.selected-label {
  color: rgba(255, 255, 255, .8);
  font-size: .9rem;
  font-weight: 500;
}

.selected-account {
  color: var(--primary-gold);
  font-family: Courier New, monospace;
  font-size: 1rem;
  font-weight: 600;
}

.Toastify__toast {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
  border: 1px solid rgba(255, 215, 0, .3) !important;
  border-radius: .75rem !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, .3) !important;
}

.Toastify__toast--success {
  background: linear-gradient(135deg, #1a2e1a 0%, #162e16 100%) !important;
  border-color: rgba(34, 197, 94, .4) !important;
}

.Toastify__toast--error {
  background: linear-gradient(135deg, #2e1a1a 0%, #2e1616 100%) !important;
  border-color: rgba(239, 68, 68, .4) !important;
}

.Toastify__toast--info {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%) !important;
  border-color: rgba(59, 130, 246, .4) !important;
}

.Toastify__toast--warning {
  background: linear-gradient(135deg, #2e2a1a 0%, #2e2616 100%) !important;
  border-color: rgba(245, 158, 11, .4) !important;
}

.Toastify__toast-body {
  color: #fff !important;
  font-weight: 500 !important;
}

.Toastify__progress-bar {
  background: var(--primary-gold) !important;
}

.Toastify__close-button {
  color: rgba(255, 255, 255, .7) !important;
}

.Toastify__close-button:hover {
  color: var(--primary-gold) !important;
}

.games-header {
  text-align: center;
  margin-bottom: 2rem;
}

.search-section {
  margin-bottom: 2rem;
}

.view-mode-toggle {
  margin-bottom: 1.5rem;
}

.categories-section {
  margin-bottom: .5rem;
}

.category-card {
  cursor: pointer;
  background: rgba(0, 0, 0, .3);
  border: 2px solid rgba(255, 215, 0, .2);
  border-radius: .75rem;
  flex-direction: column;
  align-items: center;
  min-width: 120px;
  padding: 1rem;
  transition: all .3s;
  display: flex;
}

.category-card:hover {
  background: rgba(255, 215, 0, .1);
  border-color: rgba(255, 215, 0, .4);
  transform: translateY(-2px);
}

.category-card.selected {
  border-color: var(--primary-gold);
  background: rgba(255, 215, 0, .15);
  box-shadow: 0 0 20px rgba(255, 215, 0, .2);
}

.category-image {
  margin-bottom: .5rem;
}

.category-img {
  border-radius: .5rem;
}

.category-name {
  color: #fff;
  text-align: center;
  font-size: .9rem;
  font-weight: 500;
}

.providers-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: grid;
}

.provider-card {
  cursor: pointer;
  text-align: center;
  background: rgba(0, 0, 0, .3);
  border: 2px solid rgba(255, 215, 0, .2);
  border-radius: .75rem;
  padding: 1.5rem;
  transition: all .3s;
}

.provider-card:hover {
  background: rgba(255, 215, 0, .1);
  border-color: rgba(255, 215, 0, .4);
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, .3);
}

.provider-image {
  margin-bottom: 1rem;
}

.provider-img {
  border-radius: .5rem;
}

.provider-info {
  color: #fff;
}

.provider-name {
  color: var(--primary-gold);
  margin-bottom: .5rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.provider-games-count {
  color: rgba(255, 255, 255, .7);
  font-size: .9rem;
}

.games-grid {
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: grid;
}

.game-card:hover {
  background: rgba(255, 215, 0, .1);
  border-color: rgba(255, 215, 0, .4);
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, .3);
}

.game-image {
  width: 100%;
  height: 150px;
  position: relative;
  overflow: hidden;
}

.game-img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.new-badge {
  background: var(--primary-green);
  color: #fff;
  border-radius: .25rem;
  padding: .25rem .5rem;
  font-size: .75rem;
  font-weight: 600;
  position: absolute;
  top: .5rem;
  right: .5rem;
}

.game-info {
  color: #fff;
  padding: .2rem;
}

.game-name {
  color: var(--primary-gold);
  margin-bottom: .5rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.game-provider {
  color: rgba(255, 255, 255, .8);
  margin-bottom: .25rem;
  font-size: .9rem;
}

.game-category {
  color: rgba(255, 255, 255, .6);
  font-size: .8rem;
}

.play-button {
  padding: 0 1rem 1rem;
}

.play-btn {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  color: #000;
  border: none;
  border-radius: .5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: .75rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
}

.play-btn:hover {
  background: linear-gradient(135deg, gold 0%, var(--primary-gold) 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.header-games-btn {
  background: linear-gradient(135deg, var(--primary-green) 0%, #1e1251 100%);
  color: #fff;
  border: none;
  border-radius: .5rem;
  padding: .5rem 1rem;
  transition: all .5s;
}

.header-games-btn:hover {
  background: linear-gradient(135deg, #22c55e 0%, var(--primary-green) 100%);
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(34, 197, 94, .3);
}

@media (max-width: 768px) {
  .cashin-header-content {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .cashin-header-left {
    flex-direction: column;
    align-items: stretch;
    gap: .75rem;
  }

  .cashin-header-right {
    align-self: stretch;
  }

  .user-balance {
    align-items: center;
  }

  .payment-methods-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: 100%;
    padding: 1rem 0;
  }

  .payment-method-card-inner {
    min-height: 80px;
    padding: 1.25rem;
  }

  .payment-method-content {
    gap: .75rem;
  }

  .payment-method-logo {
    width: 35px;
    height: 35px;
  }

  .payment-method-info {
    margin: 0 .75rem;
  }

  .payment-method-arrow {
    width: 28px;
    height: 28px;
  }

  .payment-logo-image {
    width: 100%;
    height: 100%;
  }

  .payment-method-name {
    font-size: 1.1rem;
  }

  .payment-method-type {
    font-size: .9rem;
  }

  .preset-buttons {
    justify-content: center;
  }

  .transaction-modal-actions {
    flex-direction: column;
  }

  .account-number-item {
    padding: .75rem;
  }

  .account-number {
    font-size: 1rem;
  }

  .account-name {
    font-size: .8rem;
  }

  .copy-btn {
    padding: .4rem;
  }

  .copy-icon {
    width: 1rem;
    height: 1rem;
  }

  .games-header h1 {
    font-size: 2rem;
  }

  .categories-section {
    margin-bottom: .5rem;
  }

  .category-card {
    min-width: 100px;
    padding: .75rem;
  }

  .category-name {
    font-size: .8rem;
  }

  .providers-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 1rem;
  }

  .provider-card {
    padding: 1rem;
  }

  .provider-name {
    font-size: 1rem;
  }

  .games-grid {
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
  }

  .game-image {
    height: 120px;
  }

  .game-name {
    font-size: 1rem;
  }

  .view-mode-toggle {
    margin-bottom: 1rem;
  }

  .view-mode-toggle button {
    padding: .5rem 1rem;
    font-size: .9rem;
  }
}

.header-actions, .auth-buttons {
  gap: .25rem;
}

.btn-content {
  gap: 0;
}

.btn-icon {
  font-size: 1.1rem;
}

@media (max-width: 640px) {
  .header-container {
    padding: 0 .5rem;
  }

  .header-content {
    min-height: 56px;
  }

  .logo-image-full {
    width: 80px;
    height: 40px;
  }

  .logo-icon {
    width: 2.5rem;
    height: 2.5rem;
    padding: .4rem;
  }

  .mobile-menu-btn {
    width: 40px;
    height: 40px;
  }

  .hamburger-icon {
    width: 16px;
    height: 14px;
  }
}

@media (max-width: 480px) {
  .header-left {
    gap: .5rem;
  }

  .logo-image-full {
    width: 60px;
    height: 30px;
  }

  .logo-icon {
    width: 2rem;
    height: 2rem;
    padding: .3rem;
  }

  .mobile-menu-btn {
    width: 36px;
    height: 36px;
  }

  .hamburger-icon {
    width: 14px;
    height: 12px;
  }
}

.profile-page {
  background-color: rgba(0, 0, 0, 0);
  background-image: radial-gradient(circle at 20% 20%, rgba(59, 130, 246, .15) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 80% 80%, rgba(239, 68, 68, .15) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle, rgba(147, 51, 234, .1) 0%, rgba(0, 0, 0, 0) 60%);
  background-position: 0 0;
  background-repeat: repeat;
  background-size: auto;
  background-attachment: scroll;
  background-origin: padding-box;
  background-clip: border-box;
  min-height: 100vh;
  position: relative;
}

.profile-page:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 30% 70%, rgba(59, 130, 246, .08) 0%, rgba(0, 0, 0, 0) 40%), radial-gradient(circle at 70% 30%, rgba(239, 68, 68, .08) 0%, rgba(0, 0, 0, 0) 40%), radial-gradient(circle, rgba(147, 51, 234, .06) 0%, rgba(0, 0, 0, 0) 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.profile-header {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  z-index: 50;
  background: linear-gradient(135deg, rgba(10, 10, 10, .95) 0%, rgba(26, 26, 46, .9) 50%, rgba(22, 33, 62, .95) 100%);
  border-top: 1px solid rgba(34, 197, 94, .3);
  border-bottom: 2px solid rgba(255, 215, 0, .4);
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .4), 0 0 30px rgba(59, 130, 246, .1), inset 0 1px rgba(255, 255, 255, .1);
}

.profile-header-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 1rem;
}

.profile-header-content {
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.profile-header-left {
  align-items: center;
  gap: 1.5rem;
  display: flex;
}

.profile-back-btn {
  background: linear-gradient(135deg, var(--primary-green) 0%, #1e1251 100%);
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: none;
  border-radius: .5rem;
  padding: .5rem 1rem;
  transition: all .5s;
}

.profile-back-btn:hover {
  background: rgba(255, 255, 255, .2);
}

.profile-title-section {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.profile-title {
  -webkit-text-fill-color: transparent;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8), 0 0 10px rgba(255, 215, 0, .3);
  background: linear-gradient(45deg, #3b82f6, #dc2626, #3b82f6) 0 0 / 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  font-size: 2rem;
  font-weight: 800;
}

.profile-subtitle {
  color: rgba(255, 255, 255, .7);
  margin: 0;
  font-size: .875rem;
}

.profile-header-actions {
  align-items: center;
  gap: .75rem;
  display: flex;
}

.profile-edit-btn {
  color: #fff;
  background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 50%, #dc2626 100%) 0 0 / 200% 200%;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3), 0 0 20px rgba(34, 197, 94, .2);
}

.profile-edit-btn:hover {
  background: linear-gradient(135deg, #1d4ed8 0%, #dc2626 50%, #3b82f6 100%);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4), 0 0 30px rgba(34, 197, 94, .3);
}

.profile-logout-btn {
  color: #fff;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 50%, #ef4444 100%) 0 0 / 200% 200%;
  font-weight: 600;
  box-shadow: 0 4px 15px rgba(34, 197, 94, .3), 0 0 20px rgba(220, 38, 38, .2);
}

.profile-logout-btn:hover {
  background: linear-gradient(135deg, #b91c1c 0%, #ef4444 50%, #dc2626 100%);
  box-shadow: 0 8px 25px rgba(34, 197, 94, .4), 0 0 30px rgba(220, 38, 38, .3);
}

.edit-icon, .logout-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.profile-main-content {
  width: 100%;
  max-width: 90%;
  margin: 0 auto;
  padding: 2rem 1rem;
}

.profile-content-grid {
  grid-template-columns: 1fr;
  gap: 2rem;
  width: 100%;
  max-width: none;
  display: grid;
}

@media (min-width: 768px) {
  .profile-content-grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

@media (min-width: 1024px) {
  .profile-content-grid {
    grid-template-columns: 2fr 1fr;
    gap: 3rem;
    max-width: 90%;
    margin: 0 auto;
  }
}

@media (min-width: 1280px) {
  .profile-content-grid {
    grid-template-columns: 2.5fr 1fr;
    gap: 3.5rem;
  }
}

.profile-main-section, .profile-sidebar {
  flex-direction: column;
  gap: 1.5rem;
  width: 100%;
  min-width: 0;
  display: flex;
}

.profile-card {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: rgba(0, 0, 0, .6);
  border-radius: 1rem;
  width: 100%;
  min-width: 0;
  padding: 2rem;
  position: relative;
  overflow: hidden;
}

.profile-card:before {
  content: "";
  opacity: 0;
  background: linear-gradient(90deg, #fbbf24, #f59e0b, #fbbf24);
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.profile-sidebar-card {
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  background: rgba(0, 0, 0, .6);
  border-radius: 1rem;
  width: 100%;
  min-width: 0;
  padding: 1.5rem;
  position: relative;
  overflow: hidden;
}

.profile-sidebar-card:before {
  content: "";
  opacity: 0;
  background: linear-gradient(90deg, #fbbf24, #f59e0b, #fbbf24);
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.profile-card-header {
  margin-bottom: 1.5rem;
}

.profile-card-title {
  color: #fbbf24;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0 0 .5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.profile-card-subtitle {
  color: rgba(255, 255, 255, .6);
  margin: 0;
  font-size: .875rem;
}

.profile-avatar-section {
  align-items: center;
  gap: 1.5rem;
  margin-bottom: 2rem;
  display: flex;
}

.profile-avatar {
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 5rem;
  height: 5rem;
  font-size: 2rem;
  display: flex;
  position: relative;
  box-shadow: 0 8px 25px rgba(251, 191, 36, .3);
}

.profile-avatar-icon {
  font-size: 2rem;
}

.profile-avatar-status {
  background: #10b981;
  border-radius: 50%;
  width: 1.25rem;
  height: 1.25rem;
  position: absolute;
  bottom: 0;
  right: 0;
  box-shadow: 0 0 0 3px #000;
}

.profile-user-info {
  flex: 1;
}

.profile-user-name {
  color: #fbbf24;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0 0 .5rem;
  font-size: 2rem;
  font-weight: 800;
}

.profile-user-role {
  color: rgba(255, 255, 255, .7);
  margin: 0 0 1rem;
  font-size: 1rem;
}

.profile-user-badges {
  flex-wrap: wrap;
  gap: .5rem;
  display: flex;
}

.profile-badge {
  text-transform: uppercase;
  letter-spacing: .05em;
  border-radius: 1rem;
  padding: .25rem .75rem;
  font-size: .75rem;
  font-weight: 600;
}

.profile-badge-vip {
  color: #fff;
  background: linear-gradient(135deg, #8b5cf6 0%, #7c3aed 100%);
}

.profile-badge-verified {
  color: #fff;
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
}

.profile-info-grid {
  grid-template-columns: 1fr;
  gap: 1.5rem;
  width: 100%;
  display: grid;
}

@media (min-width: 640px) {
  .profile-info-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (min-width: 1024px) {
  .profile-info-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}

.profile-info-item {
  background: rgba(255, 255, 255, .05);
  border-radius: .75rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
}

.profile-info-item:hover {
  background: rgba(255, 255, 255, .1);
}

.profile-info-icon {
  background: rgba(251, 191, 36, .1);
  border-radius: .75rem;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  font-size: 1.5rem;
  display: flex;
}

.profile-info-content {
  flex: 1;
}

.profile-info-label {
  color: rgba(255, 255, 255, .6);
  margin-bottom: .25rem;
  font-size: .875rem;
  font-weight: 500;
  display: block;
}

.profile-info-value {
  color: #fff;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.profile-stats-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  width: 100%;
  display: grid;
}

@media (min-width: 640px) {
  .profile-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

@media (min-width: 768px) {
  .profile-stats-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 1024px) {
  .profile-stats-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 1.25rem;
  }
}

.profile-stat-item {
  background: rgba(255, 255, 255, .05);
  border-radius: .75rem;
  align-items: center;
  gap: .75rem;
  padding: 1rem;
  display: flex;
}

.profile-stat-item:hover {
  background: rgba(255, 255, 255, .1);
}

.profile-stat-icon {
  background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: .5rem;
  font-size: 1.25rem;
  display: flex;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.profile-icon-image {
  object-fit: contain;
  filter: drop-shadow(0 0 4px rgba(255, 255, 255, .3));
  width: 100%;
  height: 100%;
}

.profile-stat-content {
  flex: 1;
}

.profile-stat-value {
  color: #fbbf24;
  margin: 0 0 .25rem;
  font-size: 1.25rem;
  font-weight: 700;
}

.profile-stat-label {
  color: rgba(255, 255, 255, .6);
  margin: 0;
  font-size: .75rem;
  font-weight: 500;
}

.profile-activity-list {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.profile-activity-item {
  background: rgba(255, 255, 255, .05);
  border-radius: .75rem;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  display: flex;
  position: relative;
}

.profile-activity-item:hover {
  background: rgba(255, 255, 255, .1);
}

.profile-activity-icon {
  background: linear-gradient(135deg, var(--primary-gold), var(--secondary-gold));
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: .5rem;
  font-size: 1.25rem;
  display: flex;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.profile-activity-content {
  flex: 1;
}

.profile-activity-title {
  color: #fff;
  margin: 0 0 .25rem;
  font-size: .875rem;
  font-weight: 600;
}

.profile-activity-time {
  color: rgba(255, 255, 255, .6);
  margin: 0;
  font-size: .75rem;
}

.profile-activity-status {
  border-radius: 50%;
  width: .5rem;
  height: .5rem;
}

.profile-activity-success {
  background: #10b981;
}

.profile-activity-info {
  background: #3b82f6;
}

.profile-action-list {
  flex-direction: column;
  gap: .75rem;
  width: 100%;
  display: flex;
}

.profile-action-btn {
  color: #fff;
  background: rgba(255, 255, 255, .05);
  justify-content: flex-start;
  width: 100%;
  padding: .75rem 1rem;
}

.profile-action-btn:hover {
  background: rgba(255, 255, 255, .1);
}

.action-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.profile-modal-content {
  flex-direction: column;
  gap: 1.5rem;
  display: flex;
}

.profile-form-group {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.profile-form-label {
  color: #fbbf24;
  align-items: center;
  gap: .5rem;
  font-size: .875rem;
  font-weight: 600;
  display: flex;
}

.profile-form-icon {
  width: 1rem;
  height: 1rem;
}

.profile-form-input {
  color: #fff;
  background: rgba(0, 0, 0, .5);
  border-radius: .5rem;
  width: 100%;
  padding: .75rem 1rem;
  font-size: .875rem;
}

.profile-form-input:focus {
  background: rgba(0, 0, 0, .7);
  outline: none;
  box-shadow: 0 0 0 2px rgba(251, 191, 36, .3);
}

.profile-form-input::placeholder {
  color: rgba(255, 255, 255, .4);
}

.profile-modal-actions {
  gap: 1rem;
  padding-top: 1rem;
  display: flex;
}

.profile-save-btn {
  color: #000;
  background: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);
  flex: 1;
  font-weight: 600;
}

.profile-save-btn:hover {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
  box-shadow: 0 8px 25px rgba(251, 191, 36, .4);
}

.profile-cancel-btn {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  flex: 1;
}

.profile-cancel-btn:hover {
  background: rgba(255, 255, 255, .2);
}

.profile-logout-modal {
  text-align: center;
  padding: 1rem;
}

.profile-logout-header {
  margin-bottom: 2rem;
}

.profile-logout-icon {
  margin-bottom: 1rem;
  font-size: 4rem;
}

.profile-logout-title {
  color: #fbbf24;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, .8);
  margin: 0 0 .5rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.profile-logout-subtitle {
  color: rgba(255, 255, 255, .8);
  margin: 0;
  font-size: 1rem;
}

.profile-logout-session {
  background: rgba(0, 0, 0, .5);
  border-radius: .75rem;
  margin-bottom: 2rem;
  padding: 1.5rem;
}

.profile-logout-session-header {
  color: #fbbf24;
  align-items: center;
  gap: .5rem;
  margin-bottom: 1rem;
  font-weight: 600;
  display: flex;
}

.profile-logout-session-icon {
  width: 1.25rem;
  height: 1.25rem;
}

.profile-logout-session-info {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.profile-logout-session-item {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.profile-logout-session-label {
  color: rgba(255, 255, 255, .6);
  font-size: .875rem;
}

.profile-logout-session-value {
  color: #fff;
  font-size: .875rem;
  font-weight: 600;
}

.profile-logout-actions {
  justify-content: center;
  gap: 1rem;
  display: flex;
}

.profile-logout-confirm-btn {
  color: #fff;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  padding: .75rem 1.5rem;
  font-weight: 600;
}

.profile-logout-confirm-btn:hover {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
  box-shadow: 0 8px 25px rgba(34, 197, 94, .4);
}

.profile-logout-cancel-btn {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  padding: .75rem 1.5rem;
}

.profile-logout-cancel-btn:hover {
  background: rgba(255, 255, 255, .2);
}

.categories-section {
  margin: .5rem 0;
  padding: 2rem 0;
}

.lottery-grid {
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  display: grid;
}

@media (max-width: 1200px) {
  .lottery-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
  .lottery-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.popular-games-grid {
  grid-template-columns: repeat(6, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  display: grid;
}

.categories-grid {
  opacity: 1;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  display: grid;
}

.category-card {
  text-align: center;
  cursor: pointer;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid rgba(0, 0, 0, 0);
  border-radius: 16px;
  padding: 2rem 1.5rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.category-name {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: .5rem;
  font-size: 1.2rem;
  font-weight: 700;
}

.category-description {
  color: gold;
  opacity: .8;
  margin: 0;
  font-size: .9rem;
}

.games-page {
  background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 50%, #16213e 100%);
  min-height: 100vh;
  position: relative;
}

.games-page:before {
  content: "";
  pointer-events: none;
  background: radial-gradient(circle at 20% 80%, rgba(255, 215, 0, .1) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 80% 20%, rgba(0, 255, 127, .1) 0%, rgba(0, 0, 0, 0) 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.games-header {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border-bottom: 2px solid gold;
  padding: 4rem 0 2rem;
  position: relative;
  overflow: hidden;
}

.header-background {
  background: radial-gradient(circle at 30% 70%, rgba(255, 215, 0, .2) 0%, rgba(0, 0, 0, 0) 50%), radial-gradient(circle at 70% 30%, rgba(0, 255, 127, .2) 0%, rgba(0, 0, 0, 0) 50%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.header-overlay {
  background: linear-gradient(135deg, rgba(26, 26, 46, .8) 0%, rgba(22, 33, 62, .8) 100%);
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.header-content {
  z-index: 2;
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
}

.header-nav {
  margin-bottom: 2rem;
}

.back-button {
  color: gold;
  cursor: pointer;
  background: rgba(255, 215, 0, .1);
  border: 1px solid gold;
  border-radius: 8px;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  font-weight: 600;
  transition: all .3s;
  display: inline-flex;
}

.back-button:hover {
  color: #000;
  background: gold;
  transform: translateX(-5px);
}

.back-icon {
  width: 20px;
  height: 20px;
}

.header-title {
  text-align: center;
}

.main-title {
  color: #fff;
  text-shadow: 0 0 20px rgba(255, 215, 0, .5);
  background: linear-gradient(135deg, gold 0%, #00ff7f 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  justify-content: center;
  align-items: center;
  margin-bottom: 1rem;
  font-size: 3.5rem;
  font-weight: 900;
  display: flex;
}

.main-subtitle {
  color: gold;
  opacity: .9;
  justify-content: center;
  align-items: center;
  margin: 0;
  font-size: 1.2rem;
  display: flex;
}

.games-content {
  z-index: 2;
  padding: 2rem 0;
  position: relative;
}

.content-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.search-filter-section {
  flex-direction: column;
  align-items: center;
  gap: 2rem;
  margin-bottom: .2rem;
  display: flex;
}

.search-container {
  width: 100%;
  max-width: 90%;
}

.search-box {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(26, 26, 46, .8);
  border: 2px solid gold;
  border-radius: 12px;
  padding: 1rem;
  position: relative;
}

.search-icon {
  color: gold;
  z-index: 2;
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

.search-icon svg {
  width: 20px;
  height: 20px;
}

.search-input {
  color: #fff;
  background: none;
  border: none;
  outline: none;
  width: 100%;
  padding-left: 3rem;
  font-size: 1rem;
}

.search-input::placeholder {
  color: rgba(255, 215, 0, .6);
}

.view-toggle {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(26, 26, 46, .8);
  border: 2px solid gold;
  border-radius: 12px;
  padding: .5rem;
  display: flex;
}

.toggle-btn {
  color: #fff;
  cursor: pointer;
  background: none;
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
}

.toggle-btn.active {
  color: #000;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .3);
}

.toggle-icon {
  font-size: 1.2rem;
}

.section-header {
  text-align: center;
  margin-bottom: 2rem;
}

.section-title {
  color: #fff;
  text-shadow: 0 0 15px rgba(255, 215, 0, .3);
  margin-bottom: .5rem;
  font-size: 2.5rem;
  font-weight: 800;
}

.section-description {
  color: gold;
  opacity: .9;
  margin: 0;
  font-size: 1.1rem;
}

.all-games-section {
  justify-content: center;
  margin-bottom: 1rem;
  display: flex;
}

.all-games-btn {
  cursor: pointer;
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  border: 2px solid gold;
  border-radius: 16px;
  align-items: center;
  gap: .5rem;
  padding: 1rem 2rem;
  font-weight: 700;
  transition: all .3s;
  display: flex;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.all-games-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4);
}

.all-games-btn.active {
  background: linear-gradient(135deg, #ffed4e 0%, gold 100%);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .5);
}

.all-games-icon {
  font-size: 1.5rem;
}

.all-games-text {
  margin: 0;
  font-size: 1.1rem;
}

.categories-section {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, rgba(26, 26, 46, .8) 0%, rgba(22, 33, 62, .6) 100%);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: 20px;
  margin-bottom: 2rem;
  padding: 2rem 0;
}

.categories-loading {
  color: var(--accent-gold);
  justify-content: center;
  align-items: center;
  padding: 3rem;
  font-size: 1.1rem;
  font-weight: 500;
  display: flex;
}

.categories-loading .loading-spinner {
  border: 2px solid rgba(255, 215, 0, .3);
  border-top: 2px solid var(--accent-gold);
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin-right: 1rem;
  animation: 1s linear infinite spin;
}

.category-card {
  text-align: center;
  cursor: pointer;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid rgba(0, 0, 0, 0);
  border-radius: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 120px;
  padding: 1.5rem;
  transition: all .3s;
  display: flex;
  position: relative;
  overflow: hidden;
}

.category-card:before {
  content: "";
  opacity: 0;
  z-index: -1;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.category-card:hover {
  border-color: gold;
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(255, 215, 0, .3);
}

.category-card.active {
  color: #000;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  transform: translateY(-5px);
  box-shadow: 0 15px 30px rgba(255, 215, 0, .5);
}

.category-card:hover:before {
  opacity: .1;
}

.category-icon {
  justify-content: center;
  align-items: center;
  height: 60px;
  margin-bottom: 1rem;
  font-size: 2.5rem;
  display: flex;
}

.category-image {
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 1rem;
  display: flex;
  overflow: hidden;
}

.category-name {
  color: inherit;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.providers-section {
  margin-bottom: .5rem;
}

.providers-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
  display: grid;
}

.provider-card {
  text-align: center;
  cursor: pointer;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid gold;
  border-radius: 16px;
  padding: 2rem;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.provider-card:before {
  content: "";
  opacity: 0;
  z-index: -1;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.provider-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(255, 215, 0, .3);
}

.provider-card:hover:before {
  opacity: .1;
}

.provider-image-container {
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 120px;
  height: 80px;
  margin: 0 auto 1.5rem;
  display: flex;
  position: relative;
  overflow: hidden;
}

.provider-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.hot-badge {
  color: #fff;
  text-transform: uppercase;
  background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
  border-radius: 6px;
  padding: .25rem .5rem;
  font-size: .7rem;
  font-weight: 600;
  position: absolute;
  top: -5px;
  right: -5px;
  box-shadow: 0 2px 8px rgba(255, 107, 107, .3);
}

.provider-info {
  margin-bottom: 1.5rem;
}

.provider-name {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: .5rem;
  font-size: 1.3rem;
  font-weight: 700;
}

.provider-games-count {
  color: gold;
  opacity: .8;
  margin: 0;
  font-size: .9rem;
}

.provider-button {
  width: 100%;
}

.games-section {
  margin-bottom: 3rem;
}

.games-grid {
  opacity: 0;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.5rem;
  margin-top: 2rem;
  animation: .5s ease-out forwards fadeInGrid;
  display: grid;
}

@keyframes fadeInGrid {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.game-card {
  cursor: pointer;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid #000;
  border-radius: 16px;
  transition: all .3s;
  position: relative;
  overflow: hidden;
}

.game-card:before {
  content: "";
  opacity: 0;
  z-index: 1;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  transition: opacity .3s;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.game-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 20px 40px rgba(255, 215, 0, .3);
}

.game-card:hover:before {
  opacity: .05;
}

.game-image-container {
  width: 100%;
  height: 180px;
  position: relative;
  overflow: hidden;
}

.game-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .3s;
}

.game-card:hover .game-image {
  transform: scale(1.05);
}

.game-overlay {
  opacity: 0;
  z-index: 2;
  background: linear-gradient(135deg, rgba(0, 0, 0, .7) 0%, rgba(0, 0, 0, .3) 100%);
  justify-content: center;
  align-items: center;
  transition: opacity .3s;
  display: flex;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.game-card:hover .game-overlay {
  opacity: 1;
}

.play-button {
  color: #000;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  border: none;
  border-radius: 8px;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  font-size: 1rem;
  font-weight: 700;
  transition: all .3s;
  display: flex;
}

.play-button:hover {
  background: linear-gradient(135deg, #ffed4e 0%, gold 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .4);
}

.new-badge {
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
  z-index: 3;
  background: linear-gradient(135deg, #00ff7f 0%, #00d4aa 100%);
  border-radius: 8px;
  padding: .5rem .75rem;
  font-size: .7rem;
  font-weight: 700;
  position: absolute;
  top: 1rem;
  right: 1rem;
  box-shadow: 0 2px 8px rgba(0, 255, 127, .3);
}

.game-info {
  z-index: 2;
  padding: .2rem;
  position: relative;
}

.game-name {
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: .5rem;
  font-size: 1.1rem;
  font-weight: 700;
}

.game-provider {
  color: gold;
  margin-bottom: .5rem;
  font-size: .9rem;
  font-weight: 600;
}

.game-category {
  margin-bottom: 0;
}

.category-tag {
  color: gold;
  text-transform: uppercase;
  letter-spacing: 1px;
  background: rgba(255, 215, 0, .2);
  border-radius: 6px;
  padding: .25rem .75rem;
  font-size: .8rem;
  font-weight: 600;
}

.empty-state {
  text-align: center;
  background: rgba(26, 26, 46, .5);
  border: 2px dashed gold;
  border-radius: 16px;
  margin-top: 2rem;
  padding: 4rem 2rem;
}

.empty-description {
  color: gold;
  opacity: .8;
  margin-bottom: 2rem;
  font-size: 1rem;
}

.reset-button {
  color: #000;
  cursor: pointer;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  border: none;
  border-radius: 8px;
  padding: .75rem 2rem;
  font-weight: 700;
  transition: all .3s;
}

.reset-button:hover {
  background: linear-gradient(135deg, #ffed4e 0%, gold 100%);
  transform: translateY(-2px);
  box-shadow: 0 5px 15px rgba(255, 215, 0, .4);
}

.loading-state {
  text-align: center;
  padding: 4rem 2rem;
}

.loading-spinner {
  border: 4px solid rgba(255, 215, 0, .3);
  border-top-color: gold;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  animation: 1s linear infinite spin;
}

.loading-text {
  color: gold;
  font-size: 1.1rem;
  font-weight: 600;
}

@media (max-width: 1200px) {
  .games-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .categories-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
  .games-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .categories-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .lottery-grid, .popular-games-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 768px) {
  .main-title {
    font-size: 2.5rem;
  }

  .section-title {
    font-size: 2rem;
  }

  .games-grid, .categories-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .providers-grid {
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 1.5rem;
  }

  .lottery-grid, .popular-games-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .search-filter-section {
    gap: 1.5rem;
  }

  .view-toggle {
    width: 100%;
    max-width: 100%;
  }

  .toggle-btn {
    flex: 1;
    justify-content: center;
  }

  .header-content {
    padding: 0 1rem;
  }

  .content-container {
    padding: 0 .5rem;
  }
}

@media (max-width: 480px) {
  .main-title {
    font-size: 2rem;
  }

  .games-grid, .categories-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .providers-grid {
    grid-template-columns: 1fr;
  }

  .lottery-grid, .popular-games-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .category-card {
    padding: 1rem;
  }

  .category-icon {
    height: 50px;
    font-size: 2rem;
  }

  .category-name {
    font-size: .9rem;
  }
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }

  100% {
    background-position: -200% 0;
  }
}

.search-spinner {
  justify-content: center;
  align-items: center;
  display: flex;
}

.search-spinner .spinner {
  border: 2px solid rgba(255, 215, 0, .3);
  border-top-color: gold;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  animation: 1s linear infinite spin;
}

.game-card-skeleton {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid gold;
  border-radius: 16px;
  transition: all .3s;
  overflow: hidden;
}

.skeleton-image {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  width: 100%;
  height: 180px;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-content {
  padding: 1.5rem;
}

.skeleton-title {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 4px;
  width: 80%;
  height: 20px;
  margin-bottom: .5rem;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-subtitle {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 4px;
  width: 60%;
  height: 16px;
  margin-bottom: .5rem;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-tag {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 6px;
  width: 40%;
  height: 24px;
  animation: 1.5s infinite skeleton-loading;
}

.provider-card-skeleton {
  text-align: center;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
  border: 2px solid gold;
  border-radius: 16px;
  padding: 2rem;
  transition: all .3s;
}

.skeleton-provider-image {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 12px;
  width: 120px;
  height: 80px;
  margin: 0 auto 1.5rem;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-provider-content {
  margin-bottom: 1.5rem;
}

.skeleton-provider-title {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 4px;
  width: 70%;
  height: 24px;
  margin-bottom: .5rem;
  margin-left: auto;
  margin-right: auto;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-provider-subtitle {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 4px;
  width: 50%;
  height: 16px;
  margin-bottom: 1.5rem;
  margin-left: auto;
  margin-right: auto;
  animation: 1.5s infinite skeleton-loading;
}

.skeleton-provider-button {
  background: linear-gradient(90deg, #2a2a3e 25%, #3a3a4e 50%, #2a2a3e 75%) 0 0 / 200px 100%;
  border-radius: 8px;
  width: 100%;
  height: 40px;
  animation: 1.5s infinite skeleton-loading;
}

.games-grid, .providers-grid {
  transition: opacity .3s;
}

.games-grid.filtering, .providers-grid.filtering {
  opacity: .7;
}

.wallet-page {
  background: var(--casino-bg);
  min-height: 100vh;
  color: var(--text-primary);
}

.wallet-content {
  padding: 2rem 0;
}

.wallet-header {
  margin-bottom: 2rem;
}

.wallet-header-content {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.wallet-title-section {
  flex: 1;
}

.wallet-title {
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-bottom: .5rem;
  font-size: 2.5rem;
  font-weight: bold;
}

.wallet-subtitle {
  color: var(--text-secondary);
  margin: 0 0 .5rem;
  font-size: 1.1rem;
}

.wallet-stats {
  margin-top: .5rem;
}

.wallet-count {
  color: var(--accent-gold);
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  border-radius: 8px;
  margin-right: .5rem;
  padding: .25rem .75rem;
  font-size: .9rem;
  font-weight: 600;
  display: inline-block;
}

.wallet-limit-reached {
  color: var(--accent-red);
  background: var(--card-bg);
  border: 1px solid var(--accent-red);
  border-radius: 8px;
  padding: .25rem .75rem;
  font-size: .8rem;
  font-weight: 500;
  display: inline-block;
}

.add-wallet-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--border-gold);
  color: var(--text-dark);
  border-radius: 12px;
  padding: .75rem 1.5rem;
  font-weight: bold;
  transition: all .3s;
}

.add-wallet-btn:hover:not(:disabled) {
  box-shadow: 0 8px 25px var(--shadow-gold);
  transform: translateY(-2px);
}

.add-wallet-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  background: var(--card-bg-secondary);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
}

.wallets-loading {
  text-align: center;
  padding: 4rem 0;
}

.wallets-grid {
  grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
  gap: 1.5rem;
  margin-top: 2rem;
  display: grid;
}

.wallet-card {
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  border-radius: 16px;
  padding: 1.5rem;
  transition: all .3s;
}

.wallet-card:hover {
  box-shadow: 0 12px 30px var(--shadow-gold);
  border-color: var(--accent-gold);
  transform: translateY(-4px);
}

.wallet-card-header {
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.5rem;
  display: flex;
}

.wallet-payment-info {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.wallet-payment-logo {
  background: var(--card-bg-secondary);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
  overflow: hidden;
}

.wallet-payment-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.wallet-payment-details {
  flex: 1;
}

.wallet-payment-name {
  color: var(--text-primary);
  margin: 0 0 .25rem;
  font-size: 1.2rem;
  font-weight: bold;
}

.wallet-payment-type {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
}

.wallet-status {
  align-items: center;
  display: flex;
}

.wallet-status-badge {
  text-transform: uppercase;
  border-radius: 20px;
  padding: .25rem .75rem;
  font-size: .8rem;
  font-weight: bold;
}

.wallet-status-active {
  background: var(--gradient-green);
  color: var(--text-dark);
}

.wallet-account-info {
  margin-bottom: 1.5rem;
}

.wallet-account-item {
  margin-bottom: 1rem;
}

.wallet-account-item:last-child {
  margin-bottom: 0;
}

.wallet-account-label {
  color: var(--text-secondary);
  margin-bottom: .5rem;
  font-size: .9rem;
  font-weight: 500;
  display: block;
}

.wallet-account-value {
  color: var(--text-primary);
  word-break: break-all;
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.wallet-card-footer {
  border-top: 1px solid var(--border-gold);
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  display: flex;
}

.wallet-date {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.wallet-date-label {
  color: var(--text-secondary);
  font-size: .8rem;
}

.wallet-date-value {
  color: var(--text-primary);
  font-size: .9rem;
  font-weight: 500;
}

.wallet-copy-btn {
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  background: none;
  border-radius: 8px;
  padding: .5rem 1rem;
  font-size: .9rem;
  transition: all .3s;
}

.wallet-copy-btn:hover {
  background: var(--gradient-gold);
  color: var(--text-dark);
  transform: translateY(-1px);
}

.wallet-empty-state {
  justify-content: center;
  align-items: center;
  min-height: 400px;
  display: flex;
}

.wallet-modal-content {
  padding: 1rem;
}

.payment-methods-selection {
  margin-bottom: 2rem;
}

.modal-section-header {
  text-align: center;
  margin-bottom: 2rem;
}

.modal-section-title {
  color: var(--text-primary);
  margin-bottom: .5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.modal-section-description {
  color: var(--text-secondary);
  margin: 0;
}

.payment-methods-grid {
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 1rem;
  display: grid;
}

.payment-method-card {
  background: var(--card-bg);
  border: 2px solid var(--border-gold);
  text-align: center;
  cursor: pointer;
  border-radius: 12px;
  padding: 1.5rem;
  transition: all .3s;
}

.payment-method-card:hover {
  box-shadow: 0 8px 25px var(--shadow-gold);
  border-color: var(--accent-gold);
  transform: translateY(-2px);
}

.payment-method-image {
  background: var(--card-bg-secondary);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 60px;
  height: 60px;
  margin: 0 auto 1rem;
  display: flex;
  overflow: hidden;
}

.payment-method-logo {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.payment-method-name {
  color: var(--text-primary);
  margin: 0 0 .5rem;
  font-size: 1.1rem;
  font-weight: bold;
}

.payment-method-status {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
}

.wallet-form-section {
  margin-bottom: 2rem;
}

.selected-payment-method {
  background: var(--card-bg);
  border: 2px solid var(--border-gold);
  border-radius: 16px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 2rem;
  padding: 1.25rem;
  transition: all .3s;
  display: flex;
  box-shadow: 0 4px 16px rgba(0, 0, 0, .1);
}

.selected-payment-method:hover {
  border-color: var(--accent-gold);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .1);
}

.selected-payment-info {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.selected-payment-info .selected-payment-logo {
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.selected-payment-logo {
  border-radius: 8px;
  width: 40px;
  height: 40px;
  overflow: hidden;
}

.selected-payment-name {
  color: var(--text-primary);
  font-size: 1.1rem;
  font-weight: bold;
}

.change-payment-btn {
  border: 2px solid var(--border-gold);
  color: var(--accent-gold);
  background: none;
  border-radius: 10px;
  padding: .625rem 1.25rem;
  font-size: .875rem;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.change-payment-btn:hover {
  background: var(--gradient-gold);
  color: var(--text-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .2);
}

.wallet-form {
  margin-bottom: 2rem;
}

.wallet-form .form-group {
  margin-bottom: 1.5rem;
}

.wallet-form .form-group:last-child {
  margin-bottom: 0;
}

.wallet-form .form-label {
  color: var(--accent-gold);
  align-items: center;
  gap: .5rem;
  margin-bottom: .5rem;
  font-size: .9rem;
  font-weight: 600;
  display: flex;
}

.wallet-form .form-input {
  background: var(--card-bg);
  border: 2px solid var(--border-gold);
  width: 100%;
  color: var(--text-primary);
  border-radius: 12px;
  padding: .875rem 1rem;
  font-size: 1rem;
  transition: all .3s;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.wallet-form .form-input:focus {
  border-color: var(--accent-gold);
  background: var(--card-bg-secondary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, .2);
}

.wallet-form .form-input::placeholder {
  color: var(--text-secondary);
  font-style: italic;
}

.wallet-form .form-input:hover {
  border-color: var(--accent-gold);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .1);
}

.wallet-form .form-input[readonly] {
  background: var(--card-bg-secondary);
  border-color: var(--border-secondary);
  color: var(--text-secondary);
  cursor: not-allowed;
}

.wallet-form .form-input[readonly]:focus {
  border-color: var(--border-secondary);
  box-shadow: none;
  background: var(--card-bg-secondary);
}

.form-icon {
  width: .875rem;
  height: .875rem;
  color: var(--accent-gold);
  margin-right: .5rem;
}

.wallet-modal-actions {
  border-top: 1px solid var(--border-secondary);
  justify-content: center;
  gap: 1.5rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  display: flex;
}

.wallet-submit-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--border-gold);
  color: var(--text-dark);
  border-radius: 14px;
  padding: .875rem 2.5rem;
  font-size: 1rem;
  font-weight: 700;
  transition: all .3s;
  box-shadow: 0 4px 16px rgba(255, 215, 0, .2);
}

.wallet-submit-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, gold, #ffed4e);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .3);
}

.wallet-submit-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.wallet-cancel-btn {
  border: 2px solid var(--border-secondary);
  color: var(--text-secondary);
  background: none;
  border-radius: 14px;
  padding: .875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  transition: all .3s;
}

.wallet-cancel-btn:hover:not(:disabled) {
  background: var(--card-bg-secondary);
  border-color: var(--accent-gold);
  color: var(--accent-gold);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .1);
}

.wallet-cancel-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
}

.btn-transparent {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  transition: all .3s;
  color: var(--accent-gold) !important;
  background: rgba(255, 255, 255, .1) !important;
  border: 2px solid rgba(255, 215, 0, .3) !important;
}

.btn-transparent:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .3);
  border-color: var(--accent-gold) !important;
  color: var(--text-primary) !important;
  background: rgba(255, 215, 0, .2) !important;
}

.btn-transparent:active {
  transform: translateY(0);
  box-shadow: 0 4px 15px rgba(255, 215, 0, .2);
}

.btn-transparent .btn-icon {
  color: var(--accent-gold);
  transition: color .3s;
}

.btn-transparent:hover .btn-icon {
  color: var(--text-primary);
}

.language-switcher {
  display: inline-block;
  position: relative;
}

.language-btn {
  border: 2px solid var(--border-gold);
  color: var(--accent-gold);
  cursor: pointer;
  background: rgba(255, 215, 0, .1);
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  min-width: 120px;
  padding: .75rem 1rem;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .1);
}

.language-btn:hover {
  background: var(--gradient-gold);
  color: var(--text-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .2);
}

.language-flag {
  font-size: 1.2rem;
  line-height: 1;
}

.language-name {
  font-size: .9rem;
  font-weight: 600;
}

.language-arrow {
  color: currentColor;
  transition: transform .3s;
}

.language-arrow.open {
  transform: rotate(180deg);
}

.language-dropdown {
  background: var(--card-bg);
  border: 2px solid var(--border-gold);
  z-index: 1000;
  border-radius: 12px;
  margin-top: .5rem;
  animation: .3s dropdownFadeIn;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  overflow: hidden;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .3);
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.language-option {
  width: 100%;
  color: var(--text-primary);
  cursor: pointer;
  text-align: left;
  background: none;
  border: none;
  align-items: center;
  gap: .75rem;
  padding: .875rem 1rem;
  font-size: .9rem;
  font-weight: 500;
  transition: all .3s;
  display: flex;
  position: relative;
}

.language-option:hover {
  background: var(--card-bg-secondary);
  color: var(--accent-gold);
}

.language-option.active {
  color: var(--accent-gold);
  background: rgba(255, 215, 0, .1);
  font-weight: 600;
}

.language-option .check-icon {
  color: var(--accent-gold);
  opacity: .8;
  margin-left: auto;
}

.language-option.active .check-icon {
  opacity: 1;
}

.goog-te-banner-frame {
  display: none !important;
}

.goog-te-gadget {
  font-family: inherit !important;
}

.goog-te-gadget .goog-te-combo {
  background: var(--card-bg) !important;
  border: 2px solid var(--border-gold) !important;
  color: var(--text-primary) !important;
  border-radius: 8px !important;
  padding: .5rem !important;
  font-size: .9rem !important;
}

.goog-te-gadget .goog-te-combo:focus {
  border-color: var(--accent-gold) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, .2) !important;
}

@media (max-width: 768px) {
  .wallet-header-content {
    text-align: center;
    flex-direction: column;
    align-items: stretch;
  }

  .wallet-title {
    font-size: 2rem;
  }

  .wallets-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .wallet-card {
    padding: 1rem;
  }

  .wallet-card-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .wallet-payment-info {
    justify-content: center;
  }

  .wallet-card-footer {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .payment-methods-grid {
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  }

  .wallet-modal-actions {
    flex-direction: column;
  }
}

.cashout-page {
  background: var(--casino-bg);
  min-height: 100vh;
  color: var(--text-primary);
}

.cashout-content {
  padding: 2rem 0;
}

.cashout-header {
  margin-bottom: 2rem;
}

.cashout-header-content {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.cashout-title-section {
  flex: 1;
}

.cashout-title {
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin-bottom: .5rem;
  font-size: 2.5rem;
  font-weight: bold;
}

.cashout-subtitle {
  color: var(--text-secondary);
  margin: 0;
  font-size: 1.1rem;
}

.cashout-balance {
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  text-align: center;
  border-radius: 12px;
  padding: 1rem 1.5rem;
}

.balance-info {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.balance-label {
  color: var(--text-secondary);
  font-size: .9rem;
  font-weight: 500;
}

.wallet-cashout-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--border-gold);
  color: var(--text-dark);
  border-radius: 8px;
  padding: .5rem 1rem;
  font-weight: bold;
  transition: all .3s;
}

.wallet-cashout-btn:hover {
  box-shadow: 0 4px 15px var(--shadow-gold);
  transform: translateY(-1px);
}

.cashout-modal-container {
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  border: 2px solid rgba(0, 0, 0, 0);
  border-radius: 24px;
  padding: 0;
  position: relative;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, .8), 0 0 0 1px rgba(255, 215, 0, .1), inset 0 1px rgba(255, 255, 255, .1);
}

.cashout-modal-container:before {
  content: "";
  pointer-events: none;
  background: linear-gradient(135deg, rgba(255, 215, 0, .1) 0%, rgba(255, 255, 255, .05) 50%, rgba(255, 215, 0, .1) 100%);
  border-radius: 24px;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.cashout-modal-header {
  z-index: 1;
  align-items: center;
  padding: 2rem 2rem 1rem;
  display: flex;
  position: relative;
}

.cashout-modal-icon-container {
  margin-right: 1rem;
  position: relative;
}

.cashout-modal-icon {
  filter: drop-shadow(0 0 10px rgba(255, 215, 0, .5));
  font-size: 2.5rem;
  animation: 2s ease-in-out infinite alternate pulse-glow;
}

.cashout-modal-icon-glow {
  background: radial-gradient(circle, rgba(255, 215, 0, .3) 0%, rgba(0, 0, 0, 0) 70%);
  border-radius: 50%;
  width: 60px;
  height: 60px;
  animation: 2s ease-in-out infinite alternate pulse-glow;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.cashout-modal-title-section {
  flex: 1;
}

.cashout-modal-title {
  background: linear-gradient(135deg, gold 0%, #ffed4e 50%, gold 100%);
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0 20px rgba(255, 215, 0, .3);
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0 0 .25rem;
  font-size: 1.5rem;
  font-weight: 700;
}

.cashout-modal-subtitle {
  color: rgba(255, 255, 255, .7);
  margin: 0;
  font-size: .9rem;
  font-weight: 400;
}

.cashout-modal-close {
  color: rgba(255, 255, 255, .7);
  cursor: pointer;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 12px;
  padding: .5rem;
  transition: all .3s;
}

.cashout-modal-close:hover {
  color: #fff;
  background: rgba(255, 255, 255, .2);
  transform: scale(1.05);
}

.cashout-wallet-info {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  z-index: 1;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: 16px;
  margin: 0 2rem 1.5rem;
  padding: 1.5rem;
  position: relative;
}

.cashout-wallet-header {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.cashout-wallet-logo {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
  overflow: hidden;
}

.cashout-wallet-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.cashout-wallet-details {
  flex: 1;
}

.cashout-wallet-name {
  color: gold;
  margin: 0 0 .25rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.cashout-wallet-account {
  color: rgba(255, 255, 255, .8);
  margin: 0 0 .125rem;
  font-size: .9rem;
  font-weight: 500;
}

.cashout-wallet-number {
  color: rgba(255, 255, 255, .6);
  letter-spacing: .5px;
  margin: 0;
  font-family: Courier New, monospace;
  font-size: .8rem;
}

.cashout-form-section {
  z-index: 1;
  padding: 0 2rem 1.5rem;
  position: relative;
}

.cashout-form-group {
  margin-bottom: 1.5rem;
}

.cashout-form-label {
  color: rgba(255, 255, 255, .9);
  align-items: center;
  gap: .5rem;
  margin-bottom: .75rem;
  font-size: .9rem;
  font-weight: 600;
  display: flex;
}

.cashout-form-label-icon {
  color: gold;
  width: 20px;
  height: 20px;
}

.cashout-form-input-container {
  align-items: center;
  display: flex;
  position: relative;
}

.cashout-form-currency {
  color: gold;
  z-index: 2;
  pointer-events: none;
  font-size: 1.1rem;
  font-weight: 600;
  position: absolute;
  left: 1rem;
}

.cashout-form-input {
  color: #fff;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .05);
  border: 2px solid rgba(255, 215, 0, .3);
  border-radius: 12px;
  width: 100%;
  padding: 1rem 1rem 1rem 2.5rem;
  font-size: 1.1rem;
  font-weight: 500;
  transition: all .3s;
}

.cashout-form-input:focus {
  background: rgba(255, 255, 255, .08);
  border-color: gold;
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, .1);
}

.cashout-form-input::placeholder {
  color: rgba(255, 255, 255, .4);
}

.cashout-form-input-container.error .cashout-form-input {
  background: rgba(255, 71, 87, .05);
  border-color: #ff4757;
  box-shadow: 0 0 0 3px rgba(255, 71, 87, .1);
}

.cashout-form-input-container.success .cashout-form-input {
  background: rgba(46, 213, 115, .05);
  border-color: #2ed573;
  box-shadow: 0 0 0 3px rgba(46, 213, 115, .1);
}

.cashout-form-error-icon, .cashout-form-success-icon {
  pointer-events: none;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 1rem;
}

.cashout-form-error-icon {
  color: #ff4757;
  animation: .5s ease-in-out shake;
}

.cashout-form-success-icon {
  color: #2ed573;
  animation: .6s ease-in-out success-pulse;
}

.cashout-form-error-message {
  color: #ff4757;
  align-items: center;
  gap: .25rem;
  margin-top: .5rem;
  font-size: .8rem;
  animation: .3s ease-out slide-down;
  display: flex;
}

.cashout-form-error-message:before {
  content: "⚠";
  font-size: .7rem;
}

.cashout-form-input-icon {
  color: rgba(255, 255, 255, .5);
  pointer-events: none;
  width: 20px;
  height: 20px;
  position: absolute;
  right: 1rem;
}

.cashout-form-hint {
  color: rgba(255, 255, 255, .6);
  margin-top: .5rem;
  font-size: .8rem;
}

.cashout-balance-amount {
  color: gold;
  font-weight: 600;
}

.cashout-modal-actions {
  z-index: 1;
  gap: 1rem;
  padding: 0 2rem 2rem;
  display: flex;
  position: relative;
}

.cashout-cancel-btn {
  color: rgba(255, 255, 255, .8);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .05);
  border: 2px solid rgba(255, 255, 255, .2);
  flex: 1;
}

.cashout-cancel-btn:hover {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border-color: rgba(255, 255, 255, .4);
}

.cashout-submit-btn {
  color: #1a1a2e;
  background: linear-gradient(135deg, gold 0%, #ffed4e 50%, gold 100%);
  border: 2px solid gold;
  flex: 2;
  font-weight: 700;
  position: relative;
  overflow: hidden;
}

.cashout-submit-btn:before {
  content: "";
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 255, 255, .3), rgba(0, 0, 0, 0));
  width: 100%;
  height: 100%;
  transition: left .5s;
  position: absolute;
  top: 0;
  left: -100%;
}

.cashout-submit-btn:hover:before {
  left: 100%;
}

.cashout-submit-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .4);
}

.cashout-submit-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

.cashout-security-notice {
  z-index: 1;
  background: rgba(0, 255, 0, .05);
  border-top: 1px solid rgba(0, 255, 0, .2);
  align-items: center;
  gap: .75rem;
  padding: 1rem 2rem 2rem;
  display: flex;
  position: relative;
}

.cashout-security-icon {
  filter: drop-shadow(0 0 5px rgba(0, 255, 0, .5));
  font-size: 1.2rem;
}

.cashout-security-text {
  color: rgba(0, 255, 0, .8);
  margin: 0;
  font-size: .85rem;
  font-weight: 500;
}

@keyframes pulse-glow {
  0% {
    opacity: .8;
    transform: translate(-50%, -50%)scale(1);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%)scale(1.1);
  }
}

@keyframes modal-enter {
  0% {
    opacity: 0;
    transform: scale(.9)translateY(20px);
  }

  100% {
    opacity: 1;
    transform: scale(1)translateY(0);
  }
}

@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }

  25% {
    transform: translateX(-5px);
  }

  75% {
    transform: translateX(5px);
  }
}

@keyframes success-pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.2);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes slide-down {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-modal-enter {
  animation: .5s ease-out modal-enter;
}

@media (max-width: 768px) {
  .cashout-header-content {
    text-align: center;
    flex-direction: column;
    align-items: stretch;
  }

  .cashout-title {
    font-size: 2rem;
  }

  .cashout-balance {
    margin-top: 1rem;
  }

  .cashout-modal-container {
    border-radius: 20px;
    margin: 1rem;
  }

  .cashout-modal-header {
    padding: 1.5rem 1.5rem 1rem;
  }

  .cashout-wallet-info {
    margin: 0 1.5rem 1.5rem;
    padding: 1rem;
  }

  .cashout-form-section {
    padding: 0 1.5rem 1.5rem;
  }

  .cashout-modal-actions {
    flex-direction: column;
    padding: 0 1.5rem 1.5rem;
  }

  .cashout-security-notice {
    padding: 1rem 1.5rem 1.5rem;
  }
}

.history-page {
  background: var(--casino-bg);
  min-height: 100vh;
  color: var(--text-primary);
}

.history-header {
  border-bottom: 2px solid var(--border-gold);
  z-index: 10;
  background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
  padding: 1.5rem 0;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.history-header-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.history-header-content {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  display: flex;
}

.history-header-left {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.history-title-section {
  flex: 1;
}

.history-title {
  background: var(--gradient-gold);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0 0 .25rem;
  font-size: 2rem;
  font-weight: bold;
}

.history-subtitle {
  color: var(--text-secondary);
  margin: 0;
  font-size: 1rem;
}

.history-header-right, .history-header-actions {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.history-btn {
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, .1);
}

.history-btn:hover {
  border-color: var(--accent-gold);
  background: rgba(255, 215, 0, .1);
  transform: translateY(-1px);
}

.history-main-content {
  padding: 2rem 0;
}

.history-content-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.history-summary {
  margin-bottom: 2rem;
}

.summary-card {
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  border-radius: 12px;
  flex-wrap: wrap;
  gap: 2rem;
  padding: 1.5rem;
  display: flex;
}

.summary-item {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.summary-label {
  color: var(--text-secondary);
  font-size: .9rem;
  font-weight: 500;
}

.summary-value {
  color: var(--primary-gold);
  font-size: 1.25rem;
  font-weight: bold;
}

.transactions-section {
  margin-bottom: 2rem;
}

.section-title {
  color: var(--text-primary);
  margin-bottom: 1.5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.transactions-list {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.transaction-card {
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  border-radius: 12px;
  padding: 1.5rem;
  transition: all .3s;
}

.transaction-card:hover {
  border-color: var(--accent-gold);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .1);
}

.transaction-content {
  flex-direction: column;
  gap: 1rem;
  display: flex;
}

.transaction-header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  display: flex;
}

.transaction-payment-info {
  align-items: center;
  gap: 1rem;
  display: flex;
}

.transaction-payment-logo {
  border: 1px solid var(--border-gold);
  background: rgba(255, 255, 255, .1);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  display: flex;
  overflow: hidden;
}

.payment-logo-image {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.transaction-payment-details {
  flex: 1;
}

.transaction-payment-name {
  color: var(--primary-gold);
  margin: 0 0 .25rem;
  font-size: 1.1rem;
  font-weight: 600;
}

.transaction-payment-type {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
}

.transaction-status {
  align-items: center;
  display: flex;
}

.status-badge {
  text-transform: uppercase;
  letter-spacing: .5px;
  border-radius: 20px;
  padding: .25rem .75rem;
  font-size: .8rem;
  font-weight: 600;
}

.status-pending {
  color: #ffc107;
  background: rgba(255, 193, 7, .2);
  border: 1px solid rgba(255, 193, 7, .3);
}

.status-approved {
  color: #28a745;
  background: rgba(40, 167, 69, .2);
  border: 1px solid rgba(40, 167, 69, .3);
}

.status-rejected {
  color: #dc3545;
  background: rgba(220, 53, 69, .2);
  border: 1px solid rgba(220, 53, 69, .3);
}

.status-processing {
  color: #007bff;
  background: rgba(0, 123, 255, .2);
  border: 1px solid rgba(0, 123, 255, .3);
}

.status-unknown {
  color: #6c757d;
  background: rgba(108, 117, 125, .2);
  border: 1px solid rgba(108, 117, 125, .3);
}

.transaction-details {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 1rem;
  display: grid;
}

.transaction-amount, .transaction-balance, .transaction-id, .transaction-voucher, .transaction-phone, .transaction-date {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.amount-label, .balance-label, .id-label, .voucher-label, .phone-label, .date-label {
  color: var(--text-secondary);
  font-size: .8rem;
  font-weight: 500;
}

.amount-value {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: bold;
}

.balance-value {
  color: var(--text-primary);
  font-size: .9rem;
  font-weight: 600;
}

.id-value, .voucher-value, .phone-value, .date-value {
  color: var(--text-primary);
  font-family: Courier New, monospace;
  font-size: .9rem;
}

.filters-section {
  background: var(--card-bg);
  border-bottom: 1px solid var(--border-gold);
  padding: 1.5rem 0;
}

.filters-container {
  max-width: 90%;
  margin: 0 auto;
  padding: 0 1rem;
}

.filters-header {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.5rem;
  display: flex;
}

.filters-title-section {
  flex-direction: column;
  gap: .25rem;
  display: flex;
}

.filters-title {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.25rem;
  font-weight: bold;
}

.filters-subtitle {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
  font-weight: 500;
}

.filters-close-btn {
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  background: rgba(255, 255, 255, .1);
  border-radius: 8px;
  padding: .5rem;
}

.filters-close-btn:hover {
  border-color: var(--accent-gold);
  background: rgba(255, 215, 0, .1);
}

.filters-content {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  align-items: end;
  gap: 1.5rem;
  display: grid;
}

.filter-group {
  flex-direction: column;
  gap: .5rem;
  display: flex;
}

.filter-label {
  color: var(--text-primary);
  font-size: .9rem;
  font-weight: 600;
}

.filter-input {
  border: 2px solid var(--border-gold);
  color: var(--text-primary);
  background: rgba(255, 255, 255, .05);
  border-radius: 8px;
  padding: .75rem;
  font-size: .9rem;
  transition: all .3s;
}

.filter-input:focus {
  border-color: var(--accent-gold);
  background: rgba(255, 255, 255, .08);
  outline: none;
  box-shadow: 0 0 0 3px rgba(255, 215, 0, .1);
}

.filter-input::placeholder {
  color: rgba(255, 255, 255, .4);
}

.filter-presets {
  grid-column: 1 / -1;
  margin-bottom: 1rem;
}

.preset-buttons {
  flex-wrap: wrap;
  gap: .75rem;
  display: flex;
}

.preset-btn {
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  background: rgba(255, 255, 255, .05);
  border-radius: 6px;
  padding: .5rem 1rem;
  font-size: .85rem;
  transition: all .3s;
}

.preset-btn:hover {
  border-color: var(--accent-gold);
  background: rgba(255, 215, 0, .1);
  transform: translateY(-1px);
}

.filter-actions {
  align-items: end;
  gap: 1rem;
  display: flex;
}

.apply-filters-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--border-gold);
  color: var(--text-dark);
  font-weight: bold;
}

.apply-filters-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.clear-filters-btn {
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  background: rgba(255, 255, 255, .05);
}

.clear-filters-btn:hover {
  border-color: var(--accent-gold);
  background: rgba(255, 255, 255, .1);
}

.pagination {
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  margin-top: 2rem;
  display: flex;
}

.pagination-info {
  color: var(--text-secondary);
  text-align: center;
  font-size: .9rem;
  font-weight: 500;
}

.pagination-controls {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  display: flex;
}

.pagination-ellipsis {
  color: var(--text-secondary);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  padding: 0 .5rem;
  font-size: .9rem;
  font-weight: bold;
}

.pagination-btn {
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  color: var(--text-primary);
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-width: 40px;
  height: 40px;
  font-size: .9rem;
  font-weight: 500;
  transition: all .3s;
  display: flex;
}

.pagination-btn:hover:not(:disabled) {
  background: var(--accent-gold);
  color: var(--text-dark);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .2);
}

.pagination-btn[data-variant="casino"] {
  background: var(--gradient-gold);
  border-color: var(--accent-gold);
  color: var(--text-dark);
  font-weight: bold;
}

.empty-state {
  text-align: center;
  padding: 4rem 2rem;
}

.empty-icon {
  opacity: .7;
  margin-bottom: 1rem;
  font-size: 4rem;
}

.empty-title {
  color: var(--text-primary);
  margin-bottom: .5rem;
  font-size: 1.5rem;
  font-weight: bold;
}

.empty-description {
  color: var(--text-secondary);
  max-width: 100%;
  margin-bottom: 2rem;
  margin-left: auto;
  margin-right: auto;
}

.empty-action-btn {
  background: var(--gradient-gold);
  border: 2px solid var(--border-gold);
  color: var(--text-dark);
  font-weight: bold;
}

.empty-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .3);
}

@media (max-width: 768px) {
  .history-header-content {
    text-align: center;
    flex-direction: column;
    align-items: stretch;
  }

  .history-title {
    font-size: 1.5rem;
  }

  .history-header-actions {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1rem;
  }

  .filter-toggle-btn {
    justify-content: center;
    width: 100%;
  }

  .filters-content {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .filter-actions {
    flex-direction: column;
    gap: .75rem;
  }

  .apply-filters-btn, .clear-filters-btn {
    width: 100%;
  }

  .summary-card {
    flex-direction: column;
    gap: 1rem;
  }

  .transaction-header {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .transaction-details {
    grid-template-columns: 1fr;
  }

  .pagination {
    flex-direction: column;
    gap: .5rem;
  }

  .pagination-controls {
    flex-wrap: wrap;
    gap: .25rem;
  }

  .pagination-numbers {
    margin: .25rem 0;
  }

  .pagination-btn {
    min-width: 35px;
    height: 35px;
    font-size: .8rem;
  }
}

.pagination-section {
  text-align: center;
  opacity: 0;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 215, 0, .2);
  border-radius: 16px;
  margin-top: 2rem;
  padding: 1.5rem;
  animation: .5s ease-out forwards fadeInUp;
  position: relative;
  overflow: hidden;
  transform: translateY(20px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, .1);
}

.pagination-section:before {
  content: "";
  opacity: .8;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0), rgba(255, 215, 0, .6), rgba(0, 0, 0, 0));
  height: 2px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}

.pagination-controls {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  margin-top: 1rem;
  display: flex;
}

.pagination-numbers {
  align-items: center;
  gap: .5rem;
  margin: 0 1rem;
  display: flex;
}

.pagination-number-btn {
  border-radius: 8px;
  min-width: 40px;
  height: 40px;
  padding: 0;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
}

.pagination-number-btn.active {
  color: #000;
  background: linear-gradient(135deg, gold 0%, #ffed4e 100%);
  border-color: gold;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.pagination-btn {
  border-radius: 8px;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.5rem;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
  display: flex;
}

.pagination-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.pagination-btn:not(:disabled):hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.load-more-section {
  text-align: center;
  background: var(--card-bg);
  border: 1px solid var(--border-gold);
  opacity: 0;
  border-radius: 16px;
  margin-top: 2rem;
  padding: 1.5rem;
  animation: .5s ease-out forwards fadeInUp;
  transform: translateY(20px);
  box-shadow: 0 4px 15px rgba(0, 0, 0, .1);
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.pagination-info {
  margin-bottom: 1rem;
}

.pagination-text {
  color: var(--text-primary);
  margin-bottom: .5rem;
  font-size: 1rem;
  font-weight: 500;
}

.pagination-hint {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
  font-style: italic;
}

.loading-more {
  opacity: 0;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  transition: all .3s;
  display: flex;
  transform: translateY(20px);
}

.loading-more.smooth-loading {
  opacity: 1;
  transform: translateY(0);
}

.loading-more .loading-spinner {
  border: 3px solid var(--border-gold);
  border-top: 3px solid var(--accent-gold);
  border-radius: 50%;
  width: 32px;
  height: 32px;
  animation: 1s linear infinite spin;
}

.loading-more .loading-text {
  color: var(--text-secondary);
  margin: 0;
  font-size: .9rem;
}

.end-of-games {
  background: linear-gradient(135deg, var(--accent-gold), #f4d03f);
  border-radius: 12px;
  margin-top: 1rem;
  padding: 1rem;
}

.end-text {
  color: var(--text-dark);
  text-shadow: 0 1px 2px rgba(0, 0, 0, .1);
  margin: 0;
  font-size: 1rem;
  font-weight: 600;
}

.load-more-actions {
  margin-top: 1rem;
}

.load-more-btn {
  border-radius: 12px;
  padding: .875rem 2rem;
  font-size: 1rem;
  font-weight: 600;
  transition: all .3s;
  box-shadow: 0 4px 15px rgba(255, 215, 0, .3);
}

.load-more-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4);
}

.loading-prepare {
  opacity: 0;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  animation: .3s ease-out forwards fadeInUp;
  display: flex;
  transform: translateY(10px);
}

.loading-dots {
  gap: .5rem;
  display: flex;
}

.loading-dots span {
  background: var(--accent-gold);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 1.4s ease-in-out infinite both loadingDots;
}

.loading-dots span:first-child {
  animation-delay: -.32s;
}

.loading-dots span:nth-child(2) {
  animation-delay: -.16s;
}

.loading-dots span:nth-child(3) {
  animation-delay: 0s;
}

@keyframes loadingDots {
  0%, 80%, 100% {
    opacity: .5;
    transform: scale(0);
  }

  40% {
    opacity: 1;
    transform: scale(1);
  }
}

.loading-state {
  text-align: center;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 3rem;
  display: flex;
}

.loading-state .loading-spinner {
  border: 4px solid var(--border-gold);
  border-top: 4px solid var(--accent-gold);
  border-radius: 50%;
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  animation: 1s linear infinite spin;
}

.loading-state .loading-text {
  color: var(--text-primary);
  margin: 0;
  font-size: 1.1rem;
  font-weight: 500;
}

@keyframes scrollLoad {
  0% {
    opacity: 0;
    transform: translateY(30px)scale(.95);
  }

  50% {
    opacity: .7;
    transform: translateY(15px)scale(.98);
  }

  100% {
    opacity: 1;
    transform: translateY(0)scale(1);
  }
}

.game-card {
  animation: .6s cubic-bezier(.4, 0, .2, 1) both scrollLoad;
}

.game-card:first-child {
  animation-delay: 0s;
}

.game-card:nth-child(2) {
  animation-delay: 50ms;
}

.game-card:nth-child(3) {
  animation-delay: .1s;
}

.game-card:nth-child(4) {
  animation-delay: .15s;
}

.game-card:nth-child(5) {
  animation-delay: .2s;
}

.game-card:nth-child(6) {
  animation-delay: .25s;
}

@media (max-width: 768px) {
  .pagination-section {
    margin-top: 1.5rem;
    padding: 1rem;
  }

  .pagination-controls {
    flex-direction: column;
    gap: .5rem;
  }

  .pagination-numbers {
    gap: .25rem;
    margin: .5rem 0;
  }

  .pagination-number-btn {
    min-width: 35px;
    height: 35px;
    font-size: .8rem;
  }

  .pagination-btn {
    padding: .5rem 1rem;
    font-size: .8rem;
  }

  .pagination-page-info {
    font-size: .8rem;
  }

  .load-more-section {
    margin-top: 1.5rem;
    padding: 1rem;
  }

  .pagination-text {
    font-size: .9rem;
  }

  .pagination-hint, .loading-more .loading-text {
    font-size: .8rem;
  }

  .end-text {
    font-size: .9rem;
  }
}

.search-input {
  border: 2px solid rgba(0, 0, 0, 0);
  transition: all .3s;
}

.search-input:focus {
  border-color: var(--primary-gold);
  transform: scale(1.02);
  box-shadow: 0 0 0 3px rgba(255, 215, 0, .1);
}

.search-spinner {
  animation: 1s linear infinite spin;
}

.category-card {
  transition: all .3s;
  transform: translateY(0);
}

.category-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .3);
}

.category-card.active {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(255, 215, 0, .4);
}

.provider-card, .game-card {
  transition: all .3s;
  transform: translateY(0);
}

.provider-card:hover, .game-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 25px rgba(255, 215, 0, .2);
}

.smooth-loading {
  opacity: .7;
  transition: opacity .3s;
}

.pagination-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
  transform: none !important;
}

.pagination-btn:not(:disabled):hover {
  transform: translateY(-2px);
}

.filter-active {
  position: relative;
}

.filter-active:after {
  content: "";
  background: var(--primary-gold);
  border-radius: 50%;
  width: 8px;
  height: 8px;
  animation: 2s infinite pulse;
  position: absolute;
  top: -2px;
  right: -2px;
}

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

.skeleton-provider-image, .skeleton-provider-title, .skeleton-provider-subtitle, .skeleton-provider-button, .skeleton-image, .skeleton-title, .skeleton-subtitle, .skeleton-tag {
  background: linear-gradient(90deg, #2a2a2a 25%, #3a3a3a 50%, #2a2a2a 75%) 0 0 / 200% 100%;
  animation: 1.5s infinite skeleton-loading;
}

.lottery-3d-page {
  color: #fff;
  background: linear-gradient(135deg, #0f0f23 0%, #1a1a2e 50%, #16213e 100%);
  min-height: 100vh;
}

.lottery-3d-page .lottery-header {
  z-index: 100;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border-bottom: 1px solid rgba(255, 193, 7, .2);
  padding: 15px 20px;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
}

.lottery-3d-page .header-content {
  justify-content: space-between;
  align-items: center;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
}

.lottery-3d-page .header-left {
  align-items: center;
  gap: 15px;
  display: flex;
}

.lottery-3d-page .back-btn {
  color: var(--primary-gold);
  background: rgba(255, 193, 7, .1);
  border: 1px solid rgba(255, 193, 7, .3);
  transition: all .3s;
}

.lottery-3d-page .back-btn:hover {
  background: rgba(255, 193, 7, .2);
  transform: translateX(-2px);
}

.lottery-3d-page .page-title {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  margin: 0;
  font-size: 1.8rem;
  font-weight: 700;
}

.lottery-3d-page .header-right {
  align-items: center;
  gap: 20px;
  display: flex;
}

.lottery-3d-page .user-info {
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  display: flex;
}

.lottery-3d-page .user-balance {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: 600;
}

.lottery-3d-page .user-name {
  color: rgba(255, 255, 255, .8);
  font-size: .9rem;
}

.lottery-3d-page .logout-btn {
  color: #dc3545;
  background: rgba(220, 53, 69, .1);
  border: 1px solid rgba(220, 53, 69, .3);
  transition: all .3s;
}

.lottery-3d-page .logout-btn:hover {
  background: rgba(220, 53, 69, .2);
}

.lottery-3d-page .lottery-main {
  max-width: 1400px;
  margin: 0 auto;
  padding: 20px;
}

.lottery-3d-page .lottery-container {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.lottery-3d-page .lottery-action-buttons {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 12px;
  justify-content: center;
  gap: 15px;
  margin-bottom: 20px;
  padding: 15px;
  display: flex;
}

.lottery-3d-page .lottery-action-btn {
  border-radius: 8px;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  font-weight: 600;
  text-decoration: none;
  transition: all .3s;
  display: flex;
}

.lottery-3d-page .lottery-action-btn.winner-btn {
  color: gold;
  background: linear-gradient(135deg, rgba(255, 215, 0, .1) 0%, rgba(255, 215, 0, .05) 100%);
  border: 1px solid rgba(255, 215, 0, .3);
}

.lottery-3d-page .lottery-action-btn.lucky-btn {
  color: #007bff;
  background: linear-gradient(135deg, rgba(0, 123, 255, .1) 0%, rgba(0, 123, 255, .05) 100%);
  border: 1px solid rgba(0, 123, 255, .3);
}

.lottery-3d-page .lottery-action-btn.bet-btn {
  color: #28a745;
  background: linear-gradient(135deg, rgba(40, 167, 69, .1) 0%, rgba(40, 167, 69, .05) 100%);
  border: 1px solid rgba(40, 167, 69, .3);
}

.lottery-3d-page .lottery-action-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .3);
}

.lottery-3d-page .btn-icon {
  font-size: 1rem;
}

.lottery-3d-page .lottery-panels {
  grid-template-columns: 320px 1fr 320px;
  align-items: start;
  gap: 20px;
  min-height: 600px;
  display: grid;
}

.lottery-3d-page .lottery-left-panel, .lottery-3d-page .lottery-middle-panel, .lottery-3d-page .lottery-right-panel {
  flex-direction: column;
  height: -moz-fit-content;
  height: fit-content;
  max-height: 750px;
  display: flex;
}

.lottery-3d-page .panel-card {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .04) 100%);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 12px;
  flex-direction: column;
  height: 100%;
  transition: all .2s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
}

.lottery-3d-page .panel-card:hover {
  border-color: rgba(255, 255, 255, .2);
  transform: translateY(-1px);
  box-shadow: 0 6px 25px rgba(0, 0, 0, .12);
}

.lottery-c2d-page .panel-card {
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  background: linear-gradient(135deg, rgba(255, 255, 255, .08) 0%, rgba(255, 255, 255, .04) 100%);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 12px;
  flex-direction: column;
  height: 100%;
  transition: all .2s;
  display: flex;
  overflow: hidden;
  box-shadow: 0 4px 20px rgba(0, 0, 0, .08);
}

.lottery-c2d-page .panel-card:hover {
  border-color: rgba(255, 255, 255, .2);
  transform: translateY(-1px);
  box-shadow: 0 6px 25px rgba(0, 0, 0, .12);
}

.lottery-3d-page .panel-header {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  justify-content: space-between;
  align-items: center;
  padding: 15px 20px;
  display: flex;
}

.lottery-3d-page .panel-actions {
  align-items: center;
  gap: 10px;
  display: flex;
}

.lottery-3d-page .selected-count {
  color: var(--primary-gold);
  background: linear-gradient(135deg, rgba(255, 193, 7, .2) 0%, rgba(255, 193, 7, .1) 100%);
  border: 1px solid rgba(255, 193, 7, .3);
  border-radius: 20px;
  padding: 6px 12px;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .panel-title {
  color: var(--primary-gold);
  margin: 0;
  font-size: 1.2rem;
  font-weight: 600;
}

.lottery-3d-page .panel-content {
  flex-direction: column;
  flex: 1;
  max-height: 500px;
  padding: 5px;
  display: flex;
  overflow: hidden;
}

.lottery-c2d-page .panel-content {
  flex-direction: column;
  flex: 1;
  gap: 20px;
  padding: 20px;
  display: flex;
  overflow-y: auto;
}

.lottery-3d-page .left-panel-scroll {
  max-height: calc(100vh - 200px);
  overflow-y: auto;
}

.lottery-3d-page .left-panel-scroll::-webkit-scrollbar {
  width: 6px;
}

.lottery-3d-page .left-panel-scroll::-webkit-scrollbar-thumb {
  background: var(--primary-gold);
  border-radius: 3px;
}

.lottery-3d-page .left-panel-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.lottery-3d-page .status-info {
  margin-bottom: 20px;
}

.lottery-3d-page .status-item {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  display: flex;
}

.lottery-3d-page .status-item:last-child {
  border-bottom: none;
}

.lottery-3d-page .status-label {
  color: rgba(255, 255, 255, .7);
  font-size: .9rem;
}

.lottery-3d-page .status-value {
  color: #fff;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .status-value.active {
  color: #28a745;
}

.lottery-3d-page .section-selection-box {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin: 15px 0;
  padding: 12px 15px;
  transition: all .3s;
  display: flex;
}

.lottery-3d-page .section-info {
  flex-direction: column;
  gap: 2px;
  display: flex;
}

.lottery-3d-page .section-label {
  color: rgba(255, 255, 255, .7);
  font-size: .8rem;
}

.lottery-3d-page .section-value {
  color: var(--primary-gold);
  font-size: 1rem;
  font-weight: 600;
}

.lottery-3d-page .change-section-btn {
  color: var(--primary-gold);
  background: rgba(255, 193, 7, .1);
  border: 1px solid rgba(255, 193, 7, .3);
  padding: 6px 12px;
  font-size: .8rem;
}

.lottery-3d-page .range-selection {
  margin: 20px 0;
}

.lottery-3d-page .range-title {
  color: #fff;
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 600;
}

.lottery-3d-page .range-grid {
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  display: grid;
}

.lottery-3d-page .range-btn {
  border-radius: 6px;
  padding: 8px 12px;
  font-size: .8rem;
  transition: all .3s;
}

.lottery-3d-page .bet-amount-section {
  margin: 20px 0;
}

.lottery-3d-page .amount-title {
  color: #fff;
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: 600;
}

.lottery-3d-page .amount-input-group {
  align-items: center;
  display: flex;
  position: relative;
}

.lottery-3d-page .amount-input {
  color: #fff;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  width: 100%;
  padding: 12px 40px 12px 12px;
  font-size: 1rem;
  transition: all .3s;
}

.lottery-3d-page .amount-input:focus {
  border-color: var(--primary-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 193, 7, .2);
}

.lottery-3d-page .amount-suffix {
  color: rgba(255, 255, 255, .7);
  pointer-events: none;
  font-size: .9rem;
  position: absolute;
  right: 12px;
}

.lottery-3d-page .number-grid {
  background: none;
  border: none;
  border-radius: 12px;
  grid-template-columns: repeat(6, 1fr);
  gap: 12px;
  max-height: 400px;
  padding: 15px;
  display: grid;
  overflow-y: auto;
}

.lottery-c2d-page .number-grid {
  grid-template-columns: repeat(10, 1fr);
  gap: 8px;
  max-height: 500px;
  padding: 20px 0;
  display: grid;
  overflow-y: auto;
}

.lottery-3d-page .number-grid::-webkit-scrollbar {
  width: 8px;
}

.lottery-3d-page .number-grid::-webkit-scrollbar-thumb {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  border-radius: 4px;
}

.lottery-3d-page .number-grid::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 4px;
}

.lottery-3d-page .number-btn {
  aspect-ratio: 1;
  color: #fff;
  cursor: pointer;
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  background: linear-gradient(135deg, rgba(30, 30, 30, .9) 0%, rgba(20, 20, 20, .9) 100%);
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 10px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  min-height: 45px;
  font-size: .85rem;
  font-weight: 500;
  transition: all .2s;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .3);
}

.lottery-3d-page .number-btn:hover:not(.disabled) {
  border-color: var(--primary-gold);
  color: #000;
  background: linear-gradient(135deg, rgba(255, 193, 7, .25) 0%, rgba(255, 193, 7, .12) 100%);
  transform: translateY(-1px)scale(1.02);
  box-shadow: 0 4px 15px rgba(255, 193, 7, .3);
}

.lottery-3d-page .number-btn.selected {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  border-color: var(--primary-gold);
  color: #000;
  transform: translateY(-1px)scale(1.01);
  box-shadow: 0 4px 15px rgba(255, 193, 7, .4);
}

.lottery-3d-page .number-btn.disabled {
  color: #dc3545;
  cursor: not-allowed;
  opacity: .7;
  background: linear-gradient(135deg, rgba(220, 53, 69, .3) 0%, rgba(220, 53, 69, .15) 100%);
  border-color: #dc3545;
  transform: none;
}

.lottery-3d-page .number-btn.exceeds-hot {
  color: #ff4500;
  background: linear-gradient(135deg, rgba(255, 69, 0, .3) 0%, rgba(255, 69, 0, .15) 100%);
  border-color: #ff4500;
  box-shadow: 0 4px 15px rgba(255, 69, 0, .3);
}

.lottery-3d-page .number-btn.exceeds-overall {
  color: #dc3545;
  background: linear-gradient(135deg, rgba(220, 53, 69, .3) 0%, rgba(220, 53, 69, .15) 100%);
  border-color: #dc3545;
  box-shadow: 0 4px 15px rgba(220, 53, 69, .3);
}

.lottery-3d-page .number-btn.blocked {
  color: #fff;
  opacity: .8;
  background: linear-gradient(135deg, rgba(220, 53, 69, .8) 0%, rgba(192, 35, 51, .8) 100%);
  border-color: #dc3545;
  box-shadow: 0 4px 15px rgba(220, 53, 69, .4);
  cursor: not-allowed !important;
}

.lottery-3d-page .number-btn.blocked:hover {
  background: linear-gradient(135deg, rgba(220, 53, 69, .8) 0%, rgba(192, 35, 51, .8) 100%);
  transform: none;
  box-shadow: 0 4px 15px rgba(220, 53, 69, .4);
}

.lottery-3d-page .number-content {
  z-index: 2;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.lottery-3d-page .number-text {
  text-shadow: 0 1px 2px rgba(0, 0, 0, .5);
  letter-spacing: .3px;
  margin-bottom: 2px;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .number-line {
  background: rgba(255, 255, 255, .6);
  border-radius: 1px;
  width: 20px;
  height: 1px;
  margin-top: 2px;
}

.lottery-3d-page .place-bet-section {
  background: linear-gradient(135deg, rgba(0, 0, 0, .1) 0%, rgba(0, 0, 0, .05) 100%);
  border-top: 1px solid rgba(255, 255, 255, .1);
  border-radius: 0 0 12px 12px;
  padding: 20px 15px 15px;
}

.lottery-3d-page .place-bet-btn {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  color: #000;
  text-transform: uppercase;
  letter-spacing: 1px;
  border: none;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  height: 50px;
  font-size: 1.1rem;
  font-weight: 700;
  transition: all .3s;
  display: flex;
  box-shadow: 0 4px 15px rgba(255, 193, 7, .3);
}

.lottery-3d-page .place-bet-btn:hover:not(:disabled) {
  background: linear-gradient(135deg, gold 0%, var(--primary-gold) 100%);
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(255, 193, 7, .5);
}

.lottery-3d-page .place-bet-btn:disabled {
  color: rgba(255, 255, 255, .5);
  cursor: not-allowed;
  box-shadow: none;
  background: linear-gradient(135deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, .05) 100%);
  transform: none;
}

.lottery-3d-page .place-bet-btn .btn-icon {
  font-size: 1.2rem;
}

.lottery-3d-page .blood-line-container {
  background: rgba(255, 255, 255, .1);
  border-radius: 0 0 8px 8px;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

.lottery-3d-page .blood-line {
  border-radius: 0 0 8px 8px;
  height: 100%;
  transition: width .3s;
}

.lottery-3d-page .blood-line-green {
  background: linear-gradient(90deg, #28a745 0%, #20c997 100%);
}

.lottery-3d-page .blood-line-yellow {
  background: linear-gradient(90deg, #ffc107 0%, #fd7e14 100%);
}

.lottery-3d-page .blood-line-red {
  background: linear-gradient(90deg, #dc3545 0%, #e83e8c 100%);
}

.lottery-3d-page .blood-line-gray {
  background: linear-gradient(90deg, #6c757d 0%, #adb5bd 100%);
}

.lottery-3d-page .betting-slip-content {
  flex-direction: column;
  height: 100%;
  max-height: 450px;
  display: flex;
}

.lottery-3d-page .betting-slip-header {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  grid-template-columns: 1fr 1fr auto auto;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
  padding: 8px 0;
  display: grid;
}

.lottery-3d-page .slip-label {
  color: var(--primary-gold);
  text-align: center;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .betting-list-scroll {
  flex: 1;
  max-height: 400px;
  margin-bottom: 15px;
  overflow-y: auto;
}

.lottery-3d-page .betting-list-scroll::-webkit-scrollbar {
  width: 6px;
}

.lottery-3d-page .betting-list-scroll::-webkit-scrollbar-thumb {
  background: var(--primary-gold);
  border-radius: 3px;
}

.lottery-3d-page .betting-list-scroll::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, .1);
  border-radius: 3px;
}

.lottery-3d-page .empty-slip {
  text-align: center;
  color: rgba(255, 255, 255, .6);
  padding: 40px 20px;
}

.lottery-3d-page .empty-slip p {
  margin: 5px 0;
  font-size: .9rem;
}

.lottery-3d-page .bet-item {
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  grid-template-columns: 1fr 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  display: grid;
}

.lottery-3d-page .bet-item:last-child {
  border-bottom: none;
}

.lottery-3d-page .bet-number {
  color: #fff;
  text-align: center;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .bet-amount {
  color: var(--primary-gold);
  text-align: center;
  font-size: .9rem;
}

.lottery-3d-page .edit-btn {
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: 2px;
  min-width: auto;
  margin-right: 5px;
  padding: 4px 8px;
}

.lottery-3d-page .edit-btn:hover {
  border-color: var(--primary-gold);
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .2);
}

.lottery-3d-page .remove-btn {
  color: #dc3545;
  background: rgba(220, 53, 69, .1);
  border: 1px solid rgba(220, 53, 69, .3);
  min-width: auto;
  padding: 4px 8px;
}

.lottery-3d-page .betting-slip-footer {
  border-top: 1px solid rgba(255, 255, 255, .1);
  flex-shrink: 0;
  margin-top: auto;
  padding: 10px;
}

.lottery-3d-page .total-section {
  background: linear-gradient(135deg, rgba(255, 193, 7, .1) 0%, rgba(255, 193, 7, .05) 100%);
  border: 1px solid rgba(255, 193, 7, .2);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  padding: 8px 0;
  display: flex;
}

.lottery-3d-page .total-label {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

.lottery-3d-page .total-amount {
  color: var(--primary-gold);
  font-size: 1.1rem;
  font-weight: 700;
}

.lottery-3d-page .action-buttons {
  flex-wrap: nowrap;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.lottery-3d-page .confirm-btn {
  background: linear-gradient(135deg, var(--primary-gold) 0%, gold 100%);
  color: #000;
  white-space: nowrap;
  border: none;
  border-radius: 8px;
  flex: 1;
  min-width: 0;
  padding: 12px 16px;
  font-size: .9rem;
  font-weight: 600;
  transition: all .3s;
}

.lottery-3d-page .confirm-btn:hover:not(:disabled) {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(255, 193, 7, .4);
}

.lottery-3d-page .confirm-btn:disabled {
  opacity: .6;
  cursor: not-allowed;
  transform: none;
}

.lottery-3d-page .reset-btn {
  color: #6c757d;
  white-space: nowrap;
  background: rgba(108, 117, 125, .1);
  border: 1px solid rgba(108, 117, 125, .3);
  border-radius: 8px;
  min-width: 0;
  padding: 12px 16px;
  font-size: .9rem;
  transition: all .3s;
}

.lottery-3d-page .clear-btn {
  color: #dc3545;
  background: rgba(220, 53, 69, .1);
  border: 1px solid rgba(220, 53, 69, .3);
  min-width: auto;
  padding: 6px 10px;
}

.lottery-3d-page .loading-spinner-small {
  border: 2px solid rgba(0, 0, 0, .3);
  border-top-color: #000;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  animation: 1s linear infinite spin;
}

.lottery-3d-page .section-popup {
  width: 90%;
  max-width: 400px;
}

.lottery-3d-page .section-item {
  cursor: pointer;
  background: rgba(255, 255, 255, .05);
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 8px;
  justify-content: space-between;
  align-items: center;
  margin: 5px 0;
  padding: 15px;
  transition: all .3s;
  display: flex;
}

.lottery-3d-page .section-item.open {
  border-color: var(--primary-gold);
  background: rgba(255, 193, 7, .1);
}

.lottery-3d-page .section-item.closed {
  opacity: .6;
  cursor: not-allowed;
}

.lottery-3d-page .section-item:hover:not(.closed) {
  background: rgba(255, 193, 7, .2);
  transform: translateY(-2px);
}

.lottery-3d-page .section-time {
  color: #fff;
  font-size: 1rem;
  font-weight: 600;
}

.lottery-3d-page .section-status {
  border-radius: 4px;
  padding: 4px 8px;
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .section-item.open .section-status {
  color: #28a745;
  background: rgba(40, 167, 69, .2);
}

.lottery-3d-page .section-item.closed .section-status {
  color: #dc3545;
  background: rgba(220, 53, 69, .2);
}

@media (max-width: 1200px) {
  .lottery-3d-page .lottery-panels {
    grid-template-columns: 300px 1fr 300px;
    gap: 15px;
  }
}

@media (max-width: 992px) {
  .lottery-3d-page .lottery-panels {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .lottery-3d-page .lottery-left-panel, .lottery-3d-page .lottery-right-panel {
    order: 2;
  }

  .lottery-3d-page .lottery-middle-panel {
    order: 1;
  }

  .lottery-3d-page .number-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    max-height: 350px;
    padding: 12px;
  }
}

@media (max-width: 768px) {
  .lottery-3d-page .lottery-main {
    padding: 15px;
  }

  .lottery-3d-page .header-content {
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
  }

  .lottery-3d-page .header-left, .lottery-3d-page .header-right {
    justify-content: center;
  }

  .lottery-3d-page .lottery-action-buttons {
    flex-direction: column;
    gap: 10px;
  }

  .lottery-3d-page .lottery-action-btn {
    justify-content: center;
  }

  .lottery-3d-page .number-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 8px;
    max-height: 300px;
    padding: 10px;
  }

  .lottery-3d-page .number-text {
    font-size: .75rem;
  }

  .lottery-3d-page .number-line {
    width: 16px;
    height: 1px;
  }

  .lottery-3d-page .place-bet-section {
    padding: 12px 8px 8px;
  }

  .lottery-3d-page .place-bet-btn {
    height: 40px;
    font-size: .9rem;
  }

  .lottery-3d-page .selected-count {
    padding: 3px 6px;
    font-size: .7rem;
  }

  .lottery-3d-page .range-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .lottery-3d-page .action-buttons {
    flex-direction: column;
    gap: 8px;
  }

  .lottery-3d-page .confirm-btn, .lottery-3d-page .reset-btn {
    width: 100%;
    padding: 10px 12px;
    font-size: .8rem;
  }
}

@media (max-width: 480px) {
  .lottery-3d-page .number-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 6px;
    padding: 8px;
  }

  .lottery-3d-page .range-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .lottery-3d-page .betting-slip-header, .lottery-3d-page .bet-item {
    grid-template-columns: 1fr auto auto;
  }

  .lottery-3d-page .bet-amount {
    display: none;
  }
}

@media (max-width: 1200px) {
  .lottery-c2d-page .lottery-container {
    grid-template-columns: 300px 1fr 350px;
    gap: 20px;
  }
}

@media (max-width: 1024px) {
  .lottery-c2d-page .lottery-container {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .lottery-c2d-page .lottery-left-panel, .lottery-c2d-page .lottery-center-panel, .lottery-c2d-page .lottery-right-panel {
    height: auto;
    max-height: none;
  }

  .lottery-c2d-page .number-grid {
    grid-template-columns: repeat(8, 1fr);
    gap: 6px;
  }

  .lottery-c2d-page .action-buttons-row {
    flex-wrap: wrap;
    gap: 10px;
  }
}

@media (max-width: 768px) {
  .lottery-c2d-page .lottery-container {
    gap: 15px;
    padding: 0 15px;
  }

  .lottery-c2d-page .number-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 5px;
  }

  .lottery-c2d-page .number-btn {
    min-height: 40px;
    font-size: .8rem;
  }

  .lottery-c2d-page .action-buttons-row {
    flex-direction: column;
    gap: 8px;
  }

  .lottery-c2d-page .action-btn {
    justify-content: center;
    padding: 8px 16px;
  }
}

@media (max-width: 480px) {
  .lottery-c2d-page .number-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 4px;
  }

  .lottery-c2d-page .number-btn {
    min-height: 35px;
    font-size: .75rem;
  }

  .lottery-c2d-page .panel-content, .lottery-c2d-page .betting-slip-content {
    padding: 15px;
  }
}

.edit-bet-modal {
  width: 90%;
  max-width: 400px;
}

.edit-bet-form {
  flex-direction: column;
  gap: 20px;
  display: flex;
}

.form-group {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.form-label {
  color: var(--primary-gold);
  font-size: .9rem;
  font-weight: 600;
}

.bet-number-display {
  text-align: center;
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
  border: 1px solid rgba(255, 215, 0, .3);
  border-radius: 8px;
  padding: 12px;
  font-size: 1.2rem;
  font-weight: bold;
}

.amount-input {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 8px;
  padding: 12px;
  font-size: 1rem;
  transition: all .3s;
}

.amount-input:focus {
  border-color: var(--primary-gold);
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 215, 0, .2);
}

.amount-input::placeholder {
  color: rgba(255, 255, 255, .5);
}

.form-actions {
  justify-content: flex-end;
  gap: 12px;
  margin-top: 10px;
  display: flex;
}

.cancel-btn {
  color: #6c757d;
  background: rgba(108, 117, 125, .1);
  border: 1px solid rgba(108, 117, 125, .3);
}

.cancel-btn:hover {
  background: rgba(108, 117, 125, .2);
  border-color: #6c757d;
}

.save-btn {
  background: var(--gradient-gold);
  border: 1px solid var(--primary-gold);
  color: #000;
  font-weight: 600;
}

.save-btn:hover {
  background: var(--primary-gold);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(255, 215, 0, .3);
}

@media (max-width: 480px) {
  .edit-bet-modal {
    width: 95%;
    max-width: none;
  }

  .form-actions {
    flex-direction: column;
  }

  .cancel-btn, .save-btn {
    width: 100%;
  }
}

.lottery-3d-page .pagination-section {
  background: rgba(255, 255, 255, .02);
  border-top: 1px solid rgba(255, 255, 255, .1);
  padding: 15px;
}

.lottery-3d-page .pagination-info {
  text-align: center;
  margin-bottom: 15px;
}

.lottery-3d-page .pagination-text {
  color: var(--primary-gold);
  font-size: .9rem;
  font-weight: 600;
}

.lottery-3d-page .pagination-controls {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 10px;
  display: flex;
}

.lottery-3d-page .pagination-btn {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 6px;
  align-items: center;
  gap: 5px;
  padding: 8px 12px;
  font-size: .8rem;
  transition: all .3s;
  display: flex;
}

.lottery-3d-page .pagination-btn:hover:not(:disabled) {
  border-color: var(--primary-gold);
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
}

.lottery-3d-page .pagination-btn:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.lottery-3d-page .pagination-numbers {
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  display: flex;
}

.lottery-3d-page .pagination-number-btn {
  color: #fff;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 4px;
  min-width: 35px;
  height: 35px;
  padding: 6px 10px;
  font-size: .8rem;
  transition: all .3s;
}

.lottery-3d-page .pagination-number-btn:hover {
  border-color: var(--primary-gold);
  color: var(--primary-gold);
  background: rgba(255, 215, 0, .1);
}

.lottery-3d-page .pagination-number-btn[data-variant="casino"] {
  background: var(--gradient-gold);
  border-color: var(--primary-gold);
  color: #000;
  font-weight: 600;
}

.rotate-180 {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .lottery-3d-page .pagination-controls {
    flex-direction: column;
    gap: 15px;
  }

  .lottery-3d-page .pagination-numbers {
    order: 2;
  }

  .lottery-3d-page .pagination-btn {
    order: 1;
  }

  .lottery-3d-page .pagination-number-btn {
    min-width: 30px;
    height: 30px;
    font-size: .7rem;
  }
}

@media (max-width: 480px) {
  .lottery-3d-page .pagination-section {
    padding: 10px;
  }

  .lottery-3d-page .pagination-numbers {
    gap: 3px;
  }

  .lottery-3d-page .pagination-number-btn {
    min-width: 28px;
    height: 28px;
    padding: 4px 6px;
    font-size: .7rem;
  }
}

@property --tw-scale-x {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-y {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-scale-z {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@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-x-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-gradient-position {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: rgba(0, 0, 0, 0);
}

@property --tw-gradient-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false
}

@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}

@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}

@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@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 rgba(0, 0, 0, 0);
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 rgba(0, 0, 0, 0);
}

@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-duration {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/* [project]/node_modules/react-toastify/dist/ReactToastify.css [app-client] (css) */
:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: #e74d3c;
  --toastify-color-transparent: rgba(255, 255, 255, .7);
  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);
  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;
  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  --toastify-color-progress-bgo: .2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  flex-direction: column;
  display: flex;
  position: fixed;
}

.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}

.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  align-items: center;
  left: 50%;
  transform: translateX(-50%);
}

.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}

.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  align-items: center;
  left: 50%;
  transform: translateX(-50%);
}

.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0;
  touch-action: none;
  width: var(--toastify-toast-width);
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  padding: var(--toastify-toast-padding);
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: var(--toastify-toast-shadow);
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  z-index: 0;
  word-break: break-word;
  flex: auto;
  align-items: center;
  margin-bottom: 1rem;
  display: flex;
  position: relative;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }

  .Toastify__toast-container--top-left, .Toastify__toast-container--top-center, .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }

  .Toastify__toast-container--bottom-left, .Toastify__toast-container--bottom-center, .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }

  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }

  .Toastify__toast {
    --toastify-toast-width: 100%;
    border-radius: 0;
    margin-bottom: 0;
  }
}

.Toastify__toast-container[data-stacked="true"] {
  width: var(--toastify-toast-width);
}

.Toastify__toast--stacked {
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform .3s;
  position: absolute;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body, .Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity .1s;
}

.Toastify__toast--stacked[data-collapsed="false"] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed="true"]:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: "";
  height: calc(var(--g) * 1px);
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
}

.Toastify__toast--stacked[data-pos="top"] {
  top: 0;
}

.Toastify__toast--stacked[data-pos="bot"] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos="bot"].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos="top"].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: "";
  z-index: -1;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  transform: scaleY(3);
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  flex-shrink: 0;
  width: 22px;
  display: flex;
}

.Toastify__toast-icon:not(:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-right: 10px;
}

.Toastify__toast-icon:not(:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-right: 10px;
}

.Toastify__toast-icon:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-right: 10px;
}

.Toastify__toast-icon:-webkit-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-left: 10px;
}

.Toastify__toast-icon:-moz-any(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-left: 10px;
}

.Toastify__toast-icon:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-left: 10px;
}

.Toastify--animate {
  animation-duration: .5s;
  animation-fill-mode: both;
}

.Toastify--animate-icon {
  animation-duration: .3s;
  animation-fill-mode: both;
}

.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light, .Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--success, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning, .Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  cursor: pointer;
  opacity: .7;
  z-index: 1;
  background: none;
  border: none;
  outline: none;
  padding: 0;
  transition: all .3s;
  position: absolute;
  top: 6px;
  right: 6px;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: unset;
}

.Toastify__close-button--light {
  color: #000;
  opacity: .3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  width: 14px;
  height: 16px;
}

.Toastify__close-button:hover, .Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }

  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  z-index: 1;
  opacity: .7;
  transform-origin: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
}

.Toastify__progress-bar--animated {
  animation: linear forwards Toastify__trackProgress;
}

.Toastify__progress-bar--controlled {
  transition: transform .2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: 100%;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
  width: 100%;
  height: 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  overflow: hidden;
}

.Toastify__progress-bar--wrp[data-hidden="true"] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  box-sizing: border-box;
  border: 2px solid;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  border-radius: 100%;
  width: 20px;
  height: 20px;
  animation: .65s linear infinite Toastify__spin;
}

@keyframes Toastify__bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }

  75% {
    transform: translate3d(10px, 0, 0);
  }

  90% {
    transform: translate3d(-5px, 0, 0);
  }

  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }

  75% {
    transform: translate3d(-10px, 0, 0);
  }

  90% {
    transform: translate3d(5px, 0, 0);
  }

  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }

  75% {
    transform: translate3d(0, 10px, 0);
  }

  90% {
    transform: translate3d(0, -5px, 0);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y)  - 10px), 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y)  + 20px), 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }

  75% {
    transform: translate3d(0, -10px, 0);
  }

  90% {
    transform: translate3d(0, 5px, 0);
  }

  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y)  - 10px), 0);
  }

  40%, 45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y)  + 20px), 0);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left, .Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right, .Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left, .Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right, .Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }

  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(.3, .3, .3);
  }

  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    opacity: 0;
    animation-timing-function: ease-in;
    transform: perspective(400px)rotate3d(1, 0, 0, 90deg);
  }

  40% {
    animation-timing-function: ease-in;
    transform: perspective(400px)rotate3d(1, 0, 0, -20deg);
  }

  60% {
    opacity: 1;
    transform: perspective(400px)rotate3d(1, 0, 0, 10deg);
  }

  80% {
    transform: perspective(400px)rotate3d(1, 0, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }

  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    visibility: visible;
    transform: translate3d(110%, 0, 0);
  }

  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    visibility: visible;
    transform: translate3d(-110%, 0, 0);
  }

  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    visibility: visible;
    transform: translate3d(0, 110%, 0);
  }

  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    visibility: visible;
    transform: translate3d(0, -110%, 0);
  }

  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left, .Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right, .Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left, .Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-duration: .3s;
  animation-timing-function: ease-in;
}

.Toastify__slide-exit--top-right, .Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-duration: .3s;
  animation-timing-function: ease-in;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-duration: .3s;
  animation-timing-function: ease-in;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-duration: .3s;
  animation-timing-function: ease-in;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(360deg);
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__6fb4f16b._.css.map*/