/* [project]/apps/app/src/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, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --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-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --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-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-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-duration: initial;
      --tw-outline-style: solid;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-50: #fef2f2;
    --color-red-100: #ffe2e2;
    --color-red-200: #ffcaca;
    --color-red-500: #fb2c36;
    --color-red-600: #e40014;
    --color-red-700: #bf000f;
    --color-red-800: #9f0712;
    --color-orange-50: #fff7ed;
    --color-orange-200: #ffd7a8;
    --color-orange-500: #fe6e00;
    --color-orange-800: #9f2d00;
    --color-amber-50: #fffbeb;
    --color-amber-100: #fef3c6;
    --color-amber-200: #fee685;
    --color-amber-500: #f99c00;
    --color-amber-600: #dd7400;
    --color-amber-700: #b75000;
    --color-amber-800: #953d00;
    --color-amber-900: #7b3306;
    --color-green-50: #f0fdf4;
    --color-green-100: #dcfce7;
    --color-green-600: #00a544;
    --color-green-700: #008138;
    --color-emerald-50: #ecfdf5;
    --color-emerald-200: #a4f4cf;
    --color-emerald-300: #5ee9b5;
    --color-emerald-500: #00bb7f;
    --color-emerald-600: #009767;
    --color-emerald-700: #007956;
    --color-emerald-800: #005f46;
    --color-emerald-950: #002c22;
    --color-teal-600: #009588;
    --color-cyan-50: #ecfeff;
    --color-cyan-500: #00b7d7;
    --color-sky-50: #f0f9ff;
    --color-sky-500: #00a5ef;
    --color-sky-600: #0084cc;
    --color-sky-700: #0069a4;
    --color-blue-50: #eff6ff;
    --color-blue-100: #dbeafe;
    --color-blue-200: #bedbff;
    --color-blue-300: #90c5ff;
    --color-blue-400: #54a2ff;
    --color-blue-500: #3080ff;
    --color-blue-600: #155dfc;
    --color-blue-700: #1447e6;
    --color-blue-800: #193cb8;
    --color-blue-900: #1c398e;
    --color-indigo-600: #4f39f6;
    --color-violet-500: #8d54ff;
    --color-purple-50: #faf5ff;
    --color-purple-600: #9810fa;
    --color-pink-600: #e30076;
    --color-rose-50: #fff1f2;
    --color-rose-200: #ffccd3;
    --color-rose-500: #ff2357;
    --color-rose-600: #e70044;
    --color-rose-800: #a30037;
    --color-slate-50: #f8fafc;
    --color-slate-100: #f1f5f9;
    --color-slate-200: #e2e8f0;
    --color-slate-600: #45556c;
    --color-slate-700: #314158;
    --color-slate-800: #1d293d;
    --color-slate-900: #0f172b;
    --color-gray-500: #6a7282;
    --color-neutral-100: #f5f5f5;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-sm: 24rem;
    --container-2xl: 42rem;
    --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);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --font-weight-black: 900;
    --tracking-normal: 0em;
    --tracking-widest: .1em;
    --leading-snug: 1.375;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --animate-spin: spin 1s linear infinite;
    --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-50: lab(96.5005% 4.18508 1.52328);
      --color-red-100: lab(92.243% 10.2865 3.83865);
      --color-red-200: lab(86.017% 19.8815 7.75869);
      --color-red-500: lab(55.4814% 75.0732 48.8528);
      --color-red-600: lab(48.4493% 77.4328 61.5452);
      --color-red-700: lab(40.4273% 67.2623 53.7441);
      --color-red-800: lab(33.7174% 55.8993 41.0293);
      --color-orange-50: lab(97.7008% 1.53735 5.90649);
      --color-orange-200: lab(88.4871% 9.94918 28.8378);
      --color-orange-500: lab(64.272% 57.1788 90.3583);
      --color-orange-800: lab(37.1566% 46.6433 50.5562);
      --color-amber-50: lab(98.6252% -.635922 8.42309);
      --color-amber-100: lab(95.916% -1.21653 23.111);
      --color-amber-200: lab(91.7203% -.505269 49.9084);
      --color-amber-500: lab(72.7183% 31.8672 97.9407);
      --color-amber-600: lab(60.3514% 40.5624 87.1228);
      --color-amber-700: lab(47.2709% 42.9082 69.2966);
      --color-amber-800: lab(37.8822% 37.1699 52.2718);
      --color-amber-900: lab(31.2288% 30.2627 40.0378);
      --color-green-50: lab(98.1563% -5.60117 2.75915);
      --color-green-100: lab(96.1861% -13.8464 6.52365);
      --color-green-600: lab(59.0978% -58.6621 41.2579);
      --color-green-700: lab(47.0329% -47.0239 31.4788);
      --color-emerald-50: lab(97.8462% -6.94966 1.85487);
      --color-emerald-200: lab(90.2247% -31.039 9.47084);
      --color-emerald-300: lab(83.9203% -48.7124 13.8849);
      --color-emerald-500: lab(66.9756% -58.27 19.5419);
      --color-emerald-600: lab(55.0481% -49.9246 15.93);
      --color-emerald-700: lab(44.4871% -41.0396 11.0361);
      --color-emerald-800: lab(35.3675% -33.1188 8.04002);
      --color-emerald-950: lab(15.0582% -17.9507 2.38369);
      --color-teal-600: lab(55.0223% -41.0774 -3.90277);
      --color-cyan-50: lab(98.3304% -5.97432 -2.62108);
      --color-cyan-500: lab(67.805% -35.3952 -30.2018);
      --color-sky-50: lab(97.3623% -2.33802 -4.13098);
      --color-sky-500: lab(63.3038% -18.433 -51.0407);
      --color-sky-600: lab(51.7754% -11.4712 -49.8349);
      --color-sky-700: lab(41.6013% -9.10804 -42.5647);
      --color-blue-50: lab(96.492% -1.14644 -5.11479);
      --color-blue-100: lab(92.0301% -2.24757 -11.6453);
      --color-blue-200: lab(86.15% -4.04379 -21.0797);
      --color-blue-300: lab(77.5052% -6.4629 -36.42);
      --color-blue-400: lab(65.0361% -1.42065 -56.9802);
      --color-blue-500: lab(54.1736% 13.3369 -74.6839);
      --color-blue-600: lab(44.0605% 29.0279 -86.0352);
      --color-blue-700: lab(36.9089% 35.0961 -85.6872);
      --color-blue-800: lab(30.2514% 27.7853 -70.2699);
      --color-blue-900: lab(26.1542% 15.7545 -51.5504);
      --color-indigo-600: lab(38.4009% 52.6132 -92.3857);
      --color-violet-500: lab(49.9355% 55.1776 -81.8963);
      --color-purple-50: lab(97.1627% 2.99937 -4.13398);
      --color-purple-600: lab(43.0295% 75.21 -86.5669);
      --color-pink-600: lab(49.5493% 79.8381 2.31768);
      --color-rose-50: lab(96.2369% 4.94155 1.28011);
      --color-rose-200: lab(86.806% 19.1909 4.07754);
      --color-rose-500: lab(56.101% 79.4328 31.4532);
      --color-rose-600: lab(49.1882% 81.577 36.0311);
      --color-rose-800: lab(34.6481% 60.802 20.1957);
      --color-slate-50: lab(98.1434% -.369519 -1.05966);
      --color-slate-100: lab(96.286% -.852436 -2.46847);
      --color-slate-200: lab(91.7353% -.998765 -4.76968);
      --color-slate-600: lab(35.5623% -1.74978 -15.4316);
      --color-slate-700: lab(26.9569% -1.47016 -15.6993);
      --color-slate-800: lab(16.132% -.318035 -14.6672);
      --color-slate-900: lab(7.78673% 1.82345 -15.0537);
      --color-gray-500: lab(47.7841% -.393182 -10.0268);
      --color-neutral-100: lab(96.52% -.0000298023 .0000119209);
    }
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    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%;
    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: #0000;
    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: #0000;
    border-radius: 0;
  }

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

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }

  ::file-selector-button {
    margin-inline-end: 4px;
  }

  ::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-block: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * {
    border-color: var(--border);
    outline-color: var(--ring);
  }

  @supports (color: color-mix(in lab, red, red)) {
    * {
      outline-color: color-mix(in oklab, var(--ring) 50%, transparent);
    }
  }

  body {
    background-color: var(--background);
    color: var(--foreground);
  }

  html {
    font-size: var(--font-size);
    height: 100%;
  }

  body {
    height: 100%;
    font-family: var(--font-vazirmatn), sans-serif;
    margin: 0;
  }

  h1 {
    font-size: var(--text-2xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  h2 {
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  h3 {
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  h4, label, button {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: 1.5;
  }

  input {
    font-size: var(--text-base);
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
  }
}

@layer components;

@layer utilities {
  .\@container\/card-header {
    container: card-header / inline-size;
  }

  .pointer-events-none {
    pointer-events: none;
  }

  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .sr-only {
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .sticky {
    position: sticky;
  }

  .inset-0 {
    inset: 0;
  }

  .start-1\/2 {
    inset-inline-start: 50%;
  }

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

  .-top-28 {
    top: calc(var(--spacing) * -28);
  }

  .top-0 {
    top: 0;
  }

  .top-0\.5 {
    top: calc(var(--spacing) * .5);
  }

  .top-1\/2 {
    top: 50%;
  }

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

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

  .right-0 {
    right: 0;
  }

  .bottom-0 {
    bottom: 0;
  }

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

  .left-0 {
    left: 0;
  }

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

  .left-1\.5 {
    left: calc(var(--spacing) * 1.5);
  }

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

  .left-\[26px\] {
    left: 26px;
  }

  .isolate {
    isolation: isolate;
  }

  .-z-10 {
    z-index: calc(10 * -1);
  }

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

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

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

  .order-1 {
    order: 1;
  }

  .col-start-2 {
    grid-column-start: 2;
  }

  .row-span-2 {
    grid-row: span 2 / span 2;
  }

  .row-start-1 {
    grid-row-start: 1;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .m-0 {
    margin: 0;
  }

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

  .m-auto {
    margin: auto;
  }

  .mx-4 {
    margin-inline: calc(var(--spacing) * 4);
  }

  .mx-auto {
    margin-inline: auto;
  }

  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }

  .my-5 {
    margin-block: calc(var(--spacing) * 5);
  }

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

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

  .mt-0\.5 {
    margin-top: calc(var(--spacing) * .5);
  }

  .mt-1 {
    margin-top: var(--spacing);
  }

  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }

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

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

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

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

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

  .mr-3 {
    margin-right: calc(var(--spacing) * 3);
  }

  .mr-auto {
    margin-right: auto;
  }

  .mb-1 {
    margin-bottom: var(--spacing);
  }

  .mb-1\.5 {
    margin-bottom: calc(var(--spacing) * 1.5);
  }

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

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

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

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

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

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

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

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

  .line-clamp-3 {
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    display: -webkit-box;
    overflow: hidden;
  }

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .inline-flex {
    display: inline-flex;
  }

  .table {
    display: table;
  }

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

  .h-1 {
    height: var(--spacing);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .h-\[52px\] {
    height: 52px;
  }

  .h-\[56px\] {
    height: 56px;
  }

  .h-\[70px\] {
    height: 70px;
  }

  .h-\[72px\] {
    height: 72px;
  }

  .h-\[96px\] {
    height: 96px;
  }

  .h-\[100dvh\] {
    height: 100dvh;
  }

  .h-\[160px\] {
    height: 160px;
  }

  .h-full {
    height: 100%;
  }

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

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

  .max-h-\[85dvh\] {
    max-height: 85dvh;
  }

  .max-h-\[calc\(100dvh_-_2rem\)\] {
    max-height: calc(100dvh - 2rem);
  }

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

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

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

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

  .min-h-\[60vh\] {
    min-height: 60vh;
  }

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

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

  .w-1\/2 {
    width: 50%;
  }

  .w-1\/3 {
    width: 33.3333%;
  }

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

  .w-2\/3 {
    width: 66.6667%;
  }

  .w-3\/4 {
    width: 75%;
  }

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

  .w-4\/5 {
    width: 80%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

  .w-\[70px\] {
    width: 70px;
  }

  .w-\[72px\] {
    width: 72px;
  }

  .w-\[96px\] {
    width: 96px;
  }

  .w-\[calc\(100\%_-_2rem\)\] {
    width: calc(100% - 2rem);
  }

  .w-full {
    width: 100%;
  }

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

  .max-w-\[48\%\] {
    max-width: 48%;
  }

  .max-w-\[60\%\] {
    max-width: 60%;
  }

  .max-w-\[720px\] {
    max-width: 720px;
  }

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

  .min-w-0 {
    min-width: 0;
  }

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

  .flex-1 {
    flex: 1;
  }

  .flex-shrink-0 {
    flex-shrink: 0;
  }

  .shrink {
    flex-shrink: 1;
  }

  .shrink-0 {
    flex-shrink: 0;
  }

  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-0 {
    --tw-translate-y: 0px;
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

  .translate-y-1 {
    --tw-translate-y: var(--spacing);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }

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

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

  .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-grab {
    cursor: grab;
  }

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

  .cursor-pointer {
    cursor: pointer;
  }

  .resize-none {
    resize: none;
  }

  .list-inside {
    list-style-position: inside;
  }

  .list-disc {
    list-style-type: disc;
  }

  .list-none {
    list-style-type: none;
  }

  .auto-rows-min {
    grid-auto-rows: min-content;
  }

  .grid-cols-1 {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .grid-cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .grid-rows-\[auto_auto\] {
    grid-template-rows: auto auto;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

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

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

  .items-end {
    align-items: flex-end;
  }

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

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

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

  .justify-end {
    justify-content: flex-end;
  }

  .justify-start {
    justify-content: flex-start;
  }

  .gap-0\.5 {
    gap: calc(var(--spacing) * .5);
  }

  .gap-1 {
    gap: var(--spacing);
  }

  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }

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

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

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

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

  :where(.space-y-2 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-3 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-4 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
  }

  :where(.space-y-5 > :not(:last-child)) {
    --tw-space-y-reverse: 0;
    margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
    margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
  }

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

  .gap-y-0 {
    row-gap: 0;
  }

  :where(.divide-y > :not(:last-child)) {
    --tw-divide-y-reverse: 0;
    border-bottom-style: var(--tw-border-style);
    border-top-style: var(--tw-border-style);
    border-top-width: calc(1px * var(--tw-divide-y-reverse));
    border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  }

  :where(.divide-border > :not(:last-child)) {
    border-color: var(--border);
  }

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

  .justify-self-end {
    justify-self: flex-end;
  }

  .truncate {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

  .overscroll-contain {
    overscroll-behavior: contain;
  }

  .rounded {
    border-radius: .25rem;
  }

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

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

  .rounded-\[28px\] {
    border-radius: 28px;
  }

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

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

  .rounded-none {
    border-radius: 0;
  }

  .rounded-xl {
    border-radius: calc(var(--radius) + 4px);
  }

  .rounded-t-3xl {
    border-top-left-radius: var(--radius-3xl);
    border-top-right-radius: var(--radius-3xl);
  }

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

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

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

  .border-\[32px\] {
    border-style: var(--tw-border-style);
    border-width: 32px;
  }

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

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

  .border-amber-200 {
    border-color: var(--color-amber-200);
  }

  .border-blue-200 {
    border-color: var(--color-blue-200);
  }

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

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

  .border-border\/50 {
    border-color: var(--border);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-border\/50 {
      border-color: color-mix(in oklab, var(--border) 50%, transparent);
    }
  }

  .border-border\/60 {
    border-color: var(--border);
  }

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

  .border-emerald-200 {
    border-color: var(--color-emerald-200);
  }

  .border-neutral-100 {
    border-color: var(--color-neutral-100);
  }

  .border-orange-200 {
    border-color: var(--color-orange-200);
  }

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

  .border-primary\/20 {
    border-color: var(--primary);
  }

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

  .border-primary\/30 {
    border-color: var(--primary);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-primary\/30 {
      border-color: color-mix(in oklab, var(--primary) 30%, transparent);
    }
  }

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

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

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

  .border-rose-200 {
    border-color: var(--color-rose-200);
  }

  .border-slate-200 {
    border-color: var(--color-slate-200);
  }

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

  .border-white\/15 {
    border-color: #ffffff26;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/15 {
      border-color: color-mix(in oklab, var(--color-white) 15%, transparent);
    }
  }

  .border-white\/25 {
    border-color: #ffffff40;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/25 {
      border-color: color-mix(in oklab, var(--color-white) 25%, transparent);
    }
  }

  .border-white\/\[0\.04\] {
    border-color: #ffffff0a;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .border-white\/\[0\.04\] {
      border-color: color-mix(in oklab, var(--color-white) 4%, transparent);
    }
  }

  .bg-\(--patient-soft\) {
    background-color: var(--patient-soft);
  }

  .bg-\[\#f5f8f5\] {
    background-color: #f5f8f5;
  }

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

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

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

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

  .bg-black\/40 {
    background-color: #0006;
  }

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

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

  .bg-blue-50\/50 {
    background-color: #eff6ff80;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-muted\/50 {
    background-color: var(--muted);
  }

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

  .bg-muted\/60 {
    background-color: var(--muted);
  }

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

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

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

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

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

  .bg-primary\/5 {
    background-color: var(--primary);
  }

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

  .bg-primary\/10 {
    background-color: var(--primary);
  }

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

  .bg-primary\/20 {
    background-color: var(--primary);
  }

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

  .bg-primary\/30 {
    background-color: var(--primary);
  }

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

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

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

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

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

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

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

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

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

  .bg-transparent {
    background-color: #0000;
  }

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

  .bg-white\/10 {
    background-color: #ffffff1a;
  }

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

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

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

  .bg-\[linear-gradient\(125deg\,\#103b63_10\%\,\#125c78_70\%\,\#187b85\)\] {
    background-image: linear-gradient(125deg, #103b63 10%, #125c78 70%, #187b85);
  }

  .from-amber-500 {
    --tw-gradient-from: var(--color-amber-500);
    --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-emerald-500 {
    --tw-gradient-from: var(--color-emerald-500);
    --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-primary\/30 {
    --tw-gradient-from: var(--primary);
  }

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

  .from-primary\/30 {
    --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-rose-500 {
    --tw-gradient-from: var(--color-rose-500);
    --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-sky-500 {
    --tw-gradient-from: var(--color-sky-500);
    --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-slate-700 {
    --tw-gradient-from: var(--color-slate-700);
    --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-violet-500 {
    --tw-gradient-from: var(--color-violet-500);
    --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-accent {
    --tw-gradient-to: var(--accent);
    --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-cyan-500 {
    --tw-gradient-to: var(--color-cyan-500);
    --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-600 {
    --tw-gradient-to: var(--color-indigo-600);
    --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-orange-500 {
    --tw-gradient-to: var(--color-orange-500);
    --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-pink-600 {
    --tw-gradient-to: var(--color-pink-600);
    --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-slate-900 {
    --tw-gradient-to: var(--color-slate-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));
  }

  .to-teal-600 {
    --tw-gradient-to: var(--color-teal-600);
    --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));
  }

  .object-contain {
    object-fit: contain;
  }

  .object-cover {
    object-fit: cover;
  }

  .p-0 {
    padding: 0;
  }

  .p-1\.5 {
    padding: calc(var(--spacing) * 1.5);
  }

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

  .p-2\.5 {
    padding: calc(var(--spacing) * 2.5);
  }

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

  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }

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

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

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

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

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

  .px-0\.5 {
    padding-inline: calc(var(--spacing) * .5);
  }

  .px-1 {
    padding-inline: var(--spacing);
  }

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

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

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

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

  .py-0\.5 {
    padding-block: calc(var(--spacing) * .5);
  }

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

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

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

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

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

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

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

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

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

  .pt-0\.5 {
    padding-top: calc(var(--spacing) * .5);
  }

  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }

  .pt-2\.5 {
    padding-top: calc(var(--spacing) * 2.5);
  }

  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }

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

  .pt-5 {
    padding-top: calc(var(--spacing) * 5);
  }

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

  .pt-7 {
    padding-top: calc(var(--spacing) * 7);
  }

  .pr-1 {
    padding-right: var(--spacing);
  }

  .pb-1 {
    padding-bottom: var(--spacing);
  }

  .pb-2 {
    padding-bottom: calc(var(--spacing) * 2);
  }

  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }

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

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

  .pb-\[calc\(96px\+env\(safe-area-inset-bottom\,0px\)\)\] {
    padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px));
  }

  .pb-\[max\(2rem\,env\(safe-area-inset-bottom\)\)\] {
    padding-bottom: max(2rem, env(safe-area-inset-bottom));
  }

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

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

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

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

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

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

  .text-2xl {
    font-size: var(--text-2xl);
    line-height: var(--tw-leading, var(--text-2xl--line-height));
  }

  .text-3xl {
    font-size: var(--text-3xl);
    line-height: var(--tw-leading, var(--text-3xl--line-height));
  }

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

  .text-\[9px\] {
    font-size: 9px;
  }

  .text-\[10px\] {
    font-size: 10px;
  }

  .text-\[11px\] {
    font-size: 11px;
  }

  .text-\[13px\] {
    font-size: 13px;
  }

  .text-\[clamp\(26px\,8vw\,40px\)\] {
    font-size: clamp(26px, 8vw, 40px);
  }

  .leading-5 {
    --tw-leading: calc(var(--spacing) * 5);
    line-height: calc(var(--spacing) * 5);
  }

  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }

  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }

  .leading-8 {
    --tw-leading: calc(var(--spacing) * 8);
    line-height: calc(var(--spacing) * 8);
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }

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

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

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

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

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

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

  .tracking-\[0\.18em\] {
    --tw-tracking: .18em;
    letter-spacing: .18em;
  }

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

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

  .break-words {
    overflow-wrap: break-word;
  }

  .break-all {
    word-break: break-all;
  }

  .whitespace-nowrap {
    white-space: nowrap;
  }

  .whitespace-pre-wrap {
    white-space: pre-wrap;
  }

  .text-\[\#006a40\] {
    color: #006a40;
  }

  .text-\[\#103b63\] {
    color: #103b63;
  }

  .text-\[\#686c79\] {
    color: #686c79;
  }

  .text-amber-600 {
    color: var(--color-amber-600);
  }

  .text-amber-700 {
    color: var(--color-amber-700);
  }

  .text-amber-800 {
    color: var(--color-amber-800);
  }

  .text-amber-900 {
    color: var(--color-amber-900);
  }

  .text-blue-600 {
    color: var(--color-blue-600);
  }

  .text-blue-700 {
    color: var(--color-blue-700);
  }

  .text-blue-800 {
    color: var(--color-blue-800);
  }

  .text-blue-900 {
    color: var(--color-blue-900);
  }

  .text-card-foreground {
    color: var(--card-foreground);
  }

  .text-emerald-600 {
    color: var(--color-emerald-600);
  }

  .text-emerald-700 {
    color: var(--color-emerald-700);
  }

  .text-emerald-800 {
    color: var(--color-emerald-800);
  }

  .text-emerald-950 {
    color: var(--color-emerald-950);
  }

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

  .text-foreground\/70 {
    color: var(--foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-foreground\/70 {
      color: color-mix(in oklab, var(--foreground) 70%, transparent);
    }
  }

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

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

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

  .text-muted-foreground {
    color: var(--muted-foreground);
  }

  .text-muted-foreground\/50 {
    color: var(--muted-foreground);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-muted-foreground\/50 {
      color: color-mix(in oklab, var(--muted-foreground) 50%, transparent);
    }
  }

  .text-orange-800 {
    color: var(--color-orange-800);
  }

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

  .text-primary-foreground {
    color: var(--primary-foreground);
  }

  .text-purple-600 {
    color: var(--color-purple-600);
  }

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

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

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

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

  .text-rose-600 {
    color: var(--color-rose-600);
  }

  .text-rose-800 {
    color: var(--color-rose-800);
  }

  .text-sky-600 {
    color: var(--color-sky-600);
  }

  .text-sky-700 {
    color: var(--color-sky-700);
  }

  .text-slate-600 {
    color: var(--color-slate-600);
  }

  .text-slate-800 {
    color: var(--color-slate-800);
  }

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

  .text-white\/70 {
    color: #ffffffb3;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/70 {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }

  .text-white\/75 {
    color: #ffffffbf;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/75 {
      color: color-mix(in oklab, var(--color-white) 75%, transparent);
    }
  }

  .text-white\/80 {
    color: #fffc;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .text-white\/80 {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }

  .tabular-nums {
    --tw-numeric-spacing: tabular-nums;
    font-variant-numeric: var(--tw-ordinal, ) var(--tw-slashed-zero, ) var(--tw-numeric-figure, ) var(--tw-numeric-spacing, ) var(--tw-numeric-fraction, );
  }

  .underline {
    text-decoration-line: underline;
  }

  .underline-offset-4 {
    text-underline-offset: 4px;
  }

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

  .accent-\[\#1b5e3b\] {
    accent-color: #1b5e3b;
  }

  .accent-primary {
    accent-color: var(--primary);
  }

  .opacity-50 {
    opacity: .5;
  }

  .opacity-60 {
    opacity: .6;
  }

  .opacity-80 {
    opacity: .8;
  }

  .opacity-90 {
    opacity: .9;
  }

  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, #00000040);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[0_16px_36px_-20px_rgba\(16\,59\,99\,0\.65\)\] {
    --tw-shadow: 0 16px 36px -20px var(--tw-shadow-color, #103b63a6);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.12\)\] {
    --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, #ffffff1f);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-lg {
    --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, #0000001a), 0 4px 6px -4px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, #0000001a), 0 2px 4px -2px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, #0000001a), 0 1px 2px -1px var(--tw-shadow-color, #0000001a);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, #0000001a), 0 8px 10px -6px var(--tw-shadow-color, #0000001a);
    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-4 {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(4px + 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);
  }

  .shadow-primary\/20 {
    --tw-shadow-color: var(--primary);
  }

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

  .ring-primary {
    --tw-ring-color: var(--primary);
  }

  .ring-primary\/10 {
    --tw-ring-color: var(--primary);
  }

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

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

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .transition-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, 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;
  }

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

  .\!paused {
    animation-play-state: paused !important;
  }

  .\[--font-weight-bold\:500\] {
    --font-weight-bold: 500;
  }

  .\[--font-weight-medium\:500\] {
    --font-weight-medium: 500;
  }

  .paused {
    animation-play-state: paused;
  }

  .peer-checked\:border-blue-600:is(:where(.peer):checked ~ *) {
    border-color: var(--color-blue-600);
  }

  .peer-checked\:bg-blue-700:is(:where(.peer):checked ~ *) {
    background-color: var(--color-blue-700);
  }

  .peer-checked\:text-white:is(:where(.peer):checked ~ *) {
    color: var(--color-white);
  }

  .peer-focus-visible\:ring-2:is(:where(.peer):focus-visible ~ *) {
    --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);
  }

  .peer-focus-visible\:ring-blue-600\/30:is(:where(.peer):focus-visible ~ *) {
    --tw-ring-color: #155dfc4d;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .peer-focus-visible\:ring-blue-600\/30:is(:where(.peer):focus-visible ~ *) {
      --tw-ring-color: color-mix(in oklab, var(--color-blue-600) 30%, transparent);
    }
  }

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

  .placeholder\:text-xs::placeholder {
    font-size: var(--text-xs);
    line-height: var(--tw-leading, var(--text-xs--line-height));
  }

  .placeholder\:font-normal::placeholder {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }

  .placeholder\:text-muted-foreground::placeholder {
    color: var(--muted-foreground);
  }

  .backdrop\:bg-slate-900\/35::backdrop {
    background-color: #0f172b59;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .backdrop\:bg-slate-900\/35::backdrop {
      background-color: color-mix(in oklab, var(--color-slate-900) 35%, transparent);
    }
  }

  .last\:border-0:last-child {
    border-style: var(--tw-border-style);
    border-width: 0;
  }

  .focus-within\:border-primary:focus-within {
    border-color: var(--primary);
  }

  .focus-within\:ring-2:focus-within {
    --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-within\:ring-primary\/25:focus-within {
    --tw-ring-color: var(--primary);
  }

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

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

    .hover\:bg-cyan-50:hover {
      background-color: var(--color-cyan-50);
    }

    .hover\:bg-muted:hover, .hover\:bg-muted\/40:hover {
      background-color: var(--muted);
    }

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

    .hover\:bg-muted\/60:hover {
      background-color: var(--muted);
    }

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

    .hover\:bg-primary\/10:hover {
      background-color: var(--primary);
    }

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

    .hover\:bg-primary\/90:hover {
      background-color: var(--primary);
    }

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

    .hover\:bg-white\/10:hover {
      background-color: #ffffff1a;
    }

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

    .hover\:text-blue-700:hover {
      color: var(--color-blue-700);
    }

    .hover\:text-blue-800:hover {
      color: var(--color-blue-800);
    }

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

  .focus\:not-sr-only:focus {
    clip-path: none;
    white-space: normal;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    position: static;
    overflow: visible;
  }

  .focus\:absolute:focus {
    position: absolute;
  }

  .focus\:bottom-3:focus {
    bottom: calc(var(--spacing) * 3);
  }

  .focus\:left-3:focus {
    left: calc(var(--spacing) * 3);
  }

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

  .focus\:rounded-xl:focus {
    border-radius: calc(var(--radius) + 4px);
  }

  .focus\:border-blue-600:focus {
    border-color: var(--color-blue-600);
  }

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

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

  .focus\:bg-white:focus {
    background-color: var(--color-white);
  }

  .focus\:p-3:focus {
    padding: calc(var(--spacing) * 3);
  }

  .focus\:ring-2:focus {
    --tw-ring-shadow: var(--tw-ring-inset, ) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

  .focus\:ring-blue-600\/25:focus {
    --tw-ring-color: #155dfc40;
  }

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

  .focus\:ring-primary\/25:focus {
    --tw-ring-color: var(--primary);
  }

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

  .focus\:ring-primary\/30:focus {
    --tw-ring-color: var(--primary);
  }

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

  .focus\:ring-red-500\/25:focus {
    --tw-ring-color: #fb2c3640;
  }

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

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

  .focus-visible\:outline-2:focus-visible {
    outline-style: var(--tw-outline-style);
    outline-width: 2px;
  }

  .focus-visible\:outline-offset-2:focus-visible {
    outline-offset: 2px;
  }

  .focus-visible\:outline-offset-4:focus-visible {
    outline-offset: 4px;
  }

  .focus-visible\:outline-primary:focus-visible {
    outline-color: var(--primary);
  }

  .focus-visible\:outline-white:focus-visible {
    outline-color: var(--color-white);
  }

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

  .active\:scale-\[0\.98\]:active {
    scale: .98;
  }

  .active\:scale-\[0\.99\]:active {
    scale: .99;
  }

  .active\:cursor-grabbing:active {
    cursor: grabbing;
  }

  .active\:bg-border:active {
    background-color: var(--border);
  }

  .active\:bg-muted:active {
    background-color: var(--muted);
  }

  .active\:bg-red-50:active {
    background-color: var(--color-red-50);
  }

  .disabled\:opacity-40:disabled {
    opacity: .4;
  }

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

  .disabled\:opacity-60:disabled {
    opacity: .6;
  }

  .disabled\:opacity-70:disabled {
    opacity: .7;
  }

  .has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot="card-action"]) {
    grid-template-columns: 1fr auto;
  }

  @media (prefers-reduced-motion: no-preference) {
    .motion-safe\: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));
    }

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

  @media (min-width: 40rem) {
    .sm\:top-\[22px\] {
      top: 22px;
    }

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

    .sm\:h-11 {
      height: calc(var(--spacing) * 11);
    }

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

    .sm\:w-11 {
      width: calc(var(--spacing) * 11);
    }

    .sm\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sm\:grid-cols-3 {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

    .sm\:p-5 {
      padding: calc(var(--spacing) * 5);
    }

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

    .sm\:text-xs {
      font-size: var(--text-xs);
      line-height: var(--tw-leading, var(--text-xs--line-height));
    }
  }

  @media (min-width: 48rem) {
    .md\:text-lg {
      font-size: var(--text-lg);
      line-height: var(--tw-leading, var(--text-lg--line-height));
    }
  }

  .\[\.border-b\]\:pb-6.border-b {
    padding-bottom: calc(var(--spacing) * 6);
  }

  .\[\.border-t\]\:pt-6.border-t {
    padding-top: calc(var(--spacing) * 6);
  }

  .\[\&\:last-child\]\:pb-6:last-child {
    padding-bottom: calc(var(--spacing) * 6);
  }
}

@property --tw-animation-delay {
  syntax: "*";
  inherits: false;
  initial-value: 0s;
}

@property --tw-animation-direction {
  syntax: "*";
  inherits: false;
  initial-value: normal;
}

@property --tw-animation-duration {
  syntax: "*";
  inherits: false
}

@property --tw-animation-fill-mode {
  syntax: "*";
  inherits: false;
  initial-value: none;
}

@property --tw-animation-iteration-count {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-enter-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-enter-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-blur {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-opacity {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-rotate {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-scale {
  syntax: "*";
  inherits: false;
  initial-value: 1;
}

@property --tw-exit-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-exit-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

:root {
  --font-size: 16px;
  --background: #fff;
  --foreground: #1a2e1a;
  --card: #fff;
  --card-foreground: #1a2e1a;
  --popover: #fff;
  --popover-foreground: #1a2e1a;
  --primary: #1b5e3b;
  --primary-foreground: #fff;
  --secondary: #f0f7f0;
  --secondary-foreground: #1b5e3b;
  --muted: #f0f4f0;
  --muted-foreground: #6b8c6b;
  --accent: #e8f4ed;
  --accent-foreground: #1b5e3b;
  --destructive: #c0392b;
  --destructive-foreground: #fff;
  --border: #1b5e3b1f;
  --input: transparent;
  --input-background: #f0f7f0;
  --switch-background: #b2d4be;
  --font-weight-medium: 600;
  --font-weight-normal: 400;
  --ring: #1b5e3b;
  --chart-1: #1b5e3b;
  --chart-2: #4caf7d;
  --chart-3: #8bc4a8;
  --chart-4: #d4a843;
  --chart-5: #e8a87c;
  --radius: 1rem;
  --sidebar: #fafafa;
  --sidebar-foreground: #0a0a0a;
  --sidebar-primary: #030213;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #f5f5f5;
  --sidebar-accent-foreground: #171717;
  --sidebar-border: #e5e5e5;
  --sidebar-ring: #a1a1a1;
}

@supports (color: lab(0% 0 0)) {
  :root {
    --sidebar: lab(98.26% 0 0);
    --sidebar-foreground: lab(2.75381% 0 0);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(96.52% -.0000298023 .0000119209);
    --sidebar-accent-foreground: lab(7.78201% -.0000149012 0);
    --sidebar-border: lab(90.952% 0 -.0000119209);
    --sidebar-ring: lab(66.128% -.0000298023 .0000119209);
  }
}

.dark {
  --background: #0a0a0a;
  --foreground: #fafafa;
  --card: #0a0a0a;
  --card-foreground: #fafafa;
  --popover: #0a0a0a;
  --popover-foreground: #fafafa;
  --primary: #fafafa;
  --primary-foreground: #171717;
  --secondary: #262626;
  --secondary-foreground: #fafafa;
  --muted: #262626;
  --muted-foreground: #a1a1a1;
  --accent: #262626;
  --accent-foreground: #fafafa;
  --destructive: #82181a;
  --destructive-foreground: #fb2c36;
  --border: #262626;
  --input: #262626;
  --ring: #525252;
  --font-weight-medium: 500;
  --font-weight-normal: 400;
  --chart-1: #1447e6;
  --chart-2: #00bb7f;
  --chart-3: #f99c00;
  --chart-4: #ac4bff;
  --chart-5: #ff2357;
  --sidebar: #171717;
  --sidebar-foreground: #fafafa;
  --sidebar-primary: #1447e6;
  --sidebar-primary-foreground: #fafafa;
  --sidebar-accent: #262626;
  --sidebar-accent-foreground: #fafafa;
  --sidebar-border: #262626;
  --sidebar-ring: #525252;
}

@supports (color: lab(0% 0 0)) {
  .dark {
    --background: lab(2.75381% 0 0);
    --foreground: lab(98.26% 0 0);
    --card: lab(2.75381% 0 0);
    --card-foreground: lab(98.26% 0 0);
    --popover: lab(2.75381% 0 0);
    --popover-foreground: lab(98.26% 0 0);
    --primary: lab(98.26% 0 0);
    --primary-foreground: lab(7.78201% -.0000149012 0);
    --secondary: lab(15.204% 0 -.00000596046);
    --secondary-foreground: lab(98.26% 0 0);
    --muted: lab(15.204% 0 -.00000596046);
    --muted-foreground: lab(66.128% -.0000298023 .0000119209);
    --accent: lab(15.204% 0 -.00000596046);
    --accent-foreground: lab(98.26% 0 0);
    --destructive: lab(28.5139% 44.5539 29.0463);
    --destructive-foreground: lab(55.4814% 75.0732 48.8528);
    --border: lab(15.204% 0 -.00000596046);
    --input: lab(15.204% 0 -.00000596046);
    --ring: lab(34.924% 0 0);
    --chart-1: lab(36.9089% 35.0961 -85.6872);
    --chart-2: lab(66.9756% -58.27 19.5419);
    --chart-3: lab(72.7183% 31.8672 97.9407);
    --chart-4: lab(52.0183% 66.11 -78.2316);
    --chart-5: lab(56.101% 79.4328 31.4532);
    --sidebar: lab(7.78201% -.0000149012 0);
    --sidebar-foreground: lab(98.26% 0 0);
    --sidebar-primary: lab(36.9089% 35.0961 -85.6872);
    --sidebar-primary-foreground: lab(98.26% 0 0);
    --sidebar-accent: lab(15.204% 0 -.00000596046);
    --sidebar-accent-foreground: lab(98.26% 0 0);
    --sidebar-border: lab(15.204% 0 -.00000596046);
    --sidebar-ring: lab(34.924% 0 0);
  }
}

.swiper-slide h2, .swiper-slide p {
  backface-visibility: hidden;
  transform: translateZ(0);
}

.home-slider-pagination {
  justify-content: center;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  display: flex;
}

.home-slider-pagination .swiper-pagination-bullet {
  opacity: 1;
  background: #cbd5e1;
  border-radius: 999px;
  width: 10px;
  height: 10px;
  transition: width .45s cubic-bezier(.22, 1, .36, 1), transform .45s cubic-bezier(.22, 1, .36, 1), background-color .45s, box-shadow .45s;
}

.home-slider-pagination .swiper-pagination-bullet:hover {
  transform: scale(1.15);
}

.home-slider-pagination .swiper-pagination-bullet-active {
  background: #2563eb;
  width: 34px;
  box-shadow: 0 0 12px #2563eb73;
}

.scrollbar-hide {
  scrollbar-width: none;
}

.scrollbar-hide::-webkit-scrollbar {
  display: none;
}

@font-face {
  font-family: Vazirmatn;
  src: url("/fonts/Vazirmatn-Variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: Digikala;
  src: url("/fonts/digikala-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}

@font-face {
  font-family: IRANSansFaNum;
  src: url("/fonts/IRANSansWebFaNum.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: IRANYekanX;
  src: url("/fonts/IRANYekanX-Regular.woff") format("woff");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: IRANYekanX;
  src: url("/fonts/IRANYekanX-Medium.woff") format("woff");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

:root {
  --font-vazirmatn: "Vazirmatn";
  --font-iransans-fanum: "IRANSansFaNum", "Vazirmatn", sans-serif;
  --font-iranyekanx: "IRANYekanX", "Vazirmatn", sans-serif;
  --font-price: var(--font-iransans-fanum);
  --font-digikala: "Digikala", "Vazirmatn", sans-serif;
  --patient-blue-600: #176b9a;
  --patient-blue-700: #12577e;
  --patient-blue-800: #104767;
  --patient-teal-600: #087f85;
  --patient-action: var(--patient-blue-600);
  --patient-action-hover: var(--patient-blue-700);
  --patient-action-pressed: var(--patient-blue-800);
  --patient-focus: var(--patient-teal-600);
  --patient-ink: #173c53;
  --patient-muted: #516977;
  --patient-canvas: #fff;
  --patient-surface: #fff;
  --patient-soft: #e7f1f7;
  --patient-warm: #fff;
  --patient-control: #7895a5;
  --patient-divider: #d4e2ea;
  --patient-error: #b42318;
  --patient-error-surface: #fff2f0;
  --patient-like: #e11d48;
  --patient-rating: #f59e0b;
  --patient-gallery: #fff;
  --store-border: #e8e8e8;
  --store-ink: #202020;
  --store-muted: #666;
  --patient-success: #176747;
  --patient-warning: #8a4b0f;
  --patient-space-1: .25rem;
  --patient-space-2: .5rem;
  --patient-space-3: .75rem;
  --patient-space-4: 1rem;
  --patient-space-6: 1.5rem;
  --patient-radius-control: .75rem;
  --patient-radius-card: 1rem;
  --patient-shadow-card: 0 2px 8px #173c5314;
  --patient-button-bg: var(--patient-action);
}

.patient-app-shell {
  --background: var(--patient-canvas);
  --foreground: var(--patient-ink);
  --card-foreground: var(--patient-ink);
  --popover-foreground: var(--patient-ink);
  --primary: var(--patient-action);
  --secondary: var(--patient-soft);
  --secondary-foreground: var(--patient-ink);
  --muted: var(--patient-soft);
  --muted-foreground: var(--patient-muted);
  --accent: var(--patient-soft);
  --accent-foreground: var(--patient-action);
  --input-background: var(--patient-soft);
  --border: var(--patient-divider);
  --ring: var(--patient-focus);
  background: var(--patient-surface);
}

.patient-store-shell .patient-shell-header {
  min-height: 64px;
}

.session-screen {
  place-items: center;
  min-height: 100dvh;
  padding: 32px 24px;
  display: grid;
}

.session-screen__content {
  text-align: center;
  width: 100%;
  max-width: 340px;
  font-family: var(--font-vazirmatn), sans-serif;
}

.session-screen__illustration {
  width: 64px;
  height: 64px;
  color: var(--patient-muted);
  background: #f5f7f8;
  border-radius: 50%;
  place-items: center;
  margin: 0 auto 24px;
  display: grid;
}

.session-screen__dots {
  direction: ltr;
  justify-content: center;
  gap: 6px;
  display: flex;
}

.session-screen__dots span {
  background: var(--patient-action);
  border-radius: 50%;
  width: 6px;
  height: 6px;
  animation: 1.2s ease-in-out infinite session-dot;
}

.session-screen__dots span:nth-child(2) {
  animation-delay: .16s;
}

.session-screen__dots span:nth-child(3) {
  animation-delay: .32s;
}

.session-screen h1 {
  color: var(--patient-ink);
  font-size: 20px;
  font-weight: 700;
  line-height: 34px;
}

.session-screen p {
  color: var(--patient-muted);
  text-wrap: pretty;
  margin-top: 12px;
  font-size: 14px;
  line-height: 28px;
}

.session-screen .patient-button {
  margin-top: 24px;
}

@keyframes session-dot {
  0%, 80%, 100% {
    opacity: .3;
  }

  40% {
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .session-screen__dots span {
    animation: none;
  }
}

.patient-store-shell .patient-shell-header :is(h1, p) {
  font-size: 18px;
}

.patient-store-shell .patient-shell-header button {
  width: 44px;
  height: 44px;
}

.patient-app-shell :is(a, button, input, select, textarea):focus-visible, .patient-button:focus-visible, .patient-input:focus-visible {
  outline: 2px solid var(--patient-focus);
  outline-offset: 2px;
}

.patient-button {
  justify-content: center;
  align-items: center;
  gap: var(--patient-space-2);
  border-radius: var(--patient-radius-control);
  background: var(--patient-button-bg);
  color: #fff;
  touch-action: manipulation;
  cursor: pointer;
  border: 1px solid #0000;
  min-height: 48px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  line-height: 24px;
  transition: background-color .15s, border-color .15s;
  display: inline-flex;
}

.patient-button:hover:not(:disabled) {
  background: var(--patient-action-hover);
}

.patient-button:active:not(:disabled) {
  background: var(--patient-action-pressed);
}

.patient-button--secondary {
  background: var(--patient-soft);
  color: var(--patient-action);
}

.patient-button--secondary:hover:not(:disabled) {
  color: var(--patient-action-hover);
  background: #d8eaf3;
}

.patient-button--secondary:active:not(:disabled) {
  color: var(--patient-action-hover);
  background: #c9e0ec;
}

.patient-button--ghost {
  color: var(--patient-muted);
  background: none;
}

.patient-button--ghost:is(:hover, :active):not(:disabled) {
  background: var(--patient-soft);
  color: var(--patient-ink);
}

.patient-button:disabled {
  color: var(--patient-muted);
  cursor: not-allowed;
  background: #e8eff3;
}

.patient-input {
  border: 1px solid var(--patient-control);
  border-radius: var(--patient-radius-control);
  background: var(--patient-surface);
  min-width: 0;
  min-height: 48px;
  color: var(--patient-ink);
  padding: 10px 12px;
  font-size: 16px;
  line-height: 24px;
}

.patient-input::placeholder {
  color: var(--patient-muted);
  opacity: 1;
}

.patient-input:disabled {
  background: #e8eff3;
}

.store-catalog {
  color: var(--patient-ink);
  letter-spacing: 0;
  padding: 16px 16px 24px;
}

.store-heading {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  display: flex;
}

.store-heading h1 {
  font-size: 26px;
  font-weight: 500;
  line-height: 40px;
}

.store-heading p {
  color: var(--patient-muted);
  font-size: 14px;
  line-height: 24px;
}

.store-actions {
  gap: 8px;
  display: flex;
}

.store-actions .store-icon-button {
  border-radius: 999px;
}

.store-icon-button {
  flex-shrink: 0;
  width: 44px;
  min-height: 44px;
  padding: 0;
  position: relative;
}

.store-badge {
  top: -4px;
  background: var(--patient-action);
  color: #fff;
  border-radius: 12px;
  min-width: 20px;
  padding: 0 4px;
  font-size: 12px;
  line-height: 20px;
  position: absolute;
  inset-inline-end: -4px;
}

.store-badge--danger {
  background: var(--patient-like);
}

.store-search {
  border: 1px solid var(--patient-divider);
  background: var(--patient-surface);
  min-height: 56px;
  color: var(--patient-muted);
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  display: flex;
}

.store-search:focus-within {
  border-color: var(--patient-focus);
  outline: 2px solid var(--patient-focus);
  outline-offset: 2px;
}

.store-search__icon {
  width: 36px;
  height: 36px;
  color: var(--patient-muted);
  background: none;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.store-search__clear-space {
  flex-shrink: 0;
  width: 44px;
}

.store-search .patient-input {
  text-align: start;
  text-overflow: ellipsis;
  background: none;
  border: 0;
  flex: 1;
  width: 100%;
  padding-inline: 0;
  font-weight: 500;
}

.store-search {
  container-type: inline-size;
}

.store-search .patient-input::placeholder {
  font-size: clamp(12px, 3.5cqi, 15px);
  font-weight: 400;
}

.store-delivery {
  width: 100%;
  color: var(--patient-ink);
  cursor: pointer;
  text-align: start;
  background: none;
  border: 0;
  align-items: center;
  gap: 4px;
  margin-top: 2px;
  padding: 6px 2px;
  font-size: 13px;
  line-height: 24px;
  display: flex;
}

.store-delivery__text {
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 0 auto;
  min-width: 0;
  overflow: hidden;
}

.store-delivery svg {
  flex-shrink: 0;
}

.store-address-sheet {
  flex-direction: column;
  gap: 12px;
  padding-bottom: 8px;
  display: flex;
}

.store-address-guest {
  flex-direction: column;
  gap: 12px;
  padding-block: 12px;
  display: flex;
}

.store-address-guest p, .store-address-empty {
  color: var(--patient-muted);
  font-size: 14px;
  line-height: 24px;
}

.store-address-list {
  flex-direction: column;
  gap: 8px;
  display: flex;
}

.store-address-option {
  border: 1px solid var(--patient-divider);
  text-align: start;
  cursor: pointer;
  background: #fff;
  border-radius: 16px;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 12px;
  display: flex;
}

.store-address-option--selected {
  border-color: var(--patient-action);
  background: var(--patient-action);
}

@supports (color: color-mix(in lab, red, red)) {
  .store-address-option--selected {
    background: color-mix(in srgb, var(--patient-action) 8%, white);
  }
}

.store-address-radio {
  border: 2px solid var(--patient-control);
  color: #fff;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  margin-top: 2px;
  display: flex;
}

.store-address-option--selected .store-address-radio {
  border-color: var(--patient-action);
  background: var(--patient-action);
}

.store-address-text {
  flex-direction: column;
  flex: 1;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.store-address-text strong {
  color: var(--patient-ink);
  font-size: 14px;
  line-height: 24px;
}

.store-address-text span {
  color: var(--patient-muted);
  overflow-wrap: anywhere;
  font-size: 13px;
  line-height: 22px;
}

.store-default-badge {
  background: var(--patient-soft);
  color: var(--patient-action);
  border-radius: 999px;
  flex-shrink: 0;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
}

.store-address-form {
  gap: 12px;
  display: grid;
}

.store-address-form h3 {
  color: var(--patient-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
}

.store-field {
  gap: 4px;
  display: grid;
}

.store-field label {
  color: var(--patient-muted);
  font-size: 12px;
  font-weight: 500;
  line-height: 20px;
}

.store-address-form__actions {
  gap: 8px;
  display: flex;
}

.store-address-form__actions .patient-button {
  flex: 1;
}

.store-form-error {
  color: var(--patient-error);
  font-size: 13px;
  line-height: 22px;
}

.store-search .patient-input:focus-visible, .patient-app-shell .wallet-topup-amount:focus-visible {
  outline: none;
}

.store-search .patient-input::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

.store-search > svg {
  flex-shrink: 0;
}

.store-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
  scroll-margin-top: 16px;
  display: grid;
}

.store-product {
  border: 1px solid var(--store-border);
  min-width: 0;
  color: var(--store-ink);
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
}

.store-product:active {
  border-color: var(--patient-control);
}

.store-product__media {
  aspect-ratio: 1;
  background: #fff;
  justify-content: center;
  align-items: center;
  padding: 8px;
  display: flex;
  position: relative;
}

.store-product__image {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
}

.store-product__favorite {
  top: 8px;
  width: 44px;
  min-height: 44px;
  color: var(--patient-ink);
  background: none;
  border: 0;
  padding: 0;
  transition: transform .15s, color .15s;
  position: absolute;
  inset-inline-end: 8px;
}

.store-product__favorite:active {
  transform: scale(.88);
}

@media (prefers-reduced-motion: reduce) {
  .store-product, .store-product__favorite {
    transition: none;
  }

  .store-product:active, .store-product__favorite:active {
    transform: none;
  }
}

.store-product__favorite[aria-pressed="true"] {
  color: var(--patient-like);
  border-color: var(--patient-like);
}

.store-detail__title .store-icon-button[aria-pressed="true"] {
  color: var(--patient-like);
}

.store-product__body {
  flex-direction: column;
  gap: 16px;
  padding: 8px 12px 14px;
  display: flex;
}

.store-product__footer {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-product__details {
  width: 40px;
  min-height: 40px;
  color: var(--patient-action);
  background: var(--patient-soft);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.store-product__title {
  color: #111;
  border-radius: 4px;
  display: block;
}

.store-product__title h2 {
  font-family: var(--font-iranyekanx);
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  min-height: 48px;
  max-height: 48px;
  font-size: 13px;
  font-weight: 500;
  line-height: 24px;
  display: -webkit-box;
  overflow: hidden;
}

.font-digikala {
  font-family: var(--font-digikala);
}

.font-iransans-fanum {
  font-family: var(--font-iransans-fanum);
}

.font-iranyekanx {
  font-family: var(--font-iranyekanx);
}

.store-price {
  min-width: 0;
  font-family: var(--font-price);
  font-variant-numeric: tabular-nums;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px;
  font-size: 18px;
  font-weight: 500;
  line-height: 28px;
  display: flex;
}

.store-toman {
  flex-shrink: 0;
  width: auto;
  height: 16px;
}

.store-state {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  margin-top: 20px;
  padding: 24px;
}

.store-state h2 {
  margin-bottom: 8px;
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
}

.store-state p {
  font-size: 16px;
  line-height: 28px;
}

.store-state .patient-button {
  margin-top: 16px;
}

.store-state--error {
  background: var(--patient-error-surface);
  color: var(--patient-error);
}

.store-empty {
  text-align: center;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 20px;
  padding: 32px 24px;
  display: flex;
}

.store-empty img {
  object-fit: contain;
  width: 120px;
  height: 120px;
}

.store-empty h2 {
  color: var(--patient-ink);
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.store-empty p {
  color: var(--patient-muted);
  font-size: 14px;
  line-height: 24px;
}

.store-empty__action {
  border: 1px solid var(--patient-action);
  min-width: 140px;
  color: var(--patient-action);
  background: none;
}

.store-skeleton {
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 16px;
  display: grid;
}

.store-skeleton span {
  background: var(--patient-soft);
  border-radius: 12px;
  height: 120px;
}

.skeleton {
  contain: content;
  position: relative;
  overflow: clip;
}

.skeleton:after {
  content: "";
  background: linear-gradient(90deg, #0000, #fff9, #0000);
  animation: 1.4s ease-in-out infinite skeleton-shine;
  position: absolute;
  inset: 0;
  translate: -100%;
}

@keyframes skeleton-shine {
  to {
    translate: 100%;
  }
}

[dir="rtl"] .skeleton:after {
  animation-name: skeleton-shine-rtl;
}

@keyframes skeleton-shine-rtl {
  from {
    translate: 100%;
  }

  to {
    translate: -100%;
  }
}

.spinner {
  border: 3px solid var(--patient-soft);
  border-top-color: var(--patient-action);
  border-radius: 999px;
  animation: .8s linear infinite skeleton-spin;
}

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

@media (prefers-reduced-motion: reduce) {
  .skeleton:after, [dir="rtl"] .skeleton:after {
    opacity: 0;
    animation: none;
  }

  .spinner {
    animation: none;
  }
}

.store-skip-link {
  inset-inline-start: 16px;
  color: var(--patient-ink);
  z-index: 30;
  background: #fff;
  border-radius: 8px;
  padding: 12px;
  position: absolute;
  top: 8px;
  transform: translateY(-200%);
}

.store-skip-link:focus {
  transform: none;
}

@media (min-width: 600px) {
  .store-product__body {
    padding: 8px 12px 16px;
  }

  .store-product__title h2 {
    min-height: 48px;
    max-height: 48px;
    font-size: 15px;
    line-height: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .patient-button {
    transition: none;
  }

  .patient-shell-nav * {
    transition: none !important;
    animation: none !important;
  }
}

.store-product__media-link {
  justify-content: center;
  align-items: center;
  padding: 8px;
  display: flex;
  position: absolute;
  inset: 0;
}

.store-collection {
  margin-block: 24px 32px;
}

.store-collection__header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  display: flex;
}

.store-collection__header h2 {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.store-collection__header .patient-button {
  flex-shrink: 0;
  min-height: 44px;
  padding-inline: 8px;
}

.store-collection__viewport {
  min-width: 0;
  position: relative;
}

.store-collection__arrow {
  z-index: 2;
  border: 1px solid var(--store-border);
  width: 44px;
  min-height: 44px;
  color: var(--store-ink);
  background: #fff;
  border-radius: 50%;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 2px 8px #0000001f;
}

.store-collection__arrow--previous {
  inset-inline-start: 0;
}

.store-collection__arrow--next {
  inset-inline-end: 0;
}

.store-collection__arrow:disabled {
  visibility: hidden;
}

.store-collection__arrow:not(: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)) svg {
  transform: rotate(180deg);
}

.store-product-rail {
  overscroll-behavior-inline: contain;
  cursor: grab;
  border-radius: 8px;
  grid-auto-columns: clamp(164px, 48vw, 188px);
  grid-auto-flow: column;
  gap: 4px;
  margin-inline: -16px;
  padding: 4px 16px 12px;
  display: grid;
  overflow-x: auto;
}

.store-product-rail--dragging {
  cursor: grabbing;
}

.store-product-rail--dragging, .store-product-rail--dragging * {
  -webkit-user-select: none;
  user-select: none;
}

.store-product-rail--auto {
  grid-auto-columns: max-content;
}

.store-product-rail--cards {
  grid-auto-columns: clamp(240px, 72vw, 300px);
}

.store-product-rail--offers {
  grid-auto-columns: clamp(164px, 48vw, 188px);
}

.store-offer {
  border: 1px solid var(--store-border);
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: 8px 12px 14px;
  display: flex;
  overflow: hidden;
}

.store-offer__media {
  aspect-ratio: 1;
  position: relative;
}

.store-offer__media img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
  display: block;
}

.store-offer__media .store-discount {
  top: 0;
  padding: 3px 7px;
  position: absolute;
  inset-inline-start: 0;
}

.store-offer__currency {
  color: var(--store-ink);
  font-size: 11px;
}

.store-offer__title {
  color: var(--store-ink);
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  min-height: 48px;
  max-height: 48px;
  font-size: 13px;
  font-weight: 500;
  line-height: 24px;
  display: -webkit-box;
  overflow: hidden;
}

.store-offer__price {
  font-family: var(--font-price);
  font-variant-numeric: tabular-nums;
  flex-direction: column;
  gap: 2px;
  margin-top: auto;
  display: flex;
}

.store-offer__row {
  justify-content: flex-end;
  align-items: baseline;
  gap: 4px;
  display: flex;
}

.store-discount {
  background: var(--patient-like);
  color: #fff;
  border-radius: 6px;
  padding: 0 4px;
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
}

.store-offer__price s {
  color: var(--store-muted);
  font-size: 12px;
}

.store-offer__price b {
  color: #111;
  font-size: 15px;
  font-weight: 500;
}

.store-crumb-row {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.store-brand {
  color: var(--patient-muted);
  font-size: 13px;
  font-weight: 500;
}

.store-product-rail:focus-visible {
  outline: 2px solid var(--patient-focus);
  outline-offset: 2px;
}

.store-product-rail {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.store-product-rail::-webkit-scrollbar {
  display: none;
}

.store-hero {
  margin: 16px -16px 0;
}

.store-shortcuts {
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  justify-content: safe center;
  gap: clamp(8px, 2.5vw, 16px);
  margin-top: 16px;
  padding: 4px 2px 8px;
  display: flex;
  overflow-x: auto;
}

.store-shortcuts::-webkit-scrollbar {
  display: none;
}

.store-shortcuts--dragging {
  cursor: grabbing;
}

.store-shortcuts--dragging, .store-shortcuts--dragging * {
  -webkit-user-select: none;
  user-select: none;
}

.store-shortcut {
  cursor: pointer;
  background: none;
  border: 0;
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  gap: 4px;
  width: clamp(56px, 16vw, 72px);
  padding: 0;
  display: flex;
}

.store-shortcut img {
  aspect-ratio: 1;
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: clamp(48px, 13.5vw, 60px);
  height: auto;
}

.store-shortcut span {
  text-align: center;
  width: 100%;
  color: var(--patient-ink);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-size: 11px;
  line-height: 18px;
  display: -webkit-box;
  overflow: hidden;
}

.store-hero__slide {
  background: var(--patient-soft);
  width: 100%;
  box-shadow: var(--patient-shadow-card);
  cursor: pointer;
  border: 0;
  border-radius: 20px;
  padding: 0;
  display: block;
  overflow: hidden;
}

.store-hero__image {
  object-fit: cover;
  object-position: center;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 180px;
  display: block;
}

.store-hero__dots {
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
  display: flex;
}

.store-hero__dot {
  background: var(--patient-divider);
  border-radius: 999px;
  width: 6px;
  height: 6px;
  transition: width .2s, background-color .2s;
}

.store-hero__dot--active {
  background: var(--patient-action);
  width: 20px;
}

@media (max-width: 359px) {
  .store-hero {
    margin-inline: -12px;
  }
}

@media (min-width: 768px) {
  .store-hero {
    margin-inline: -32px;
  }

  .store-hero__image {
    height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .store-hero__dot {
    transition: none;
  }
}

.store-product__body {
  flex: 1;
}

.store-product {
  flex-direction: column;
  display: flex;
}

.store-product__body > .store-price {
  align-self: flex-end;
  margin-top: auto;
}

.store-results-heading {
  margin-top: 24px;
}

.store-pagination {
  color: var(--patient-muted);
  gap: 16px;
  margin-top: 24px;
  font-size: 13px;
  display: grid;
}

.store-pagination nav button {
  min-height: 44px;
}

.patient-bottom-sheet {
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  color: var(--patient-ink);
  background: none;
  border: 0;
  margin: 0;
  padding: 0;
  position: fixed;
  inset: 0;
  overflow: hidden;
}

.patient-bottom-sheet::backdrop {
  background: none;
}

.patient-bottom-sheet {
  --patient-action: var(--patient-blue-600);
  --primary: var(--patient-action);
}

.patient-bottom-sheet__title {
  font-family: var(--font-vazirmatn), sans-serif;
  color: var(--patient-ink);
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 28px;
}

.patient-bottom-sheet__close {
  color: var(--patient-blue-600);
}

.patient-bottom-sheet__close:hover {
  color: var(--patient-blue-700);
}

.patient-bottom-sheet .patient-bottom-sheet__handle {
  -webkit-tap-highlight-color: transparent;
}

.patient-bottom-sheet .patient-bottom-sheet__handle:focus {
  outline: none;
}

.patient-bottom-sheet .patient-bottom-sheet__handle > span {
  background: #cbd5e1;
  outline: none;
}

.store-product__incart {
  bottom: 8px;
  background: var(--patient-action);
  color: #fff;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  line-height: 18px;
  display: inline-flex;
  position: absolute;
  inset-inline-start: 8px;
}

.store-promo {
  border: 1px solid var(--store-border);
  color: var(--store-ink);
  background: #fff;
  border-radius: 12px;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 20px;
  display: flex;
}

.store-promo h2 {
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.store-promo p {
  color: var(--store-muted);
  margin-top: 4px;
  font-size: 13px;
  line-height: 22px;
}

.store-promo__action {
  color: var(--patient-action);
  background: #fff;
  flex-shrink: 0;
}

.store-promo__action:hover:not(:disabled) {
  background: var(--patient-soft);
  color: var(--patient-action-hover);
}

.store-menu > button + button {
  border-top: 1px solid var(--border);
}

.profile-scope {
  --muted: #f1f5f9;
  --muted-foreground: #64748b;
  background: #fff;
}

.profile-scope :is(a, button):focus-visible {
  outline-offset: 2px;
  outline: 2px solid #1d4ed8;
}

.store-offers {
  background: #fff;
  margin-top: 20px;
  padding-block: 16px;
}

.store-offers .store-collection {
  margin-block: 0;
}

.store-offers .store-product-rail {
  margin-inline: 0;
  padding-inline: 0;
}

.store-offers__head {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin-bottom: 12px;
  display: flex;
}

.store-offers__title {
  color: var(--store-ink);
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-offers__title h2 {
  font-size: 18px;
  font-weight: 500;
  line-height: 30px;
}

.store-offers__timer {
  direction: ltr;
  align-items: center;
  gap: 2px;
  margin-inline-start: auto;
  display: flex;
}

.store-offers__tick-row {
  align-items: center;
  gap: 2px;
  display: flex;
}

.store-offers__tick {
  color: #1a1a1a;
  font-variant-numeric: tabular-nums;
  background: #fff;
  border-radius: 6px;
  justify-content: center;
  align-items: center;
  width: 26px;
  height: 26px;
  font-size: 13px;
  font-weight: 500;
  display: flex;
}

.store-offers__colon {
  color: var(--store-muted);
  font-weight: 500;
}

.store-offers__all {
  color: var(--patient-action);
}

@media (max-width: 359px) {
  .store-catalog {
    padding-inline: 12px;
  }

  .store-grid {
    gap: 8px;
  }

  .store-product__body {
    gap: 8px;
    padding: 10px;
  }

  .store-catalog .store-product-rail {
    margin-inline: -12px;
    padding-inline: 12px;
  }
}

.patient-app-shell {
  --patient-frame-max: 720px;
}

.patient-app-shell .patient-app-frame {
  max-width: var(--patient-frame-max);
}

@media (min-width: 768px) {
  .store-catalog {
    padding: 24px 32px 32px;
  }

  .store-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  .store-product-rail {
    grid-auto-columns: 188px;
    gap: 4px;
  }

  .store-catalog .store-product-rail {
    margin-inline: -32px;
    padding-inline: 32px;
  }

  .store-collection__header h2 {
    font-size: 20px;
    line-height: 32px;
  }
}

@media (min-width: 1100px) {
  .patient-store-shell .store-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.patient-input[aria-invalid="true"] {
  border-color: var(--patient-error);
}

.patient-shell-nav {
  max-width: 720px;
  font-family: var(--font-iranyekanx);
  --primary: var(--patient-action);
  --muted-foreground: var(--patient-muted);
  --border: var(--patient-divider);
  padding: 8px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background: none;
  margin-inline: auto;
}

.patient-shell-nav__dock {
  -webkit-backdrop-filter: blur(28px);
  backdrop-filter: blur(28px);
  background: #f5fcff8f;
  border: 1px solid #ffffffe6;
  border-radius: 24px;
  align-items: stretch;
  gap: 4px;
  padding: 6px;
  display: flex;
  box-shadow: inset 0 1px #fffc, 0 8px 28px -16px #1f6d9f40;
}

.patient-shell-nav__item {
  color: #486b82;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  border-radius: 18px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-items: center;
  gap: 4px;
  min-width: 0;
  min-height: 52px;
  display: flex;
  position: relative;
}

.patient-shell-nav__pill {
  z-index: 0;
  background: #daeff8c7;
  border-radius: 18px;
  position: absolute;
  inset: 0;
}

.patient-shell-nav__item > svg, .patient-shell-nav__item > .patient-shell-nav__label {
  z-index: 1;
  position: relative;
}

.patient-shell-nav__item[aria-current="page"] {
  color: #087c91;
}

.patient-shell-nav__label {
  font-size: 11px;
  font-weight: 500;
  line-height: 16px;
}

.patient-shell-nav__badge {
  z-index: 2;
  background: var(--patient-like);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
  display: flex;
  position: absolute;
  top: 1px;
  left: 50%;
  transform: translateX(10px);
}

.patient-shell-nav a:focus-visible {
  outline: 2px solid var(--patient-focus);
  outline-offset: 2px;
}

.store-page {
  color: var(--patient-ink);
  padding: 8px 16px 24px;
}

.store-page-header {
  align-items: center;
  gap: 12px;
  padding-block: 12px 24px;
  display: flex;
}

.store-page-header h1 {
  font-size: 24px;
  font-weight: 500;
  line-height: 36px;
}

.store-page h2 {
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
}

.store-page h3 {
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
}

.store-detail {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: 0;
  display: grid;
}

.store-detail__media {
  background: var(--patient-warm);
  min-height: 300px;
  color: var(--patient-muted);
  text-align: center;
  overflow-wrap: anywhere;
  border-radius: 20px;
  justify-content: center;
  align-items: center;
  padding: 24px;
  display: flex;
}

.store-gallery {
  min-width: 0;
  height: max(200px, calc(100dvh - 250px - env(safe-area-inset-bottom, 0px)));
  background: var(--patient-canvas);
  grid-template-rows: minmax(0, 1fr) 80px;
  gap: 8px;
  padding-bottom: 24px;
  display: grid;
  position: relative;
}

.store-gallery__strip {
  scroll-snap-type: x mandatory;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #fff;
  border-radius: 20px;
  grid-auto-columns: 100%;
  grid-auto-flow: column;
  min-height: 0;
  display: grid;
  overflow-x: auto;
}

.store-gallery__strip::-webkit-scrollbar {
  display: none;
}

.store-gallery__slide {
  scroll-snap-align: start;
  justify-content: center;
  align-items: center;
  min-width: 0;
  height: 100%;
  min-height: 0;
  display: flex;
}

.store-gallery__slide img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
}

.store-gallery__counter {
  bottom: 124px;
  color: #fff;
  pointer-events: none;
  background: #0000008c;
  border-radius: 999px;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
  position: absolute;
  inset-inline-start: 12px;
}

.store-gallery__track {
  background: #ffffff59;
  border-radius: 999px;
  width: 40px;
  height: 4px;
  overflow: hidden;
}

.store-gallery__bar {
  background: #fff;
  border-radius: 999px;
  height: 100%;
  display: block;
}

.store-mosaic {
  grid-template-columns: 80px 80px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  display: grid;
}

.store-mosaic__tile {
  border: 1px solid var(--patient-divider);
  aspect-ratio: 1;
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  padding: 0;
  overflow: hidden;
}

.store-mosaic__tile img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
}

.store-mosaic__all {
  white-space: normal;
  min-width: 0;
  height: 100%;
}

@media (max-height: 500px) {
  .store-gallery {
    grid-template-rows: minmax(0, 1fr) 56px;
  }

  .store-mosaic {
    grid-template-columns: 56px 56px minmax(0, 1fr);
  }

  .store-gallery__counter {
    bottom: 100px;
  }
}

.store-gallery-sheet__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.store-gallery-sheet__cell {
  border: 1px solid var(--patient-divider);
  aspect-ratio: 1;
  background: #fff;
  border-radius: 12px;
  overflow: hidden;
}

.store-gallery-sheet__cell img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.store-mosaic--pair {
  scrollbar-width: none;
  grid-template-columns: none;
  grid-auto-columns: 80px;
  grid-auto-flow: column;
  justify-content: start;
  overflow-x: auto;
}

.store-mosaic__tile {
  position: relative;
}

.store-mosaic__tag {
  inset-inline: 0;
  color: #fff;
  text-align: start;
  background: linear-gradient(#0000, #0000008c);
  padding: 12px 6px 4px;
  font-size: 11px;
  position: absolute;
  bottom: 0;
}

.store-gallery__divider {
  background: #ffffffb3;
  border-radius: 2px;
  width: 2px;
  height: 9px;
}

.store-viewer__photo {
  object-fit: contain;
  background: var(--patient-gallery, #f5f5f5);
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  touch-action: pan-y;
  cursor: grab;
  border-radius: 12px;
  width: 100%;
  max-height: 60vh;
  display: block;
}

.store-viewer__photo:active {
  cursor: grabbing;
}

.store-viewer__stage {
  position: relative;
}

.store-viewer__nav {
  width: 40px;
  height: 40px;
  color: var(--patient-ink);
  cursor: pointer;
  background: #ffffffe6;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  box-shadow: 0 2px 8px #173c5326;
}

.store-viewer__nav--prev {
  inset-inline-start: 8px;
}

.store-viewer__nav--next {
  inset-inline-end: 8px;
}

.store-toast {
  bottom: calc(90px + env(safe-area-inset-bottom, 0px));
  z-index: 40;
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  align-items: center;
  gap: 8px;
  width: calc(100% - 32px);
  max-width: 688px;
  padding: 12px;
  display: flex;
  position: fixed;
  left: 50%;
  box-shadow: 0 8px 24px #173c5326;
}

.store-toast__close {
  width: 36px;
  height: 36px;
  color: var(--patient-muted);
  cursor: pointer;
  background: none;
  border: 0;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.store-toast__check {
  background: var(--patient-success);
  color: #fff;
  border-radius: 999px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 28px;
  height: 28px;
  display: flex;
}

.store-toast__spinner {
  border: 3px solid var(--patient-soft);
  border-top-color: var(--patient-success);
  border-radius: 999px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  animation: .8s linear infinite store-spin;
}

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

@media (prefers-reduced-motion: reduce) {
  .store-toast__spinner {
    animation: none;
  }
}

.store-toast__title {
  min-width: 0;
  color: var(--patient-ink);
  white-space: nowrap;
  text-overflow: ellipsis;
  flex: 1;
  font-size: 14px;
  font-weight: 500;
  overflow: hidden;
}

.store-toast__go {
  background: var(--patient-soft);
  color: var(--patient-ink);
  cursor: pointer;
  white-space: nowrap;
  border: 0;
  border-radius: 999px;
  flex-shrink: 0;
  align-items: center;
  gap: 2px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.store-gallery__strip {
  cursor: grab;
}

.store-gallery__strip--single {
  touch-action: pan-y;
}

.store-gallery__strip--dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.store-gallery__strip--dragging, .store-gallery__strip--dragging * {
  -webkit-user-select: none;
  user-select: none;
}

.store-mosaic__tile {
  cursor: pointer;
  min-width: 0;
  height: 100%;
}

.store-mosaic__tile[aria-pressed="true"] {
  border-color: var(--patient-action);
  box-shadow: inset 0 0 0 1px var(--patient-action);
}

@media (max-height: 500px) {
  .store-mosaic--pair {
    grid-auto-columns: 56px;
  }
}

.store-detail__sheet {
  z-index: 2;
  background: #fff;
  border-radius: 20px 20px 0 0;
  min-width: 0;
  margin-top: -24px;
  padding: 8px 16px 4px;
  position: relative;
  box-shadow: 0 -4px 16px #173c5314;
}

.store-detail__handle {
  background: var(--patient-divider);
  border-radius: 999px;
  width: 40px;
  height: 5px;
  margin: 0 auto 4px;
}

.patient-store-shell .overflow-y-auto:has( > .store-product-page) {
  padding-bottom: 0;
  overflow: hidden;
}

.store-product-page {
  flex-direction: column;
  height: 100%;
  padding-bottom: 0;
  display: flex;
  container-type: inline-size;
}

.store-product-page > .store-page-header {
  flex-shrink: 0;
}

.store-detail--panel {
  overscroll-behavior-y: contain;
  isolation: isolate;
  scrollbar-width: none;
  min-height: 0;
  margin-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
  flex: 1;
  display: block;
  position: relative;
  overflow-y: auto;
}

.store-detail--panel > .store-gallery {
  height: min(100% - 136px, 100cqi + 80px);
  min-height: 120px;
  position: sticky;
  top: 0;
}

.store-detail--panel > .store-gallery:has(.store-gallery__strip--single) {
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  height: min(100% - 136px, 100cqi - 8px);
}

.store-detail--panel > .store-detail__sheet {
  border: 1px solid var(--patient-divider);
  min-height: 100%;
  padding-top: 0;
  padding-bottom: 24px;
}

.store-detail__handle-button {
  z-index: 3;
  width: 100%;
  min-height: 44px;
  color: var(--patient-muted);
  cursor: grab;
  touch-action: none;
  background: #fff;
  border: 0;
  border-radius: 18px 18px 0 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  display: flex;
  position: sticky;
  top: 0;
}

.store-detail__handle-button:active {
  cursor: grabbing;
}

.store-detail__handle-button .store-detail__handle {
  margin: 0;
}

.store-detail__handle-label {
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 20px;
  display: inline-flex;
}

.store-detail__handle-chevron {
  color: var(--patient-action);
  flex-shrink: 0;
}

.store-detail__sheet[data-expanded="true"] .store-detail__handle-chevron {
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: no-preference) {
  .store-detail__handle-chevron {
    transition: transform .2s cubic-bezier(.16, 1, .3, 1);
  }

  .store-detail__handle-button .store-detail__handle {
    transition: background-color .2s, width .2s;
  }
}

.store-detail--panel .store-related {
  margin-top: 16px;
}

.store-product-page {
  font-family: var(--font-vazirmatn), sans-serif;
  --patient-ink: #14213d;
  --patient-muted: #455473;
  --patient-action: #176b9a;
  --patient-blue-600: #176b9a;
  --patient-divider: #dce4f2;
  --patient-soft: #edf3ff;
  --foreground: #14213d;
  --muted-foreground: #455473;
  background: #fff;
}

.store-product-page > .store-page-header {
  gap: clamp(8px, 3cqi, 18px);
  padding-block: clamp(8px, 2cqi, 12px) clamp(10px, 3cqi, 16px);
}

.store-product-page > .store-page-header h1 {
  overflow-wrap: anywhere;
  min-width: 0;
  font-size: clamp(15px, 4.4cqi, 22px);
  line-height: 1.45;
}

.store-product-page > .store-page-header .store-icon-button {
  border: 1px solid var(--patient-divider);
  width: 44px;
  min-height: 44px;
  color: var(--patient-action);
  background: #fff;
  border-radius: 50%;
  flex-shrink: 0;
}

.store-product-page > .store-page-header .store-icon-button:hover {
  background: #edf3ff;
}

.store-product-page > .store-page-header .store-icon-button svg {
  width: clamp(18px, 5cqi, 24px);
  height: clamp(18px, 5cqi, 24px);
}

.store-product-page .store-gallery {
  background: #fff;
}

.store-product-page .store-gallery__strip {
  border: 1px solid var(--store-border);
  background: #fff;
  border-radius: clamp(16px, 5cqi, 24px);
}

.store-product-page .store-gallery__slide img {
  max-width: 560px;
  padding: clamp(6px, 2cqi, 16px);
}

.store-product-page .store-detail__sheet {
  --store-sheet-gutter: clamp(10px, 4cqi, 24px);
  padding-inline: var(--store-sheet-gutter);
  border-radius: 24px 24px 0 0;
  box-shadow: 0 -6px 24px #2458d81a;
}

.store-product-page .store-detail__handle-button {
  width: calc(100% + var(--store-sheet-gutter) + var(--store-sheet-gutter));
  margin-inline: calc(-1 * var(--store-sheet-gutter));
  color: #334d63;
  border-bottom: 1px solid #e1e8ee;
  border-radius: 22px 22px 0 0;
  min-height: 48px;
  margin-bottom: 12px;
}

.store-product-page .store-detail__handle-button:hover {
  color: var(--patient-action);
}

.store-product-page .store-detail__handle-button:hover .store-detail__handle {
  background: var(--patient-action);
  width: 56px;
}

.store-product-page .store-detail__sheet[data-expanded="true"] .store-detail__handle-button {
  border-bottom-color: #d7e3ff;
}

.store-product-page .store-detail__sheet[data-expanded="true"], .store-product-page .store-detail__sheet[data-expanded="true"] > .store-detail__handle-button {
  border-radius: 0;
}

.store-product-page .store-detail__handle {
  background: #758da0;
  width: 44px;
}

.store-product-page .store-detail__handle-label {
  font-size: 12px;
  font-weight: 500;
}

.store-product-page :is(.store-page-header h1, .store-detail__title h2, .store-description h3, .store-related h3) {
  font-family: var(--font-iranyekanx);
}

.store-product-page .store-detail__title {
  flex-wrap: wrap;
  gap: 4px 12px;
}

.store-product-page .store-detail__title > div:first-child {
  flex: 150px;
}

.store-product-page .store-detail__title h2 {
  color: var(--patient-ink);
  margin-block: 8px 12px;
  font-size: clamp(18px, 5.4cqi, 26px);
  font-weight: 500;
  line-height: 1.5;
}

.store-product-page .store-detail__actions {
  gap: 8px;
  padding-top: 8px;
}

.store-product-page dl dd {
  overflow-wrap: anywhere;
}

.store-product-page .store-lede {
  color: #455473;
  overflow-wrap: anywhere;
  margin-block: 4px 20px;
  padding: 0;
  font-size: clamp(15px, 4.3cqi, 17px);
  font-weight: 500;
  line-height: 1.9;
}

.store-product-page .store-facts {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  margin-block: 16px;
  overflow: hidden;
}

.store-product-page .store-facts > div {
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 13px 16px;
  display: flex;
}

.store-product-page .store-facts > div + div {
  border-top: 1px solid #edf1f6;
}

.store-product-page .store-facts dt {
  color: var(--patient-muted);
  flex-shrink: 0;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.store-product-page .store-facts dt svg {
  color: var(--patient-blue-600);
  flex-shrink: 0;
}

.store-product-page .store-facts dd {
  min-width: 0;
  font-family: var(--font-iranyekanx);
  color: var(--patient-ink);
  text-align: left;
  overflow-wrap: anywhere;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
}

.store-product-page .store-facts__code {
  font-variant-numeric: tabular-nums;
  letter-spacing: .01em;
}

.store-product-page .store-description .store-clamp {
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

.store-product-page .store-more {
  min-height: 44px;
  color: var(--patient-action);
  cursor: pointer;
  background: #fff;
  border: 1px solid #d9e2f2;
  border-radius: 12px;
  margin-top: 12px;
  padding-inline: 16px;
  font-size: 13px;
  font-weight: 500;
}

.store-product-page .store-more:hover {
  background: #edf3ff;
}

.store-product-page .store-more:focus-visible {
  outline: 2px solid var(--patient-action);
  outline-offset: 2px;
}

.store-product-page .store-content-nav {
  z-index: 2;
  border-bottom: 1px solid var(--patient-divider);
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #fff;
  flex-wrap: nowrap;
  gap: 8px;
  padding-block: 8px 12px;
  display: flex;
  position: sticky;
  top: 60px;
  overflow-x: auto;
}

.store-product-page .store-content-nav::-webkit-scrollbar {
  display: none;
}

.store-product-page .store-content-nav a {
  white-space: nowrap;
  color: #34476b;
  background: #f4f6fb;
  border-radius: 12px;
  flex-shrink: 0;
  align-items: center;
  min-height: 44px;
  padding-inline: 14px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
  display: inline-flex;
}

.store-product-page .store-content-nav a:hover {
  color: #1d49bd;
  background: #e8efff;
}

.store-product-page .store-content-nav a[aria-current="true"] {
  background: var(--patient-action);
  color: #fff;
  box-shadow: 0 4px 12px #2458d847;
}

@media (prefers-reduced-motion: no-preference) {
  .store-product-page .store-content-nav a {
    transition: background-color .18s, color .18s, box-shadow .18s;
  }
}

.store-product-page .store-description {
  background: #fff;
  border: 0;
  border-bottom: 1px solid #edf0f6;
  border-radius: 0;
  margin-top: 0;
  padding-block: 20px;
  padding-inline: 0;
  scroll-margin-top: 64px;
}

.store-product-page .store-section-icon {
  color: #2458d8;
  background: #edf3ff;
  border-radius: 10px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: inline-flex;
}

.store-product-page .store-description h3 {
  color: #14213d;
  overflow-wrap: anywhere;
  align-items: center;
  gap: 8px;
  font-size: clamp(15px, 4.4cqi, 18px);
  font-weight: 500;
  line-height: 1.65;
  display: flex;
}

.store-product-page .store-description p {
  color: #334363;
  max-width: 65ch;
  margin-top: 12px;
  font-size: clamp(14px, 4.1cqi, 16px);
  font-weight: 400;
  line-height: 1.95;
}

.store-product-page .store-related h3 {
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-product-page .store-related h3:before {
  content: "";
  background: var(--patient-blue-600);
  border-radius: 999px;
  flex-shrink: 0;
  width: 4px;
  height: 20px;
}

.store-product-page .store-purchase-bar__price .store-price {
  color: var(--patient-blue-600);
  font-size: clamp(17px, 5.5cqi, 22px);
}

.store-product-page .store-description[aria-label="دستور مصرف"] {
  background: #ecf8f4;
  border: 0;
  border-radius: 16px;
  margin-block: 16px;
  padding: clamp(12px, 4cqi, 18px);
}

.store-product-page .store-description[aria-label="دستور مصرف"] h3 {
  color: #126452;
}

.store-product-page .store-description[aria-label="دستور مصرف"] .store-section-icon {
  color: #126452;
  background: #d6eee4;
}

.store-product-page .store-description:is([aria-label="هشدارها"], [aria-label="موارد منع مصرف"]) {
  background: #fff7e8;
  border: 0;
  border-radius: 16px;
  margin-block: 12px;
  padding: clamp(12px, 4cqi, 18px);
}

.store-product-page .store-description h3 svg {
  flex-shrink: 0;
}

@container (max-width: 320px) {
  .store-product-page .store-facts > div {
    padding-inline: 12px;
  }
}

.store-product-page .store-description:is([aria-label="هشدارها"], [aria-label="موارد منع مصرف"]) h3 {
  color: #754508;
}

.store-product-page .store-description--warning .store-section-icon {
  color: #754508;
  background: #ffebc3;
}

.store-product-page .store-sku {
  overflow-wrap: anywhere;
  margin-top: 20px;
  font-size: 13px;
}

.store-product-page .store-purchase-bar {
  border-top-color: #b4c9d9;
  box-shadow: 0 -4px 16px #152e401f;
}

@media (max-height: 500px) {
  .store-product-page > .store-page-header {
    padding-block: 4px;
  }

  .store-detail--panel > .store-gallery {
    grid-template-rows: minmax(0, 1fr) 44px;
  }

  .store-detail--panel .store-mosaic--pair {
    grid-auto-columns: 44px;
  }
}

.store-detail__sheet .store-product-rail {
  min-width: 0;
  max-width: 100%;
  margin-inline: 0;
}

.store-detail__media {
  flex-direction: column;
  gap: 10px;
}

.store-related {
  z-index: 2;
  border-block-start: 1px solid var(--patient-divider);
  background: #fff;
  min-width: 0;
  padding-block: 20px 4px;
  position: relative;
}

.store-related h3 {
  margin-bottom: 12px;
}

.store-related .store-grid {
  margin-top: 0;
}

.store-detail__title {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.store-detail__title > div:first-child {
  min-width: 0;
}

.store-detail__actions {
  flex-shrink: 0;
  gap: 4px;
  display: flex;
}

.store-detail__title h2 {
  font-family: var(--font-iranyekanx);
  overflow-wrap: anywhere;
  font-size: 20px;
  line-height: 30px;
}

.store-sku {
  color: var(--patient-muted);
  margin-top: 12px;
  font-size: 14px;
  line-height: 24px;
}

.store-price--large {
  font-size: 24px;
  line-height: 36px;
}

.store-description {
  border-block-start: 1px solid var(--patient-divider);
  padding-block: 20px;
}

.store-description p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin-top: 8px;
  font-size: 16px;
  line-height: 28px;
}

.store-specs {
  border-block-start: 1px solid var(--patient-divider);
  margin-top: 4px;
  padding-block: 20px 4px;
}

.store-specs h3, .store-reviews h3 {
  color: var(--patient-ink);
  font-size: 16px;
  font-weight: 500;
  line-height: 28px;
}

.store-spec-rail {
  scrollbar-width: none;
  -ms-overflow-style: none;
  cursor: grab;
  gap: 8px;
  margin-block: 12px 0;
  padding-block: 4px;
  display: flex;
  overflow-x: auto;
}

.store-spec-rail::-webkit-scrollbar {
  display: none;
}

.store-spec-rail--dragging {
  cursor: grabbing;
}

.store-spec-rail--dragging, .store-spec-rail--dragging * {
  -webkit-user-select: none;
  user-select: none;
}

.store-spec-chip {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 12px;
  flex-direction: column;
  flex-shrink: 0;
  gap: 2px;
  padding: 8px 12px;
  display: flex;
}

.store-spec-chip__key {
  color: var(--patient-muted);
  white-space: nowrap;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  line-height: 20px;
  display: flex;
}

.store-spec-chip strong {
  color: var(--patient-ink);
  white-space: nowrap;
  text-overflow: ellipsis;
  max-width: 50vw;
  font-size: 13px;
  line-height: 22px;
  overflow: hidden;
}

.store-flip {
  transform: rotate(180deg);
}

.store-spec-table {
  border-collapse: collapse;
  width: 100%;
  margin-top: 12px;
  font-size: 14px;
  line-height: 24px;
}

.store-spec-table th, .store-spec-table td {
  border-bottom: 1px solid var(--patient-divider);
  text-align: start;
  vertical-align: top;
  padding: 10px 12px;
}

.store-spec-table th {
  white-space: nowrap;
  color: var(--patient-muted);
  background: var(--patient-soft);
  border-radius: 0;
  font-weight: 500;
}

.store-reviews {
  border-block-start: 1px solid var(--patient-divider);
  margin-top: 4px;
  padding-block: 20px 4px;
}

.store-reviews__head {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.store-reviews__score {
  color: var(--patient-ink);
  align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 500;
  display: flex;
}

.store-reviews__score span {
  color: var(--patient-muted);
  font-size: 12px;
  font-weight: 400;
}

.store-reviews__list {
  gap: 8px;
  margin-top: 12px;
  display: grid;
}

.store-review {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  padding: 12px;
}

.store-review__head {
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-review__name {
  color: var(--patient-ink);
  font-size: 13px;
  font-weight: 500;
}

.store-review__buyer {
  color: var(--patient-success);
  background: #1767471a;
  border-radius: 999px;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 500;
  line-height: 20px;
}

.store-review__date {
  color: var(--patient-muted);
  margin-inline-start: auto;
  font-size: 11px;
}

.store-stars {
  gap: 2px;
  margin-top: 8px;
  display: inline-flex;
}

.store-star--on {
  color: var(--patient-rating);
}

.store-star--off {
  color: var(--patient-divider);
}

.store-review__text {
  color: var(--patient-ink);
  overflow-wrap: anywhere;
  margin-top: 8px;
  font-size: 14px;
  line-height: 26px;
}

.store-purchase-bar {
  z-index: 30;
  width: 100%;
  max-width: 720px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px));
  border-top: 1px solid var(--patient-divider);
  background: #fff;
  align-items: center;
  gap: 12px;
  display: flex;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 16px #173c5314;
}

.store-purchase-bar__action {
  flex: 1;
  min-width: 0;
}

.store-purchase-bar__price {
  flex: 1;
  justify-content: flex-end;
  min-width: 0;
  display: flex;
}

.store-purchase-bar__price .store-price {
  font-size: 20px;
  line-height: 28px;
}

.store-purchase-bar .store-quantity {
  gap: 4px;
  padding: 2px;
}

.store-purchase-bar .store-quantity output {
  min-width: 28px;
}

.store-purchase-bar .store-icon-button {
  width: 40px;
  min-height: 40px;
}

@media (max-width: 380px) {
  .store-purchase-bar__action {
    flex: 1.6;
  }

  .store-purchase-bar .store-full-button {
    gap: 6px;
    padding-inline: 12px;
    font-size: 14px;
  }
}

.store-detail__media--image img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  max-height: 320px;
}

.store-rating-row {
  align-items: center;
  gap: 4px;
  margin-top: 8px;
  display: flex;
}

.store-rating-star {
  color: var(--patient-rating);
}

.store-rating-score {
  color: var(--patient-ink);
  font-size: 14px;
  font-weight: 500;
}

.store-rating-count {
  color: var(--patient-muted);
  font-size: 12px;
}

.store-seller {
  border-top: 1px solid var(--patient-divider);
  margin-top: 12px;
  padding-top: 12px;
}

.store-seller h3 {
  color: var(--patient-ink);
  margin-bottom: 8px;
  font-size: 15px;
  font-weight: 500;
  line-height: 26px;
}

.store-seller__row {
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-seller__icon {
  background: var(--patient-soft);
  width: 40px;
  height: 40px;
  color: var(--patient-action);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.store-seller__name {
  color: var(--patient-ink);
  font-size: 14px;
  font-weight: 500;
}

.store-seller__verified {
  color: var(--patient-action);
}

.store-seller__chips {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  display: flex;
}

.store-mini-chip {
  border: 1px solid var(--patient-divider);
  color: var(--patient-ink);
  border-radius: 10px;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 12px;
  display: inline-flex;
}

.store-mini-chip strong {
  font-weight: 500;
}

.store-seller__guarantees {
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.store-seller__guarantees li {
  color: var(--patient-ink);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  display: flex;
}

.store-seller__guarantees svg {
  color: var(--patient-action);
  flex-shrink: 0;
}

.store-count-chips {
  gap: 8px;
  margin-top: 12px;
  display: flex;
}

.store-count-chips a {
  background: var(--patient-soft);
  color: var(--patient-ink);
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.store-count {
  color: var(--patient-muted);
  font-size: 12px;
  font-weight: 500;
}

.store-summary-card {
  background: var(--patient-soft);
  border-radius: 16px;
  margin-top: 12px;
  padding: 16px;
}

.store-summary-card__badge {
  color: var(--patient-ink);
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.store-summary-card__text {
  color: var(--patient-ink);
  margin-top: 8px;
  font-size: 14px;
  line-height: 26px;
}

.store-summary-card__chips {
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
  display: flex;
}

.store-point {
  background: #fff;
  border-radius: 10px;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.store-point--pro {
  color: var(--patient-success);
}

.store-point--con {
  color: var(--patient-error);
}

.store-summary-card__note {
  color: var(--patient-muted);
  margin-top: 10px;
  font-size: 11px;
}

.store-summary-card__vote {
  color: var(--patient-muted);
  align-items: center;
  gap: 8px;
  margin-top: 10px;
  font-size: 13px;
  display: flex;
}

.store-summary-card__vote button {
  width: 36px;
  height: 36px;
  color: var(--patient-muted);
  cursor: pointer;
  background: #fff;
  border: 0;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  display: flex;
}

.store-summary-card__vote .store-vote--on {
  background: var(--patient-action);
  color: #fff;
}

.store-question {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  display: flex;
}

.store-question__q {
  color: var(--patient-ink);
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 500;
}

.store-question__a {
  background: var(--patient-soft);
  border-radius: 12px;
  padding: 10px 12px;
}

.store-question__who {
  color: var(--patient-action);
  align-items: center;
  gap: 4px;
  margin-bottom: 4px;
  font-size: 12px;
  font-weight: 500;
  display: flex;
}

.store-question__a p:last-child {
  color: var(--patient-ink);
  font-size: 13px;
  line-height: 24px;
}

.store-gallery__slide img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  max-width: 420px;
  height: 100%;
}

.store-quantity {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 12px;
  align-items: center;
  gap: 8px;
  padding: 4px;
  display: inline-flex;
}

.store-quantity output {
  text-align: center;
  font-variant-numeric: tabular-nums;
  min-width: 32px;
  font-weight: 500;
}

.store-full-button {
  width: 100%;
}

.store-inline-status {
  min-height: 24px;
  color: var(--patient-muted);
  margin-top: 12px;
  font-size: 14px;
  line-height: 24px;
}

.store-cart-list {
  gap: 12px;
  margin-top: 16px;
  display: grid;
}

.store-cart-list:empty {
  display: none;
}

.store-cart-item {
  border: 1px solid var(--patient-divider);
  background: #fff;
  border-radius: 16px;
  gap: 12px;
  padding: 12px;
  display: flex;
  position: relative;
}

.store-cart-item__side {
  flex-direction: column;
  flex-shrink: 0;
  align-items: center;
  gap: 8px;
  display: flex;
}

.store-cart-item__media {
  background: var(--patient-gallery, #f5f5f5);
  border-radius: 12px;
  width: 96px;
  height: 96px;
  display: flex;
  overflow: hidden;
}

.store-cart-item__media img {
  object-fit: cover;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
}

.store-cart-item__main {
  flex-direction: column;
  flex: 1;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.store-cart-item__title h2 {
  color: #111;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  min-height: 48px;
  max-height: 48px;
  font-size: 14px;
  font-weight: 500;
  line-height: 24px;
  display: -webkit-box;
  overflow: hidden;
}

.store-cart-item__seller {
  color: var(--patient-muted);
  align-items: center;
  gap: 4px;
  font-size: 12px;
  line-height: 20px;
  display: flex;
}

.store-cart-item__price {
  justify-content: flex-end;
  margin-top: auto;
  display: flex;
}

.store-cart-item__status {
  color: var(--patient-muted);
  min-height: 20px;
  font-size: 12px;
  line-height: 20px;
}

.store-cart-item__removing {
  z-index: 2;
  text-align: center;
  background: #fff;
  border-radius: 16px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding: 12px;
  display: flex;
  position: absolute;
  inset: 0;
}

.store-cart-item__removing p {
  color: var(--patient-ink);
  font-size: 15px;
  font-weight: 500;
  line-height: 26px;
}

.store-undo-bar {
  background: var(--patient-soft);
  border-radius: 999px;
  width: 120px;
  height: 6px;
  overflow: hidden;
}

.store-undo-bar span {
  border-radius: inherit;
  background: var(--patient-action);
  transform-origin: 100%;
  height: 100%;
  animation: 5s linear forwards store-undo-drain;
  display: block;
}

@keyframes store-undo-drain {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

.store-undo-cancel {
  border: 1px solid var(--patient-divider);
  min-height: 40px;
  color: var(--patient-ink);
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  align-items: center;
  gap: 6px;
  padding: 0 16px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

@media (prefers-reduced-motion: reduce) {
  .store-undo-bar span {
    animation: none;
  }
}

.store-cart-bar {
  z-index: 15;
  border-top: 1px solid var(--patient-divider);
  background: #fff;
  align-items: center;
  gap: 12px;
  width: 100%;
  max-width: 720px;
  padding: 12px 16px;
  display: flex;
  position: fixed;
  bottom: 76px;
  left: 50%;
  transform: translateX(-50%);
  box-shadow: 0 -4px 16px #173c5314;
}

.store-cart-bar__action {
  flex: 1;
  min-width: 0;
}

.store-cart-bar__total {
  flex-direction: column;
  flex: 1;
  align-items: flex-end;
  gap: 2px;
  min-width: 0;
  display: flex;
}

.store-cart-bar__total > span {
  color: var(--patient-muted);
  font-size: 12px;
  line-height: 20px;
}

.store-cart-bar__total .store-price {
  font-size: 16px;
  line-height: 26px;
}

.store-cart-item .store-icon-button {
  width: 40px;
  min-height: 40px;
}

.store-cart-item .store-quantity output {
  min-width: 28px;
}

.store-divider {
  background: var(--patient-soft);
  height: 8px;
  margin: 20px -16px 0;
}

.store-recent {
  border: 1px solid var(--store-border);
  background: #fff;
  border-radius: 10px;
  flex-direction: column;
  min-width: 0;
  display: flex;
  overflow: hidden;
}

.store-recent__media {
  aspect-ratio: 1;
  background: var(--patient-gallery, #f5f5f5);
  display: flex;
}

.store-recent__media img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  width: 100%;
  height: 100%;
}

.store-recent__body {
  flex-direction: column;
  flex: 1;
  gap: 4px;
  padding: 8px;
  display: flex;
}

.store-recent__title {
  display: block;
}

.store-recent__title h3 {
  color: #111;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  -webkit-box-orient: vertical;
  min-height: 44px;
  max-height: 44px;
  font-size: 13px;
  font-weight: 500;
  line-height: 22px;
  display: -webkit-box;
  overflow: hidden;
}

.store-recent__body > .store-price {
  margin-top: auto;
  font-size: 15px;
  line-height: 26px;
}

.store-page .store-grid {
  margin-top: 12px;
}

.store-page .store-product__title h2 {
  font-size: 13px;
  line-height: 24px;
}

@media (min-width: 600px) {
  .store-detail__media {
    min-height: 300px;
  }

  .store-cart-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: start;
  }

  .store-summary {
    padding: 20px;
  }

  .store-page .store-product__title h2 {
    font-size: 15px;
    line-height: 24px;
  }
}

.wallet-notice {
  border-radius: 14px;
  align-items: flex-start;
  gap: 8px;
  margin-top: 12px;
  padding: 12px 14px;
  font-size: 13px;
  font-weight: 600;
  line-height: 22px;
  display: flex;
}

.wallet-notice--frozen {
  background: var(--patient-error-surface);
  color: var(--patient-error);
}

.wallet-notice--info {
  background: var(--patient-soft);
  color: var(--patient-ink);
}

.wallet-chooser {
  gap: 10px;
  display: grid;
}

.wallet-method {
  text-align: start;
  border: 1.5px solid var(--patient-divider);
  cursor: pointer;
  background: #fff;
  border-radius: 16px;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  padding: 14px;
  display: flex;
}

.wallet-method[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

.wallet-method[aria-pressed="true"] {
  border-color: var(--patient-action);
  box-shadow: 0 0 0 3px #176b9a1f;
}

.wallet-method__icon {
  background: var(--patient-soft);
  width: 40px;
  height: 40px;
  color: var(--patient-action);
  border-radius: 12px;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  display: flex;
}

.wallet-method__body {
  flex: 1;
  min-width: 0;
}

.wallet-method__title {
  color: var(--patient-ink);
  font-size: 14px;
  font-weight: 700;
}

.wallet-method__hint {
  color: var(--patient-muted);
  margin-top: 2px;
  font-size: 12px;
  line-height: 20px;
}

.wallet-amount-total {
  background: var(--patient-soft);
  border-radius: 16px;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  padding: 16px;
  display: flex;
}

.wallet-amount-total span {
  color: var(--patient-muted);
  font-size: 13px;
}

.wallet-amount-total strong {
  font-family: var(--font-price);
  color: var(--patient-ink);
  font-variant-numeric: tabular-nums;
  font-size: 22px;
  font-weight: 800;
}

.patient-home-shell, .patient-storefront-shell {
  background: #e9f4fc;
}

.patient-storefront-shell .patient-app-frame {
  box-shadow: none;
  background: #e9f4fc;
}

.patient-home-shell .patient-app-frame {
  box-shadow: none;
  background: none;
}

.home-page {
  --home-ink: #173d59;
  --home-muted: #486b82;
  --home-action: #087c91;
  --home-action-hover: #066477;
  --home-line: #78adcf3d;
  --home-glass: #fff9;
  --patient-ink: var(--home-ink);
  --patient-muted: var(--home-muted);
  --patient-action: var(--home-action);
  --font-weight-medium: 500;
  --font-weight-semibold: 500;
  --font-weight-bold: 500;
  color: var(--home-ink);
  font-family: var(--font-iranyekanx);
  font-synthesis: none;
  isolation: isolate;
  background: radial-gradient(560px 680px at 100% 0, #6eb6e83d, #0000 72%), radial-gradient(520px 700px at 0 24%, #6cdde53d, #0000 72%), linear-gradient(#e9f4fe, #edf9fc 56%, #f5fbff);
  min-height: 100%;
  padding: 22px 18px 32px;
  position: relative;
}

.home-page > section, .home-page > .home-hero-frame, .home-page > .home-content-grid, .home-page > .home-store {
  margin-top: 26px;
}

.home-header {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.home-header p {
  color: var(--home-muted);
  font-size: 12px;
  line-height: 24px;
}

.home-header h1 {
  font-size: 18px;
  font-weight: 500;
  line-height: 32px;
}

.home-icon-link {
  width: 44px;
  height: 44px;
  color: var(--home-action);
  cursor: pointer;
  background: #fff9;
  border: 1px solid #ffffffe6;
  border-radius: 16px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
  position: relative;
  box-shadow: 0 3px 12px -6px #24669633, inset 0 1px #fff;
}

.home-unread {
  background: var(--home-action);
  border-radius: 50%;
  width: 7px;
  height: 7px;
  position: absolute;
  top: 8px;
  right: 8px;
  box-shadow: 0 0 0 2px #f2faff;
}

.home-hero-frame {
  isolation: isolate;
  position: relative;
}

.home-hero-frame:before, .home-hero-frame:after {
  content: "";
  z-index: -1;
  pointer-events: none;
  filter: blur(30px);
  border-radius: 50%;
  position: absolute;
}

.home-hero-frame:before {
  background: #42a7e752;
  width: 62%;
  height: 64%;
  top: 14%;
  left: 0;
}

.home-hero-frame:after {
  background: #76e7ea47;
  width: 58%;
  height: 52%;
  top: 0;
  right: -4%;
}

.home-page .home-next {
  isolation: isolate;
  -webkit-backdrop-filter: blur(20px) saturate(120%);
  background: #f6fcff6e;
  border: 1px solid #ffffffe6;
  border-radius: 28px;
  padding: 12px 20px 16px;
  position: relative;
  box-shadow: inset 0 1px #fff, inset 0 -1px #ffffffa6, 0 18px 48px -28px #1e679b57;
}

.home-next:before {
  content: "";
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(130deg, #ffffff8a, #0000 42%, #ffffff38);
  position: absolute;
  inset: 0;
}

.home-section-heading {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.home-section-heading h2 {
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}

.home-section-heading p {
  color: var(--home-muted);
  margin-top: 2px;
  font-size: 12px;
  line-height: 24px;
}

.home-section-heading > a, .home-section-heading > button {
  min-height: 44px;
  color: var(--home-action);
  cursor: pointer;
  align-items: center;
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
}

.home-next .home-section-heading {
  color: var(--home-muted);
  margin-bottom: 8px;
  font-size: 12px;
}

.home-next-stage {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  grid-template-areas: "copy copy"
                       "action brain";
  align-items: center;
  gap: 6px 12px;
  min-height: 260px;
  display: grid;
}

.home-next-copy {
  grid-area: copy;
  min-width: 0;
  padding-top: 2px;
}

.home-next h2 {
  text-wrap: pretty;
  overflow-wrap: anywhere;
  margin: 0;
  font-size: 21px;
  font-weight: 500;
  line-height: 1.7;
}

.home-next-description {
  max-width: 48ch;
  color: var(--home-muted);
  margin-top: 8px;
  font-size: 14px;
  line-height: 27px;
}

.home-next-action {
  grid-area: action;
  align-self: center;
  min-width: 0;
  padding-block: 14px;
}

.home-next-link {
  background: var(--home-action);
  color: #fff;
  white-space: normal;
  border: 1px solid #ffffff4d;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 500;
  line-height: 24px;
  display: inline-flex;
  box-shadow: 0 6px 18px -10px #0568807a;
}

.home-next-link svg {
  flex-shrink: 0;
}

.home-brain {
  grid-area: brain;
  place-items: center;
  min-width: 0;
  padding-block: 4px;
  display: grid;
}

.home-brain img {
  object-fit: contain;
  -webkit-user-select: none;
  user-select: none;
  width: 100%;
  max-width: 164px;
  height: auto;
  display: block;
}

.home-profile-status {
  border-top: 1px solid var(--home-line);
  min-height: 42px;
  color: var(--home-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  margin-top: 6px;
  padding-top: 12px;
  font-size: 11px;
  line-height: 23px;
  display: flex;
}

.home-profile-status > span:last-child {
  color: var(--home-ink);
  margin-inline-start: auto;
  font-weight: 500;
}

.home-profile-placeholder {
  min-height: 23px;
}

.home-setup-steps {
  border-top: 1px solid var(--home-line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 6px 0 0;
  padding: 16px 0 0;
  list-style: none;
  display: grid;
}

.home-setup-steps li {
  text-align: center;
  min-width: 0;
  color: var(--home-muted);
  flex-direction: column;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  line-height: 22px;
  display: flex;
}

.home-step-number {
  border: 1px solid var(--home-line);
  background: #ffffffa6;
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  width: 28px;
  height: 28px;
  display: grid;
}

.home-setup-steps [data-state="CURRENT"] {
  color: var(--home-ink);
  font-weight: 500;
}

.home-setup-steps [data-state="CURRENT"] .home-step-number {
  background: var(--home-action);
  color: #fff;
  border-color: var(--home-action);
  box-shadow: 0 0 0 4px #087c9117;
}

.home-setup-steps [data-state="COMPLETE"] .home-step-number {
  color: #12675f;
  background: #d9f2ef;
  border-color: #a4d6cf;
}

.home-status-facts {
  border-top: 1px solid var(--home-line);
  color: var(--home-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: 6px;
  padding-top: 14px;
  font-size: 11px;
  line-height: 24px;
  display: flex;
}

.home-status-facts > :is(span, a) {
  align-items: center;
  gap: 6px;
  display: inline-flex;
}

.home-status-facts > a {
  min-height: 44px;
  color: var(--home-action);
}

.home-result-meta {
  color: var(--home-muted);
  overflow-wrap: anywhere;
  margin-top: 10px;
  font-size: 11px;
  line-height: 23px;
}

.home-inline-action {
  min-height: 44px;
  color: var(--home-action);
  text-underline-offset: 4px;
  cursor: pointer;
  align-items: center;
  margin-top: 6px;
  font-size: 12px;
  text-decoration: underline;
  display: inline-flex;
}

.home-pending-list {
  gap: 10px;
  display: grid;
}

.home-pending-item {
  background: #f6fcffb3;
  border: 1px solid #ffffffeb;
  border-radius: 22px;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  display: flex;
  box-shadow: inset 0 1px #fff, 0 10px 30px -25px #1e679b59;
}

.home-pending-item > div {
  flex: 1;
  min-width: 0;
}

.home-pending-item h3 {
  color: var(--home-ink);
  overflow-wrap: anywhere;
  font-size: 13px;
  font-weight: 500;
  line-height: 26px;
}

.home-pending-item p {
  color: var(--home-muted);
  overflow-wrap: anywhere;
  margin-top: 3px;
  font-size: 12px;
  line-height: 24px;
}

.home-pending-item > svg {
  color: var(--home-action);
  flex-shrink: 0;
}

.home-pending-icon {
  width: 42px;
  height: 42px;
  color: var(--home-action);
  background: #dff0fa;
  border-radius: 14px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
  box-shadow: inset 0 1px #fff;
}

.home-pending-item:hover {
  background: #e2f3fb;
}

@media (min-width: 1024px) {
  .home-pending-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-pending-item {
    align-items: flex-start;
  }

  .home-pending-item > svg {
    margin-top: 9px;
  }

  .home-setup-steps li {
    flex-direction: row;
    justify-content: center;
  }
}

.home-next-loading {
  min-height: 91px;
  color: var(--home-muted);
  font-size: 14px;
  line-height: 27px;
}

.home-next-loading > span {
  background: #cce2ef;
  border-radius: 8px;
  width: 72%;
  height: 25px;
  margin-block: 8px 14px;
  display: block;
}

.home-next-loading-action {
  background: #cce2ef;
  border-radius: 14px;
  width: 116px;
  height: 46px;
  display: block;
}

.home-next-copy [role="alert"] {
  margin-top: 10px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 24px;
}

.home-services {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.home-service {
  background: linear-gradient(145deg, #fffc, #e7f6fdb8);
  border: 1px solid #ffffffe0;
  border-radius: 22px;
  min-width: 0;
  padding: 16px 14px 18px;
  display: block;
  position: relative;
  box-shadow: 0 7px 22px -19px #256b9a5c, inset 0 1px #fff;
}

.home-service-icon {
  width: 42px;
  height: 42px;
  color: var(--home-action);
  background: linear-gradient(140deg, #ebf8ff, #d7edf9);
  border-radius: 14px;
  place-items: center;
  margin-bottom: 12px;
  display: grid;
  box-shadow: inset 0 1px #fff;
}

.home-service h3 {
  font-size: 13px;
  font-weight: 500;
  line-height: 25px;
}

.home-service p {
  color: var(--home-muted);
  margin-top: 3px;
  font-size: 12px;
  line-height: 23px;
}

.home-service-arrow {
  top: 28px;
  color: var(--home-action);
  position: absolute;
  inset-inline-end: 16px;
}

.home-access {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: linear-gradient(120deg, #ffffffb3, #d9f0fa91);
  border: 1px solid #fffffff0;
  border-radius: 26px;
  min-width: 0;
  padding: 18px 14px 20px;
  box-shadow: inset 0 1px #fff, 0 14px 36px -28px #256b9a6b;
}

.home-access .home-section-heading {
  margin-bottom: 18px;
  padding-inline: 5px;
}

.home-section-detail {
  width: 38px;
  height: 38px;
  color: var(--home-action);
  place-items: center;
  display: grid;
}

.home-followups {
  overscroll-behavior-inline: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
  scrollbar-color: #87b9ce transparent;
  grid-auto-columns: minmax(104px, 1fr);
  grid-auto-flow: column;
  gap: 10px;
  padding: 6px 6px 12px;
  scroll-padding-inline: 6px;
  display: grid;
  overflow-x: auto;
}

.home-followups a {
  min-width: 0;
  min-height: 90px;
  color: var(--home-ink);
  text-align: center;
  scroll-snap-align: start;
  border-radius: 16px;
  flex-direction: column;
  justify-content: start;
  align-items: center;
  gap: 10px;
  padding: 4px 2px;
  font-size: 12px;
  font-weight: 400;
  line-height: 23px;
  display: flex;
}

.home-access-icon {
  width: 54px;
  height: 54px;
  color: var(--home-action);
  background: linear-gradient(140deg, #fffffffa, #d6edf9);
  border: 1px solid #fffffff2;
  border-radius: 18px;
  place-items: center;
  display: grid;
  box-shadow: 0 7px 14px -10px #146c9c6b, inset 0 1px #fff;
}

.home-store {
  background: linear-gradient(110deg, #d1eaf7, #e9f8fd);
  border: 1px solid #ffffffe6;
  border-radius: 24px;
  align-items: center;
  gap: 14px;
  padding: 20px 18px;
  display: flex;
  box-shadow: inset 0 1px #fff, 0 8px 24px -22px #19659a66;
}

.home-store-icon {
  width: 50px;
  height: 50px;
  color: var(--home-action);
  background: #ffffffa6;
  border-radius: 17px;
  flex-shrink: 0;
  place-items: center;
  display: grid;
}

.home-store div {
  flex: 1;
  min-width: 0;
}

.home-store h2 {
  font-size: 14px;
  font-weight: 500;
  line-height: 27px;
}

.home-store p {
  color: var(--home-muted);
  font-size: 11px;
  line-height: 23px;
}

.home-store > svg {
  color: var(--home-action);
  flex-shrink: 0;
}

.home-content-grid {
  gap: 16px;
  display: grid;
}

.home-page .home-setup-hint strong {
  font-size: 12px;
  font-weight: 500;
}

.home-panel {
  background: var(--home-glass);
  border: 1px solid #ffffffe0;
  border-radius: 24px;
  min-width: 0;
  padding: 16px 18px;
  box-shadow: inset 0 1px #fff;
}

.home-panel .home-section-heading {
  margin-bottom: 4px;
}

.home-panel .home-section-heading h2 {
  font-size: 14px;
}

.home-caption {
  color: var(--home-muted);
  font-size: 12px;
  line-height: 26px;
}

.home-content-link {
  border-bottom: 1px solid var(--home-line);
  min-height: 54px;
  color: var(--home-action);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  padding-block: 14px;
  display: flex;
}

.home-content-link:last-child {
  border: 0;
}

.home-content-link h3 {
  min-width: 0;
  color: var(--home-ink);
  overflow-wrap: anywhere;
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  line-height: 26px;
}

.home-content-link p {
  width: 100%;
  color: var(--home-muted);
  font-size: 12px;
  line-height: 26px;
}

button.home-content-link {
  text-align: start;
  cursor: pointer;
  width: 100%;
}

.home-page :is(a, button):focus-visible {
  outline-offset: 3px;
  outline: 2px solid #086e9b;
}

.home-page :is(a, button) {
  scroll-margin-block: 24px 110px;
}

.home-page :is(.home-service, .home-followups a, .home-content-link):hover {
  background-color: #e2f3fb;
}

.home-page .home-icon-link:hover {
  background: #fff;
}

.home-page .home-next-link:hover {
  background: var(--home-action-hover);
}

@media (prefers-reduced-motion: no-preference) {
  .home-page :is(a, button) {
    transition: background-color .16s, box-shadow .16s;
  }
}

@media (min-width: 600px) {
  .home-page {
    padding: 26px 30px 40px;
  }

  .home-page .home-next {
    padding: 16px 28px 20px;
  }

  .home-next-stage {
    grid-template: "copy brain" 1fr
                   "action brain"
                   / minmax(0, 1.3fr) minmax(0, 1fr);
    gap: 0 22px;
    min-height: 280px;
  }

  .home-next-copy {
    align-self: end;
    padding-top: 16px;
  }

  .home-next-action {
    align-self: start;
    padding-block: 18px 28px;
  }

  .home-brain img {
    max-width: 230px;
  }

  .home-next h2 {
    font-size: 23px;
    line-height: 1.8;
  }

  .home-next-description {
    font-size: 14px;
    line-height: 28px;
  }

  .home-access {
    padding: 22px;
  }

  .home-followups a {
    font-size: 12px;
  }

  .home-content-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .patient-home-shell, .patient-store-shell {
    --patient-frame-max: 1120px;
  }

  .home-page {
    padding: 28px 40px 40px;
  }

  .home-page .home-next {
    padding: 16px 34px 20px;
  }

  .home-next-stage {
    gap: 0 40px;
    min-height: 340px;
  }

  .home-brain img {
    max-width: 302px;
  }

  .home-next h2 {
    font-size: 25px;
  }

  .home-next-description {
    font-size: 15px;
    line-height: 30px;
  }

  .home-services {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
  }

  .home-service {
    padding: 20px;
  }

  .home-service h3 {
    font-size: 14px;
  }

  .home-service p {
    font-size: 12px;
  }

  .home-followups a {
    font-size: 13px;
  }

  .home-access-icon {
    border-radius: 20px;
    width: 60px;
    height: 60px;
  }
}

@media (max-width: 359px) {
  .home-page {
    padding-inline: 12px;
  }

  .home-page .home-next {
    padding-inline: 16px;
  }

  .home-next h2 {
    font-size: 19px;
  }

  .home-next-description {
    font-size: 13px;
    line-height: 26px;
  }

  .home-next-link {
    gap: 8px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .home-next-link svg {
    display: none;
  }

  .home-services {
    gap: 10px;
  }

  .home-service {
    padding-inline: 12px;
  }

  .home-followups a {
    font-size: 12px;
  }
}

@media (forced-colors: active) {
  .home-next, .home-service, .home-access, .home-panel, .home-store {
    border-color: canvastext;
  }

  .home-next-link {
    border-color: buttontext;
  }
}

.notification-sheet::backdrop {
  background: none;
}

.service-page {
  color: var(--patient-ink);
  font-family: var(--font-vazirmatn), sans-serif;
  padding: 20px 20px 32px;
  font-size: 14px;
  line-height: 26px;
}

.service-navigation {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  display: flex;
}

.service-navigation > a {
  min-height: 44px;
  color: var(--patient-muted);
  align-items: center;
  gap: 8px;
  font-weight: 600;
  display: inline-flex;
}

.service-navigation > :is(button, a:last-child:not(:first-child)) {
  min-height: 44px;
  color: var(--patient-action);
  font-weight: 700;
}

.service-intro {
  min-height: 60px;
  margin-bottom: 24px;
  padding-inline-end: 60px;
  position: relative;
}

.service-intro-icon {
  inset-inline-end: 0;
  width: 48px;
  height: 48px;
  color: var(--patient-action);
  background: var(--patient-soft);
  border-radius: 16px;
  place-items: center;
  display: grid;
  position: absolute;
  top: 0;
}

.service-intro h1 {
  font-size: 26px;
  font-weight: 800;
  line-height: 42px;
}

.service-intro p {
  color: var(--patient-muted);
  max-width: 58ch;
  margin-top: 6px;
  font-size: 14px;
  line-height: 28px;
}

.service-section {
  margin-top: 28px;
}

.service-section > header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.service-section h2 {
  font-size: 17px;
  font-weight: 800;
  line-height: 30px;
}

.service-section > header p {
  color: var(--patient-muted);
  margin-top: 4px;
  font-size: 13px;
  line-height: 26px;
}

.service-section > header > a {
  min-height: 44px;
  color: var(--patient-action);
  flex-shrink: 0;
  align-items: center;
  font-weight: 700;
  display: inline-flex;
}

.service-stack {
  gap: 12px;
  display: grid;
}

.service-card {
  border: 1px solid var(--patient-divider);
  text-align: start;
  background: #fff;
  border-radius: 18px;
  min-width: 0;
  padding: 18px;
  display: block;
}

.service-card h3 {
  overflow-wrap: anywhere;
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}

.service-card p {
  color: var(--patient-muted);
  margin-top: 6px;
  font-size: 13px;
  line-height: 26px;
}

.service-card-top {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: start;
  gap: 12px;
  display: flex;
}

.service-badge {
  background: var(--patient-soft);
  color: var(--patient-ink);
  border-radius: 8px;
  padding: 2px 10px;
  font-size: 11px;
  font-weight: 700;
  line-height: 24px;
  display: inline-flex;
}

.service-badge--success {
  color: var(--patient-success);
  background: #e8f4ed;
}

.service-text-action {
  min-height: 44px;
  color: var(--patient-action);
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 24px;
  display: inline-flex;
}

.service-primary {
  border: 1px solid var(--patient-action);
  background: var(--patient-action);
  color: #fff;
  text-align: center;
  cursor: pointer;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 10px 18px;
  font-weight: 700;
  display: inline-flex;
}

.service-primary:disabled {
  opacity: .45;
  cursor: not-allowed;
}

.service-primary:hover:not(:disabled) {
  background: var(--patient-action-hover);
}

.service-empty {
  border: 1px dashed var(--patient-divider);
  background: #fff;
  border-radius: 18px;
  padding: 24px 20px;
}

.service-empty > svg {
  color: var(--patient-action);
  margin-bottom: 14px;
}

.service-empty h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 28px;
}

.service-empty p {
  color: var(--patient-muted);
  max-width: 58ch;
  margin-top: 6px;
  font-size: 13px;
  line-height: 27px;
}

.service-empty .service-text-action {
  margin-top: 8px;
}

.service-tabs {
  background: var(--patient-soft);
  border-radius: 14px;
  gap: 4px;
  margin: 24px 0;
  padding: 4px;
  display: flex;
}

.service-tabs button {
  min-width: 0;
  min-height: 48px;
  color: var(--patient-muted);
  cursor: pointer;
  border-radius: 11px;
  flex: 1;
  padding: 8px 4px;
  font-size: 13px;
  font-weight: 700;
}

.service-tabs button[aria-pressed="true"] {
  color: var(--patient-ink);
  background: #fff;
  box-shadow: 0 1px 4px #173c5314;
}

.service-callout {
  background: var(--patient-soft);
  border-radius: 18px;
  align-items: center;
  gap: 14px;
  margin-top: 20px;
  padding: 18px;
  display: flex;
}

.service-callout > svg {
  color: var(--patient-action);
  flex-shrink: 0;
}

.service-callout > div {
  flex: 1;
  min-width: 0;
}

.service-callout h2, .service-callout h3 {
  font-size: 15px;
  font-weight: 700;
  line-height: 28px;
}

.service-callout p {
  color: var(--patient-muted);
  margin-top: 2px;
  font-size: 12px;
  line-height: 24px;
}

.service-callout > svg:last-child {
  margin-inline-start: auto;
}

.service-steps {
  border-block: 1px solid var(--patient-divider);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 20px 0 24px;
  padding: 16px 0;
  list-style: none;
  display: grid;
}

.service-steps li {
  color: var(--patient-muted);
  flex-direction: column;
  align-items: start;
  gap: 8px;
  font-size: 12px;
  line-height: 23px;
  display: flex;
}

.service-steps li > span {
  background: var(--patient-soft);
  width: 26px;
  height: 26px;
  color: var(--patient-ink);
  border-radius: 50%;
  place-items: center;
  font-weight: 700;
  display: grid;
}

.service-steps li[aria-current] {
  color: var(--patient-action);
  font-weight: 700;
}

.service-steps li[aria-current] > span {
  background: var(--patient-action);
  color: #fff;
}

.service-note {
  border-inline-start: 3px solid var(--patient-action);
  background: var(--patient-soft);
  color: var(--patient-muted);
  border-radius: 0 10px 10px 0;
  padding: 14px 16px;
  font-size: 13px;
  line-height: 28px;
}

.service-price {
  font-family: var(--font-price);
  color: var(--patient-ink);
  margin-top: 12px;
  font-size: 17px;
  font-weight: 800;
  line-height: 30px;
  display: block;
}

.service-page :is(input, textarea, select) {
  font-size: 16px;
}

.service-page button:not(.service-tabs button) {
  cursor: pointer;
}

.service-page button:disabled {
  cursor: not-allowed;
}

@media (min-width: 600px) {
  .service-page {
    padding: 24px 32px 40px;
  }

  .service-intro h1 {
    font-size: 30px;
    line-height: 48px;
  }

  .service-empty {
    padding: 28px;
  }
}

@media (max-width: 360px) {
  .service-page {
    padding-inline: 16px;
  }

  .service-intro h1 {
    font-size: 24px;
  }

  .service-tabs button {
    font-size: 12px;
  }
}

.service-disclosure > summary {
  cursor: pointer;
  min-height: 44px;
  padding-block: 8px;
  font-size: 14px;
  font-weight: 700;
}

.service-disclosure[open] > summary {
  border-bottom: 1px solid var(--patient-divider);
  margin-bottom: 12px;
  padding-bottom: 16px;
}

.service-card--selected {
  border-color: var(--patient-action);
}

.service-doctor-avatar {
  background: var(--patient-soft);
  width: 52px;
  height: 52px;
  color: var(--patient-action);
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  font-size: 22px;
  font-weight: 800;
  display: grid;
}

.service-offering {
  border: 1px solid var(--patient-divider);
  text-align: start;
  background: var(--patient-canvas);
  border-radius: 12px;
  width: 100%;
  padding: 14px;
  display: block;
}

.service-offering--selected {
  border-color: var(--patient-action);
  background: var(--patient-soft);
}

.service-treatment-progress {
  background: var(--patient-soft);
  border-radius: 18px;
  padding: 20px;
}

.service-treatment-progress > div {
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  display: flex;
}

.service-treatment-progress strong {
  font-size: 26px;
  font-weight: 800;
  line-height: 40px;
}

.service-treatment-progress span {
  font-size: 13px;
}

.service-treatment-progress p {
  color: var(--patient-muted);
  margin-top: 8px;
  font-size: 12px;
}

.service-treatment-progress progress {
  appearance: none;
  background: var(--patient-divider);
  border: 0;
  border-radius: 8px;
  width: 100%;
  height: 6px;
  margin-top: 14px;
  overflow: hidden;
}

.service-treatment-progress progress::-webkit-progress-bar {
  background: var(--patient-divider);
}

.service-treatment-progress progress::-webkit-progress-value {
  background: var(--patient-action);
}

.service-treatment-progress progress::-moz-progress-bar {
  background: var(--patient-action);
}

.service-treatment-item {
  border-bottom: 1px solid var(--patient-divider);
  padding-block: 12px;
}

.service-treatment-item:last-child {
  border: 0;
}

.service-disclosure summary > svg {
  vertical-align: middle;
  color: var(--patient-action);
  margin-inline: 4px 8px;
  display: inline;
}

.service-categories {
  gap: 8px;
  padding-bottom: 8px;
  display: flex;
  overflow-x: auto;
}

.service-categories button {
  border: 1px solid var(--patient-divider);
  min-height: 44px;
  color: var(--patient-muted);
  cursor: pointer;
  background: #fff;
  border-radius: 12px;
  flex-shrink: 0;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
}

.service-categories button[aria-pressed="true"] {
  border-color: var(--patient-action);
  color: #fff;
  background: var(--patient-action);
}

.service-catalog-version {
  border-bottom: 1px solid var(--patient-divider);
  min-height: 48px;
  color: var(--patient-action);
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  font-size: 13px;
  display: flex;
}

.service-catalog-version:last-child {
  border: 0;
}

.service-detail {
  margin-top: 24px;
}

.service-detail > h2 {
  font-size: 21px;
  font-weight: 800;
  line-height: 36px;
}

.service-detail > p {
  font-size: 14px;
  line-height: 29px;
}

.service-detail :is(button, a) {
  min-height: 44px;
}

.service-detail > section {
  border-radius: 20px;
}

.service-detail label {
  line-height: 28px;
}

.service-detail input[type="checkbox"] {
  accent-color: var(--patient-action);
  flex-shrink: 0;
}

.service-article {
  margin-top: 24px;
}

.service-article-body {
  border-top: 1px solid var(--patient-divider);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  margin-top: 20px;
  padding-top: 24px;
  font-size: 16px;
  line-height: 34px;
}

.home-setup-hint {
  min-height: 60px;
  color: var(--patient-action);
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  padding-block: 8px;
  display: flex;
}

.home-setup-hint > span {
  flex: 1;
  min-width: 0;
}

.home-setup-hint strong {
  font-size: 13px;
  font-weight: 700;
  line-height: 24px;
  display: block;
}

.home-setup-hint small {
  color: var(--patient-muted);
  font-size: 12px;
  line-height: 24px;
  display: block;
}

.home-setup-hint > svg {
  flex-shrink: 0;
}

.patient-store-shell {
  font-family: var(--font-iranyekanx);
  --font-weight-medium: 500;
  --font-weight-semibold: 500;
  --font-weight-bold: 500;
  --font-weight-extrabold: 500;
  --font-weight-black: 500;
}

.patient-store-shell :is(.store-price, .store-offer__price, .store-recent .store-price) {
  font-weight: 400;
}

.patient-store-shell :is(.patient-button, .wallet-method__title, .service-badge, .service-text-action, .service-navigation > a) {
  font-weight: 500;
}

.patient-store-shell .store-heading h1 {
  font-size: 24px;
}

.store-quick-links {
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 16px 24px;
  display: flex;
}

.store-quick-links a {
  border: 1px solid var(--store-border);
  min-height: 44px;
  color: var(--patient-muted);
  border-radius: 12px;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  font-size: 12px;
  display: inline-flex;
}

.store-quick-links a:hover {
  color: var(--patient-action);
  border-color: var(--patient-action);
}

.store-catalog-tools {
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
  display: flex;
}

.store-category-link {
  min-height: 32px;
  color: var(--patient-muted);
  align-items: center;
  font-size: 11px;
  display: inline-flex;
}

.store-variant {
  gap: 8px;
  margin-block: 20px;
  display: grid;
}

.store-variant label {
  font-size: 13px;
}

.store-variant select {
  border: 1px solid var(--patient-divider);
  width: 100%;
  min-height: 48px;
  color: var(--patient-ink);
  background: #fff;
  border-radius: 12px;
  padding: 10px;
}

.store-unit-price {
  border-bottom: 1px solid var(--store-border);
  color: var(--patient-muted);
  justify-content: space-between;
  align-items: baseline;
  gap: 16px;
  padding-block: 12px;
  font-size: 12px;
  display: flex;
}

.store-purchase-bar__price > span {
  color: var(--patient-muted);
  font-size: 11px;
}

.store-hero__controls {
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  display: flex;
}

.store-hero__controls button {
  min-width: 44px;
  min-height: 44px;
  color: var(--patient-muted);
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.store-hero__controls button[aria-current="true"] {
  color: var(--patient-action);
  background: var(--patient-soft);
}

.patient-store-shell :is(.store-cart-bar, .store-purchase-bar) {
  max-width: var(--patient-frame-max);
}

.entry-screen {
  --entry-ink: #173d59;
  --entry-muted: #486b82;
  --entry-action: #087c91;
  --entry-line: #78adcf47;
  --primary: var(--entry-action);
  --foreground: var(--entry-ink);
  --muted-foreground: var(--entry-muted);
  --border: #d8e9f1;
  --muted: #ecf6fb;
  --font-weight-bold: 500;
  --font-weight-semibold: 500;
  min-height: 100dvh;
  padding: 24px 18px max(30px, env(safe-area-inset-bottom));
  color: var(--entry-ink);
  font-family: var(--font-iranyekanx);
  font-synthesis: none;
  background: radial-gradient(at 0 25%, #70dde740, #0000 55%), radial-gradient(at 100% 0, #7dbceb40, #0000 65%), #eff8fe;
}

.entry-container {
  width: 100%;
  max-width: 960px;
  margin-inline: auto;
}

.entry-header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 30px;
  display: flex;
}

.entry-brand {
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
  display: inline-flex;
}

.entry-mark {
  background: linear-gradient(145deg, #6cc9d9, #168ba6);
  border: 1px solid #fff;
  border-radius: 10px 10px 10px 3px;
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  display: inline-block;
  box-shadow: inset 0 1px #ffffff8c, 0 5px 18px -8px #168ba6;
}

.entry-step-count {
  color: var(--entry-muted);
  font-size: 11px;
}

.entry-progress {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 24px;
  list-style: none;
  display: grid;
}

.entry-progress li {
  min-height: 44px;
  color: var(--entry-muted);
  justify-content: center;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  line-height: 22px;
  display: flex;
}

.entry-progress li > span {
  border: 1px solid var(--entry-line);
  background: #ffffffa6;
  border-radius: 50%;
  flex-shrink: 0;
  place-items: center;
  width: 26px;
  height: 26px;
  display: grid;
}

.entry-progress [data-active="true"] {
  color: var(--entry-action);
  font-weight: 500;
}

.entry-progress [data-active="true"] > span {
  background: var(--entry-action);
  color: #fff;
  border-color: var(--entry-action);
  box-shadow: 0 0 0 4px #087c9114;
}

.entry-progress [data-done="true"] > span {
  color: #12675f;
  background: #d9f2ef;
}

.entry-card {
  -webkit-backdrop-filter: blur(20px);
  background: #fafeffa6;
  border: 1px solid #fffffff5;
  border-radius: 30px;
  padding: 28px 22px;
  box-shadow: inset 0 1px #fff, 0 22px 60px -38px #1e679b66;
}

.entry-profile-layout {
  gap: 24px;
  display: grid;
}

.entry-eyebrow {
  color: var(--entry-action);
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 24px;
  display: block;
}

.entry-screen h1 {
  text-wrap: pretty;
  overflow-wrap: anywhere;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.7;
}

.entry-copy > p, .entry-start > p, .entry-unavailable > p, .entry-result-heading > p {
  color: var(--entry-muted);
  margin-top: 10px;
  font-size: 13px;
  line-height: 27px;
}

.entry-brain {
  place-items: center;
  max-width: 150px;
  margin: 16px auto 0;
  display: grid;
}

.entry-brain img {
  object-fit: contain;
  width: 100%;
  height: auto;
  display: block;
}

.entry-form {
  align-content: center;
  gap: 20px;
  min-width: 0;
  display: grid;
}

.entry-form > label {
  gap: 8px;
  font-size: 12px;
  line-height: 24px;
  display: grid;
}

.entry-form :is(input, select) {
  border: 1px solid var(--entry-line);
  width: 100%;
  min-width: 0;
  min-height: 50px;
  color: var(--entry-ink);
  background: #ffffffd6;
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 16px;
  line-height: 26px;
}

.entry-birth {
  min-width: 0;
}

.entry-birth legend {
  margin-bottom: 8px;
  font-size: 12px;
  line-height: 24px;
}

.entry-birth > div {
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 8px;
  display: grid;
}

.entry-primary {
  background: var(--entry-action);
  color: #fff;
  cursor: pointer;
  border: 1px solid #ffffff4d;
  border-radius: 15px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 20px;
  font-size: 13px;
  font-weight: 500;
  line-height: 24px;
  display: inline-flex;
  box-shadow: 0 8px 20px -12px #087c91;
}

.entry-primary:hover {
  background: #076b80;
}

.entry-primary:disabled {
  opacity: .5;
  cursor: default;
}

.entry-secondary {
  min-height: 44px;
  color: var(--entry-action);
  cursor: pointer;
  justify-content: center;
  align-items: center;
  padding: 8px 12px;
  font-size: 12px;
  display: inline-flex;
}

.entry-error {
  color: #a3293c;
  font-size: 12px;
  line-height: 26px;
}

.entry-screen :is(input, select, button, a):focus-visible {
  outline-offset: 4px;
  outline: 2px solid #086e9b;
}

.entry-start, .entry-unavailable {
  text-align: center;
  max-width: 520px;
  margin-inline: auto;
}

.entry-start > .entry-brain {
  max-width: 180px;
  margin-bottom: 24px;
}

.entry-start > .entry-primary, .entry-unavailable > .entry-primary {
  min-width: 180px;
  margin-top: 24px;
}

.entry-quiz-heading {
  margin-bottom: 24px;
}

.entry-card--quiz {
  max-width: 760px;
  margin-inline: auto;
}

.entry-card--quiz > div > .px-4 {
  padding-inline: 0;
}

.entry-card--quiz fieldset button {
  border-color: var(--entry-line);
  background-color: #ffffffb3;
  min-height: 52px;
  line-height: 26px;
}

.entry-card--quiz fieldset button[aria-pressed="true"] {
  border-color: var(--entry-action);
  box-shadow: inset -3px 0 0 var(--entry-action);
  background-color: #def1f5;
}

.entry-card--quiz .rounded-3xl {
  background: #ffffff80;
  border-radius: 20px;
}

.entry-result {
  gap: 24px;
  max-width: 620px;
  margin-inline: auto;
  display: grid;
}

.entry-result-heading {
  text-align: center;
}

.entry-result-icon {
  width: 54px;
  height: 54px;
  color: var(--entry-action);
  background: #dff1f8;
  border: 1px solid #fff;
  border-radius: 18px;
  place-items: center;
  margin: 0 auto 18px;
  display: grid;
  box-shadow: inset 0 1px #fff;
}

.entry-result-summary {
  font-size: 14px;
  line-height: 30px;
}

.entry-result-dimensions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  display: grid;
}

.entry-result-dimensions > div {
  background: #e4f2fa;
  border: 1px solid #fff;
  border-radius: 18px;
  padding: 16px;
}

.entry-result-dimensions dt {
  color: var(--entry-muted);
  font-size: 11px;
  line-height: 24px;
}

.entry-result-dimensions dd {
  margin-top: 5px;
  font-size: 17px;
  font-weight: 500;
  line-height: 30px;
}

.entry-result-notes {
  gap: 12px;
  list-style: none;
  display: grid;
}

.entry-result-notes li {
  gap: 10px;
  font-size: 13px;
  line-height: 27px;
  display: flex;
}

.entry-result-notes svg {
  color: var(--entry-action);
  flex-shrink: 0;
  margin-top: 4px;
}

.entry-result-caption {
  color: var(--entry-muted);
  font-size: 11px;
  line-height: 24px;
}

.entry-wait {
  min-height: calc(100dvh - 60px);
  color: var(--entry-muted);
  align-content: center;
  justify-items: center;
  gap: 20px;
  font-size: 13px;
  display: grid;
}

@media (min-width: 768px) {
  .entry-screen {
    padding: 40px 30px;
  }

  .entry-card {
    padding: 44px;
  }

  .entry-profile-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 56px;
  }

  .entry-copy .entry-brain {
    max-width: 218px;
    margin-top: 28px;
  }

  .entry-progress {
    max-width: 640px;
    margin: 0 auto 32px;
  }

  .entry-progress li {
    font-size: 12px;
  }

  .entry-screen h1 {
    font-size: 29px;
  }
}

@media (max-width: 380px) {
  .entry-progress li {
    flex-direction: column;
    gap: 5px;
    font-size: 10px;
  }

  .entry-card {
    padding: 24px 18px;
  }
}

@media (forced-colors: active) {
  .entry-primary, .entry-progress [data-active="true"] > span {
    border: 1px solid buttontext;
  }
}

.store-checkout {
  padding-bottom: 32px;
}

.store-checkout__layout {
  gap: 20px;
  display: grid;
}

.store-checkout__steps {
  gap: 20px;
  min-width: 0;
  display: grid;
}

.store-checkout__section, .store-checkout__summary {
  border: 1px solid var(--store-border);
  background: #fff;
  border-radius: 16px;
  padding: 20px;
}

.store-checkout h2 {
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
  font-size: 15px;
  font-weight: 500;
  line-height: 26px;
  display: flex;
}

.store-choice {
  border: 1px solid var(--store-border);
  cursor: pointer;
  border-radius: 12px;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
  padding: 14px;
  font-size: 13px;
  line-height: 24px;
  display: flex;
}

.store-choice > span:first-of-type {
  flex: 1;
  min-width: 0;
}

.store-choice > span:last-child {
  font-size: 12px;
}

.store-choice--selected {
  border-color: var(--patient-action);
}

.store-choice input {
  width: 18px;
  height: 18px;
  accent-color: var(--patient-action);
  flex-shrink: 0;
}

.store-choice--address {
  align-items: flex-start;
}

.store-choice--address strong {
  font-weight: 500;
  display: block;
}

.store-choice--address span span {
  color: var(--patient-muted);
  overflow-wrap: anywhere;
  font-size: 12px;
  display: block;
}

.store-help {
  color: var(--patient-muted);
  margin-top: 12px;
  font-size: 12px;
  line-height: 24px;
}

.store-checkout__item {
  border-top: 1px solid var(--store-border);
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding-block: 16px;
  display: grid;
}

.store-checkout__item img {
  object-fit: contain;
  width: 56px;
  height: 56px;
}

.store-checkout__item strong {
  font-size: 13px;
  font-weight: 500;
}

.store-checkout__item span span {
  color: var(--patient-muted);
  margin-top: 4px;
  font-size: 12px;
  display: block;
}

.store-checkout__item .store-price {
  grid-column: 2;
  font-size: 15px;
}

.store-checkout__summary {
  align-self: start;
}

.store-checkout__summary dl > div {
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px;
  padding-block: 12px;
  font-size: 13px;
  display: flex;
}

.store-checkout__summary dd {
  font-family: var(--font-iransans-fanum);
}

.store-checkout__total {
  border-top: 1px solid var(--store-border);
  color: var(--patient-action);
}

.store-checkout__summary .patient-button {
  width: 100%;
  margin-top: 20px;
}

.store-checkout__orders {
  min-height: 44px;
  color: var(--patient-muted);
  justify-content: center;
  align-items: center;
  margin-top: 8px;
  font-size: 12px;
  display: flex;
}

@media (min-width: 900px) {
  .store-checkout__layout {
    grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
    align-items: start;
  }

  .store-checkout__summary {
    position: sticky;
    top: 16px;
  }
}

.patient-store-shell .service-page {
  font-family: var(--font-iranyekanx);
}

.patient-store-shell .service-intro h1 {
  font-size: 24px;
  font-weight: 500;
}

.patient-store-shell :is(.service-card h3, .service-section h2) {
  font-weight: 500;
}

.patient-store-shell :is(.service-price, .wallet-amount-total strong) {
  font-weight: 400;
}

.store-order-lines {
  margin: 0;
  padding: 0;
  list-style: none;
}

.store-order-lines li {
  border-bottom: 1px solid var(--store-border);
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 12px;
  padding-block: 12px;
  font-size: 13px;
  line-height: 24px;
  display: flex;
}

.store-order-lines strong {
  font-weight: 500;
}

.store-order-lines div span {
  color: var(--patient-muted);
  font-size: 11px;
  display: block;
}

.store-currency {
  font-family: var(--font-iranyekanx);
  color: var(--patient-muted);
  font-size: 11px;
  font-weight: 400;
}

.store-price bdi {
  overflow-wrap: anywhere;
  min-width: 0;
}

.store-personal {
  margin-top: 24px;
}

.store-personal__intro {
  color: var(--patient-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  line-height: 24px;
  display: flex;
}

.store-personal__intro p {
  flex: 1;
  min-width: 180px;
}

.store-personal__intro a, .store-personal-hint :is(a, button) {
  min-height: 44px;
  color: var(--patient-action);
  align-items: center;
  font-size: 12px;
  display: inline-flex;
}

.store-personal .store-collection {
  margin-top: 8px;
}

.store-personal-hint {
  border-block: 1px solid var(--store-border);
  color: var(--patient-muted);
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 20px;
  padding-block: 12px;
  font-size: 12px;
  line-height: 25px;
  display: flex;
}

.store-personal-hint p {
  flex: 1;
  min-width: 180px;
}

.store-personal-loading {
  color: var(--patient-muted);
  margin-top: 20px;
  font-size: 12px;
}

@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@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-y-reverse {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}

@property --tw-divide-y-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: #0000;
}

@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}

@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-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-tracking {
  syntax: "*";
  inherits: false
}

@property --tw-ordinal {
  syntax: "*";
  inherits: false
}

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-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-duration {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

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

@keyframes pulse {
  50% {
    opacity: .5;
  }
}

/*# sourceMappingURL=apps_app_src_app_globals_0la4sqp.css.map*/