/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-600: oklch(57.7% 0.245 27.325);
    --color-amber-50: oklch(98.7% 0.022 95.277);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-200: oklch(92.4% 0.12 95.746);
    --color-amber-300: oklch(87.9% 0.169 91.605);
    --color-amber-400: oklch(82.8% 0.189 84.429);
    --color-amber-500: oklch(76.9% 0.188 70.08);
    --color-amber-600: oklch(66.6% 0.179 58.318);
    --color-amber-700: oklch(55.5% 0.163 48.998);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-amber-900: oklch(41.4% 0.112 45.904);
    --color-amber-950: oklch(27.9% 0.077 45.635);
    --color-violet-50: #F5F3FF;
    --color-violet-100: #EDE9FE;
    --color-violet-200: #DDD6FE;
    --color-violet-300: #C4B5FD;
    --color-violet-400: #A78BFA;
    --color-violet-500: #8B5CF6;
    --color-violet-600: #7C3AED;
    --color-violet-700: #6D28D9;
    --color-violet-800: #5B21B6;
    --color-violet-900: #4C1D95;
    --color-violet-950: #2E1065;
    --color-blue-50: oklch(97% 0.014 254.604);
    --color-blue-100: oklch(93.2% 0.032 255.585);
    --color-blue-300: oklch(80.9% 0.105 251.813);
    --color-blue-400: oklch(70.7% 0.165 254.624);
    --color-blue-600: oklch(54.6% 0.245 262.881);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-800: oklch(42.4% 0.199 265.638);
    --color-blue-950: oklch(28.2% 0.091 267.935);
    --color-indigo-50: oklch(96.2% 0.018 272.314);
    --color-indigo-300: oklch(78.5% 0.115 274.713);
    --color-indigo-700: oklch(45.7% 0.24 277.023);
    --color-indigo-950: oklch(25.7% 0.09 281.288);
    --color-purple-50: oklch(97.7% 0.014 308.299);
    --color-purple-200: oklch(90.2% 0.063 306.703);
    --color-purple-300: oklch(82.7% 0.119 306.383);
    --color-purple-600: oklch(55.8% 0.288 302.321);
    --color-purple-700: oklch(49.6% 0.265 301.924);
    --color-purple-800: oklch(43.8% 0.218 303.724);
    --color-purple-950: oklch(29.1% 0.149 302.717);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-300: oklch(81% 0.117 11.638);
    --color-rose-400: oklch(71.2% 0.194 13.428);
    --color-rose-500: oklch(64.5% 0.246 16.439);
    --color-rose-600: oklch(58.6% 0.253 17.585);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-rose-800: oklch(45.5% 0.188 13.697);
    --color-rose-900: oklch(41% 0.159 10.272);
    --color-rose-950: oklch(27.1% 0.105 12.094);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-800: oklch(27.9% 0.041 260.031);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-gray-50: oklch(98.5% 0.002 247.839);
    --color-gray-100: oklch(96.7% 0.003 264.542);
    --color-gray-200: oklch(92.8% 0.006 264.531);
    --color-gray-300: oklch(87.2% 0.01 258.338);
    --color-gray-400: oklch(70.7% 0.022 261.325);
    --color-gray-500: oklch(55.1% 0.027 264.364);
    --color-gray-600: oklch(44.6% 0.03 256.802);
    --color-gray-700: oklch(37.3% 0.034 259.733);
    --color-gray-800: oklch(27.8% 0.033 256.848);
    --color-gray-900: oklch(21% 0.034 264.665);
    --color-black: #000;
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-4xl: 56rem;
    --container-5xl: 64rem;
    --container-7xl: 80rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --font-weight-light: 300;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;
    --tracking-tight: -0.025em;
    --tracking-wider: 0.05em;
    --tracking-widest: 0.1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --ease-out: cubic-bezier(0, 0, 0.2, 1);
    --animate-spin: spin 1s linear infinite;
    --animate-ping: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
    --blur-xs: 4px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *, ::after, ::before, ::backdrop, ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html, :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b, strong {
    font-weight: bolder;
  }
  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub, sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol, ul, menu {
    list-style: none;
  }
  img, svg, video, canvas, audio, iframe, embed, object {
    display: block;
    vertical-align: middle;
  }
  img, video {
    max-width: 100%;
    height: auto;
  }
  button, input, select, optgroup, textarea, ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::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)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button, input:where([type="button"], [type="reset"], [type="submit"]), ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}
@layer utilities {
  .pointer-events-auto {
    pointer-events: auto;
  }
  .pointer-events-none {
    pointer-events: none;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .sticky {
    position: sticky;
  }
  .inset-0 {
    inset: calc(var(--spacing) * 0);
  }
  .inset-8 {
    inset: calc(var(--spacing) * 8);
  }
  .inset-x-8 {
    inset-inline: calc(var(--spacing) * 8);
  }
  .-top-1 {
    top: calc(var(--spacing) * -1);
  }
  .-top-1\.5 {
    top: calc(var(--spacing) * -1.5);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-1\/2 {
    top: calc(1/2 * 100%);
  }
  .top-2 {
    top: calc(var(--spacing) * 2);
  }
  .top-2\.5 {
    top: calc(var(--spacing) * 2.5);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .top-full {
    top: 100%;
  }
  .-right-1 {
    right: calc(var(--spacing) * -1);
  }
  .-right-2 {
    right: calc(var(--spacing) * -2);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .right-2\.5 {
    right: calc(var(--spacing) * 2.5);
  }
  .right-3 {
    right: calc(var(--spacing) * 3);
  }
  .bottom-0 {
    bottom: calc(var(--spacing) * 0);
  }
  .left-0 {
    left: calc(var(--spacing) * 0);
  }
  .left-2\.5 {
    left: calc(var(--spacing) * 2.5);
  }
  .left-4 {
    left: calc(var(--spacing) * 4);
  }
  .z-10 {
    z-index: 10;
  }
  .z-30 {
    z-index: 30;
  }
  .z-40 {
    z-index: 40;
  }
  .z-50 {
    z-index: 50;
  }
  .z-\[45\] {
    z-index: 45;
  }
  .z-\[65\] {
    z-index: 65;
  }
  .z-\[75\] {
    z-index: 75;
  }
  .z-\[80\] {
    z-index: 80;
  }
  .mx-auto {
    margin-inline: auto;
  }
  .my-3 {
    margin-block: calc(var(--spacing) * 3);
  }
  .my-6 {
    margin-block: calc(var(--spacing) * 6);
  }
  .my-8 {
    margin-block: calc(var(--spacing) * 8);
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-auto {
    margin-top: auto;
  }
  .mr-1 {
    margin-right: calc(var(--spacing) * 1);
  }
  .mr-2 {
    margin-right: calc(var(--spacing) * 2);
  }
  .mr-auto {
    margin-right: auto;
  }
  .mb-0\.5 {
    margin-bottom: calc(var(--spacing) * 0.5);
  }
  .mb-1 {
    margin-bottom: calc(var(--spacing) * 1);
  }
  .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);
  }
  .line-clamp-2 {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .block {
    display: block;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline-block {
    display: inline-block;
  }
  .inline-flex {
    display: inline-flex;
  }
  .aspect-square {
    aspect-ratio: 1 / 1;
  }
  .h-0\.5 {
    height: calc(var(--spacing) * 0.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-3\.5 {
    height: calc(var(--spacing) * 3.5);
  }
  .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-28 {
    height: calc(var(--spacing) * 28);
  }
  .h-36 {
    height: calc(var(--spacing) * 36);
  }
  .h-\[100dvh\] {
    height: 100dvh;
  }
  .h-\[calc\(100dvh-0\.75rem\)\] {
    height: calc(100dvh - 0.75rem);
  }
  .h-\[calc\(100vh-3\.5rem\)\] {
    height: calc(100vh - 3.5rem);
  }
  .h-full {
    height: 100%;
  }
  .max-h-48 {
    max-height: calc(var(--spacing) * 48);
  }
  .max-h-52 {
    max-height: calc(var(--spacing) * 52);
  }
  .max-h-56 {
    max-height: calc(var(--spacing) * 56);
  }
  .max-h-\[70vh\] {
    max-height: 70vh;
  }
  .max-h-\[75vh\] {
    max-height: 75vh;
  }
  .max-h-\[85vh\] {
    max-height: 85vh;
  }
  .max-h-\[90vh\] {
    max-height: 90vh;
  }
  .max-h-\[95vh\] {
    max-height: 95vh;
  }
  .min-h-0 {
    min-height: calc(var(--spacing) * 0);
  }
  .min-h-\[100dvh\] {
    min-height: 100dvh;
  }
  .min-h-\[calc\(100vh-4rem\)\] {
    min-height: calc(100vh - 4rem);
  }
  .w-2 {
    width: calc(var(--spacing) * 2);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-3 {
    width: calc(var(--spacing) * 3);
  }
  .w-3\.5 {
    width: calc(var(--spacing) * 3.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .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-28 {
    width: calc(var(--spacing) * 28);
  }
  .w-32 {
    width: calc(var(--spacing) * 32);
  }
  .w-36 {
    width: calc(var(--spacing) * 36);
  }
  .w-44 {
    width: calc(var(--spacing) * 44);
  }
  .w-48 {
    width: calc(var(--spacing) * 48);
  }
  .w-56 {
    width: calc(var(--spacing) * 56);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-80 {
    width: calc(var(--spacing) * 80);
  }
  .w-\[calc\(100vw-0\.75rem\)\] {
    width: calc(100vw - 0.75rem);
  }
  .w-full {
    width: 100%;
  }
  .w-screen {
    width: 100vw;
  }
  .max-w-2xl {
    max-width: var(--container-2xl);
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-4xl {
    max-width: var(--container-4xl);
  }
  .max-w-5xl {
    max-width: var(--container-5xl);
  }
  .max-w-7xl {
    max-width: var(--container-7xl);
  }
  .max-w-\[85vw\] {
    max-width: 85vw;
  }
  .max-w-\[90px\] {
    max-width: 90px;
  }
  .max-w-\[140px\] {
    max-width: 140px;
  }
  .max-w-\[150px\] {
    max-width: 150px;
  }
  .max-w-\[200px\] {
    max-width: 200px;
  }
  .max-w-\[220px\] {
    max-width: 220px;
  }
  .max-w-\[280px\] {
    max-width: 280px;
  }
  .max-w-\[340px\] {
    max-width: 340px;
  }
  .max-w-\[360px\] {
    max-width: 360px;
  }
  .max-w-\[794px\] {
    max-width: 794px;
  }
  .max-w-\[1600px\] {
    max-width: 1600px;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-lg {
    max-width: var(--container-lg);
  }
  .max-w-md {
    max-width: var(--container-md);
  }
  .max-w-sm {
    max-width: var(--container-sm);
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .max-w-xs {
    max-width: var(--container-xs);
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-4 {
    min-width: calc(var(--spacing) * 4);
  }
  .min-w-\[130px\] {
    min-width: 130px;
  }
  .min-w-\[150px\] {
    min-width: 150px;
  }
  .min-w-\[200px\] {
    min-width: 200px;
  }
  .min-w-\[220px\] {
    min-width: 220px;
  }
  .min-w-\[380px\] {
    min-width: 380px;
  }
  .min-w-\[700px\] {
    min-width: 700px;
  }
  .min-w-\[720px\] {
    min-width: 720px;
  }
  .min-w-\[760px\] {
    min-width: 760px;
  }
  .min-w-\[800px\] {
    min-width: 800px;
  }
  .min-w-\[820px\] {
    min-width: 820px;
  }
  .min-w-\[850px\] {
    min-width: 850px;
  }
  .min-w-\[880px\] {
    min-width: 880px;
  }
  .flex-1 {
    flex: 1;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .table-auto {
    table-layout: auto;
  }
  .-translate-y-1\/2 {
    --tw-translate-y: calc(calc(1/2 * 100%) * -1);
    translate: var(--tw-translate-x) var(--tw-translate-y);
  }
  .scale-125 {
    --tw-scale-x: 125%;
    --tw-scale-y: 125%;
    --tw-scale-z: 125%;
    scale: var(--tw-scale-x) var(--tw-scale-y);
  }
  .rotate-180 {
    rotate: 180deg;
  }
  .transform {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);
  }
  .animate-ping {
    animation: var(--animate-ping);
  }
  .animate-pulse {
    animation: var(--animate-pulse);
  }
  .animate-spin {
    animation: var(--animate-spin);
  }
  .cursor-not-allowed {
    cursor: not-allowed;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .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-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .grid-cols-\[minmax\(0\,1fr\)_3\.5rem_5rem\] {
    grid-template-columns: minmax(0,1fr) 3.5rem 5rem;
  }
  .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;
  }
  .items-stretch {
    align-items: stretch;
  }
  .justify-around {
    justify-content: space-around;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-1 {
    gap: calc(var(--spacing) * 1);
  }
  .gap-1\.5 {
    gap: calc(var(--spacing) * 1.5);
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .space-y-0\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 0.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 0.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-1\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2\.5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-3 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .divide-y {
    :where(& > :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)));
    }
  }
  .divide-gray-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-gray-100);
    }
  }
  .divide-slate-100 {
    :where(& > :not(:last-child)) {
      border-color: var(--color-slate-100);
    }
  }
  .self-start {
    align-self: flex-start;
  }
  .truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .overflow-auto {
    overflow: auto;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .overflow-x-hidden {
    overflow-x: hidden;
  }
  .overflow-y-auto {
    overflow-y: auto;
  }
  .overscroll-contain {
    overscroll-behavior: contain;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .rounded-t-2xl {
    border-top-left-radius: var(--radius-2xl);
    border-top-right-radius: var(--radius-2xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .border-2 {
    border-style: var(--tw-border-style);
    border-width: 2px;
  }
  .border-t {
    border-top-style: var(--tw-border-style);
    border-top-width: 1px;
  }
  .border-r {
    border-right-style: var(--tw-border-style);
    border-right-width: 1px;
  }
  .border-b {
    border-bottom-style: var(--tw-border-style);
    border-bottom-width: 1px;
  }
  .border-l {
    border-left-style: var(--tw-border-style);
    border-left-width: 1px;
  }
  .border-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-amber-200 {
    border-color: var(--color-amber-200);
  }
  .border-amber-400 {
    border-color: var(--color-amber-400);
  }
  .border-amber-600 {
    border-color: var(--color-amber-600);
  }
  .border-amber-800 {
    border-color: var(--color-amber-800);
  }
  .border-blue-600 {
    border-color: var(--color-blue-600);
  }
  .border-violet-100 {
    border-color: var(--color-violet-100);
  }
  .border-violet-200 {
    border-color: var(--color-violet-200);
  }
  .border-violet-200\/60 {
    border-color: color-mix(in srgb, oklch(90.5% 0.093 164.15) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-200) 60%, transparent);
    }
  }
  .border-violet-300 {
    border-color: var(--color-violet-300);
  }
  .border-violet-300\/70 {
    border-color: color-mix(in srgb, oklch(84.5% 0.143 164.978) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-300) 70%, transparent);
    }
  }
  .border-violet-500 {
    border-color: var(--color-violet-500);
  }
  .border-violet-500\/30 {
    border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 30%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-500) 30%, transparent);
    }
  }
  .border-violet-500\/60 {
    border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-500) 60%, transparent);
    }
  }
  .border-violet-600 {
    border-color: var(--color-violet-600);
  }
  .border-violet-600\/40 {
    border-color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-violet-600) 40%, transparent);
    }
  }
  .border-violet-700 {
    border-color: var(--color-violet-700);
  }
  .border-gray-100 {
    border-color: var(--color-gray-100);
  }
  .border-gray-200 {
    border-color: var(--color-gray-200);
  }
  .border-gray-300 {
    border-color: var(--color-gray-300);
  }
  .border-gray-400 {
    border-color: var(--color-gray-400);
  }
  .border-purple-200 {
    border-color: var(--color-purple-200);
  }
  .border-purple-600 {
    border-color: var(--color-purple-600);
  }
  .border-rose-100 {
    border-color: var(--color-rose-100);
  }
  .border-rose-200 {
    border-color: var(--color-rose-200);
  }
  .border-rose-600 {
    border-color: var(--color-rose-600);
  }
  .border-rose-800 {
    border-color: var(--color-rose-800);
  }
  .border-slate-100 {
    border-color: var(--color-slate-100);
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-200\/60 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 60%, transparent);
    }
  }
  .border-slate-200\/70 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 70%, transparent);
    }
  }
  .border-slate-200\/80 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-transparent {
    border-color: transparent;
  }
  .bg-amber-50 {
    background-color: var(--color-amber-50);
  }
  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }
  .bg-amber-500 {
    background-color: var(--color-amber-500);
  }
  .bg-amber-600 {
    background-color: var(--color-amber-600);
  }
  .bg-amber-900 {
    background-color: var(--color-amber-900);
  }
  .bg-black\/50 {
    background-color: color-mix(in srgb, #000 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
    }
  }
  .bg-black\/60 {
    background-color: color-mix(in srgb, #000 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 60%, transparent);
    }
  }
  .bg-black\/65 {
    background-color: color-mix(in srgb, #000 65%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 65%, transparent);
    }
  }
  .bg-black\/70 {
    background-color: color-mix(in srgb, #000 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-black) 70%, transparent);
    }
  }
  .bg-blue-50 {
    background-color: var(--color-blue-50);
  }
  .bg-blue-100 {
    background-color: var(--color-blue-100);
  }
  .bg-blue-600 {
    background-color: var(--color-blue-600);
  }
  .bg-violet-50 {
    background-color: var(--color-violet-50);
  }
  .bg-violet-50\/40 {
    background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 40%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-50) 40%, transparent);
    }
  }
  .bg-violet-50\/60 {
    background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-50) 60%, transparent);
    }
  }
  .bg-violet-50\/80 {
    background-color: color-mix(in srgb, oklch(97.9% 0.021 166.113) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-violet-50) 80%, transparent);
    }
  }
  .bg-violet-100 {
    background-color: var(--color-violet-100);
  }
  .bg-violet-500 {
    background-color: var(--color-violet-500);
  }
  .bg-violet-600 {
    background-color: var(--color-violet-600);
  }
  .bg-violet-800 {
    background-color: var(--color-violet-800);
  }
  .bg-gray-50 {
    background-color: var(--color-gray-50);
  }
  .bg-indigo-50 {
    background-color: var(--color-indigo-50);
  }
  .bg-purple-50 {
    background-color: var(--color-purple-50);
  }
  .bg-purple-50\/80 {
    background-color: color-mix(in srgb, oklch(97.7% 0.014 308.299) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-purple-50) 80%, transparent);
    }
  }
  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }
  .bg-rose-50\/50 {
    background-color: color-mix(in srgb, oklch(96.9% 0.015 12.422) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-rose-50) 50%, transparent);
    }
  }
  .bg-rose-50\/60 {
    background-color: color-mix(in srgb, oklch(96.9% 0.015 12.422) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-rose-50) 60%, transparent);
    }
  }
  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }
  .bg-rose-500 {
    background-color: var(--color-rose-500);
  }
  .bg-rose-600 {
    background-color: var(--color-rose-600);
  }
  .bg-rose-900 {
    background-color: var(--color-rose-900);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-slate-50\/50 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
    }
  }
  .bg-slate-50\/60 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);
    }
  }
  .bg-slate-50\/70 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);
    }
  }
  .bg-slate-50\/80 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
    }
  }
  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }
  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }
  .bg-slate-200\/70 {
    background-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-200) 70%, transparent);
    }
  }
  .bg-slate-200\/80 {
    background-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }
  .bg-slate-900 {
    background-color: var(--color-slate-900);
  }
  .bg-slate-950 {
    background-color: var(--color-slate-950);
  }
  .bg-transparent {
    background-color: transparent;
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/20 {
    background-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .from-violet-600\/10 {
    --tw-gradient-from: color-mix(in srgb, oklch(59.6% 0.145 163.225) 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-gradient-from: color-mix(in oklab, var(--color-violet-600) 10%, transparent);
    }
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-violet-50 {
    --tw-gradient-via: var(--color-violet-50);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-transparent {
    --tw-gradient-to: transparent;
    --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));
  }
  .stroke-1 {
    stroke-width: 1;
  }
  .object-contain {
    object-fit: contain;
  }
  .object-cover {
    object-fit: cover;
  }
  .p-0\.5 {
    padding: calc(var(--spacing) * 0.5);
  }
  .p-1 {
    padding: calc(var(--spacing) * 1);
  }
  .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-12 {
    padding: calc(var(--spacing) * 12);
  }
  .px-0\.5 {
    padding-inline: calc(var(--spacing) * 0.5);
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .px-1\.5 {
    padding-inline: calc(var(--spacing) * 1.5);
  }
  .px-2 {
    padding-inline: calc(var(--spacing) * 2);
  }
  .px-2\.5 {
    padding-inline: calc(var(--spacing) * 2.5);
  }
  .px-3 {
    padding-inline: calc(var(--spacing) * 3);
  }
  .px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }
  .px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
  .px-5 {
    padding-inline: calc(var(--spacing) * 5);
  }
  .px-6 {
    padding-inline: calc(var(--spacing) * 6);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .py-0\.5 {
    padding-block: calc(var(--spacing) * 0.5);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.5);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-2\.5 {
    padding-block: calc(var(--spacing) * 2.5);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-12 {
    padding-block: calc(var(--spacing) * 12);
  }
  .pt-0\.5 {
    padding-top: calc(var(--spacing) * 0.5);
  }
  .pt-1 {
    padding-top: calc(var(--spacing) * 1);
  }
  .pt-1\.5 {
    padding-top: calc(var(--spacing) * 1.5);
  }
  .pt-2 {
    padding-top: calc(var(--spacing) * 2);
  }
  .pt-3 {
    padding-top: calc(var(--spacing) * 3);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pr-4 {
    padding-right: calc(var(--spacing) * 4);
  }
  .pr-8 {
    padding-right: calc(var(--spacing) * 8);
  }
  .pr-9 {
    padding-right: calc(var(--spacing) * 9);
  }
  .pb-1 {
    padding-bottom: calc(var(--spacing) * 1);
  }
  .pb-1\.5 {
    padding-bottom: calc(var(--spacing) * 1.5);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-4 {
    padding-bottom: calc(var(--spacing) * 4);
  }
  .pb-16 {
    padding-bottom: calc(var(--spacing) * 16);
  }
  .pl-3 {
    padding-left: calc(var(--spacing) * 3);
  }
  .text-center {
    text-align: center;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .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;
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .leading-relaxed {
    --tw-leading: var(--leading-relaxed);
    line-height: var(--leading-relaxed);
  }
  .leading-snug {
    --tw-leading: var(--leading-snug);
    line-height: var(--leading-snug);
  }
  .leading-tight {
    --tw-leading: var(--leading-tight);
    line-height: var(--leading-tight);
  }
  .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-light {
    --tw-font-weight: var(--font-weight-light);
    font-weight: var(--font-weight-light);
  }
  .font-medium {
    --tw-font-weight: var(--font-weight-medium);
    font-weight: var(--font-weight-medium);
  }
  .font-normal {
    --tw-font-weight: var(--font-weight-normal);
    font-weight: var(--font-weight-normal);
  }
  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .tracking-wider {
    --tw-tracking: var(--tracking-wider);
    letter-spacing: var(--tracking-wider);
  }
  .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;
  }
  .text-amber-300 {
    color: var(--color-amber-300);
  }
  .text-amber-400 {
    color: var(--color-amber-400);
  }
  .text-amber-500 {
    color: var(--color-amber-500);
  }
  .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-black {
    color: var(--color-black);
  }
  .text-blue-400 {
    color: var(--color-blue-400);
  }
  .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-violet-100 {
    color: var(--color-violet-100);
  }
  .text-violet-300 {
    color: var(--color-violet-300);
  }
  .text-violet-400 {
    color: var(--color-violet-400);
  }
  .text-violet-500 {
    color: var(--color-violet-500);
  }
  .text-violet-600 {
    color: var(--color-violet-600);
  }
  .text-violet-600\/80 {
    color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-violet-600) 80%, transparent);
    }
  }
  .text-violet-700 {
    color: var(--color-violet-700);
  }
  .text-violet-800 {
    color: var(--color-violet-800);
  }
  .text-violet-900 {
    color: var(--color-violet-900);
  }
  .text-gray-400 {
    color: var(--color-gray-400);
  }
  .text-gray-500 {
    color: var(--color-gray-500);
  }
  .text-gray-600 {
    color: var(--color-gray-600);
  }
  .text-gray-700 {
    color: var(--color-gray-700);
  }
  .text-gray-800 {
    color: var(--color-gray-800);
  }
  .text-gray-900 {
    color: var(--color-gray-900);
  }
  .text-indigo-700 {
    color: var(--color-indigo-700);
  }
  .text-purple-600 {
    color: var(--color-purple-600);
  }
  .text-purple-700 {
    color: var(--color-purple-700);
  }
  .text-red-600 {
    color: var(--color-red-600);
  }
  .text-rose-300 {
    color: var(--color-rose-300);
  }
  .text-rose-500 {
    color: var(--color-rose-500);
  }
  .text-rose-600 {
    color: var(--color-rose-600);
  }
  .text-rose-700 {
    color: var(--color-rose-700);
  }
  .text-rose-800 {
    color: var(--color-rose-800);
  }
  .text-slate-300 {
    color: var(--color-slate-300);
  }
  .text-slate-400 {
    color: var(--color-slate-400);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-800 {
    color: var(--color-slate-800);
  }
  .text-slate-900 {
    color: var(--color-slate-900);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/80 {
    color: color-mix(in srgb, #fff 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 80%, transparent);
    }
  }
  .antialiased {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
  .accent-violet-600 {
    accent-color: var(--color-violet-600);
  }
  .opacity-0 {
    opacity: 0%;
  }
  .opacity-30 {
    opacity: 30%;
  }
  .opacity-40 {
    opacity: 40%;
  }
  .opacity-60 {
    opacity: 60%;
  }
  .opacity-70 {
    opacity: 70%;
  }
  .opacity-75 {
    opacity: 75%;
  }
  .opacity-80 {
    opacity: 80%;
  }
  .shadow-2xl {
    --tw-shadow: 0 25px 50px -12px var(--tw-shadow-color, rgb(0 0 0 / 0.25));
    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_0_8px_\#f43f5e\] {
    --tw-shadow: 0 0 8px var(--tw-shadow-color, #f43f5e);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-inner {
    --tw-shadow: inset 0 2px 4px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    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, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-md {
    --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xl {
    --tw-shadow: 0 20px 25px -5px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 8px 10px -6px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-xs {
    --tw-shadow: 0 1px 2px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.05));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + 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-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);
  }
  .shadow-amber-600\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(66.6% 0.179 58.318) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-amber-600) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-violet-600\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-600) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-violet-600\/25 {
    --tw-shadow-color: color-mix(in srgb, oklch(59.6% 0.145 163.225) 25%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-violet-600) 25%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .shadow-rose-600\/20 {
    --tw-shadow-color: color-mix(in srgb, oklch(58.6% 0.253 17.585) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-rose-600) 20%, transparent) var(--tw-shadow-alpha), transparent);
    }
  }
  .ring-violet-500 {
    --tw-ring-color: var(--color-violet-500);
  }
  .ring-violet-500\/20 {
    --tw-ring-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      --tw-ring-color: color-mix(in oklab, var(--color-violet-500) 20%, transparent);
    }
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .backdrop-blur-xs {
    --tw-backdrop-blur: blur(var(--blur-xs));
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }
  .transition-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-opacity {
    transition-property: opacity;
    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-150 {
    --tw-duration: 150ms;
    transition-duration: 150ms;
  }
  .duration-200 {
    --tw-duration: 200ms;
    transition-duration: 200ms;
  }
  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
  .select-none {
    -webkit-user-select: none;
    user-select: none;
  }
  .group-hover\:text-violet-600 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        color: var(--color-violet-600);
      }
    }
  }
  .group-hover\:opacity-100 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        opacity: 100%;
      }
    }
  }
  .group-hover\:ring-2 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --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);
      }
    }
  }
  .group-hover\:ring-violet-500 {
    &:is(:where(.group):hover *) {
      @media (hover: hover) {
        --tw-ring-color: var(--color-violet-500);
      }
    }
  }
  .placeholder\:text-slate-400 {
    &::placeholder {
      color: var(--color-slate-400);
    }
  }
  .hover\:border-amber-400 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-amber-400);
      }
    }
  }
  .hover\:border-violet-500 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-violet-500);
      }
    }
  }
  .hover\:border-violet-500\/50 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-violet-500) 50%, transparent);
        }
      }
    }
  }
  .hover\:border-violet-500\/70 {
    &:hover {
      @media (hover: hover) {
        border-color: color-mix(in srgb, oklch(69.6% 0.17 162.48) 70%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-violet-500) 70%, transparent);
        }
      }
    }
  }
  .hover\:border-slate-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-slate-300);
      }
    }
  }
  .hover\:bg-amber-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-amber-50);
      }
    }
  }
  .hover\:bg-amber-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-amber-100);
      }
    }
  }
  .hover\:bg-amber-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-amber-700);
      }
    }
  }
  .hover\:bg-blue-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-50);
      }
    }
  }
  .hover\:bg-blue-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-100);
      }
    }
  }
  .hover\:bg-blue-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-blue-700);
      }
    }
  }
  .hover\:bg-violet-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-50);
      }
    }
  }
  .hover\:bg-violet-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-100);
      }
    }
  }
  .hover\:bg-violet-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-200);
      }
    }
  }
  .hover\:bg-violet-600 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-600);
      }
    }
  }
  .hover\:bg-violet-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-violet-700);
      }
    }
  }
  .hover\:bg-rose-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-rose-50);
      }
    }
  }
  .hover\:bg-rose-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-rose-200);
      }
    }
  }
  .hover\:bg-rose-700 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-rose-700);
      }
    }
  }
  .hover\:bg-slate-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-50);
      }
    }
  }
  .hover\:bg-slate-50\/50 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 50%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-slate-50) 50%, transparent);
        }
      }
    }
  }
  .hover\:bg-slate-50\/60 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 60%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-slate-50) 60%, transparent);
        }
      }
    }
  }
  .hover\:bg-slate-50\/80 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 80%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-slate-50) 80%, transparent);
        }
      }
    }
  }
  .hover\:bg-slate-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-100);
      }
    }
  }
  .hover\:bg-slate-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-200);
      }
    }
  }
  .hover\:bg-slate-300 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-300);
      }
    }
  }
  .hover\:bg-white {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-white);
      }
    }
  }
  .hover\:bg-white\/10 {
    &:hover {
      @media (hover: hover) {
        background-color: color-mix(in srgb, #fff 10%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
        }
      }
    }
  }
  .hover\:text-blue-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-blue-600);
      }
    }
  }
  .hover\:text-violet-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-violet-600);
      }
    }
  }
  .hover\:text-violet-700 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-violet-700);
      }
    }
  }
  .hover\:text-rose-500 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-rose-500);
      }
    }
  }
  .hover\:text-rose-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-rose-600);
      }
    }
  }
  .hover\:text-slate-600 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-600);
      }
    }
  }
  .hover\:text-slate-800 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-800);
      }
    }
  }
  .hover\:text-slate-900 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-slate-900);
      }
    }
  }
  .hover\:text-white {
    &:hover {
      @media (hover: hover) {
        color: var(--color-white);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus\:border-amber-500 {
    &:focus {
      border-color: var(--color-amber-500);
    }
  }
  .focus\:border-violet-500 {
    &:focus {
      border-color: var(--color-violet-500);
    }
  }
  .focus\:bg-white {
    &:focus {
      background-color: var(--color-white);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .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\.99\] {
    &:active {
      scale: 0.99;
    }
  }
  .disabled\:opacity-30 {
    &:disabled {
      opacity: 30%;
    }
  }
  .disabled\:opacity-40 {
    &:disabled {
      opacity: 40%;
    }
  }
  .disabled\:opacity-50 {
    &:disabled {
      opacity: 50%;
    }
  }
  .sm\:col-span-2 {
    @media (width >= 40rem) {
      grid-column: span 2 / span 2;
    }
  }
  .sm\:flex {
    @media (width >= 40rem) {
      display: flex;
    }
  }
  .sm\:hidden {
    @media (width >= 40rem) {
      display: none;
    }
  }
  .sm\:inline {
    @media (width >= 40rem) {
      display: inline;
    }
  }
  .sm\:h-\[calc\(100dvh-2rem\)\] {
    @media (width >= 40rem) {
      height: calc(100dvh - 2rem);
    }
  }
  .sm\:h-auto {
    @media (width >= 40rem) {
      height: auto;
    }
  }
  .sm\:max-h-\[96dvh\] {
    @media (width >= 40rem) {
      max-height: 96dvh;
    }
  }
  .sm\:w-96 {
    @media (width >= 40rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .sm\:w-\[calc\(100vw-2rem\)\] {
    @media (width >= 40rem) {
      width: calc(100vw - 2rem);
    }
  }
  .sm\:flex-none {
    @media (width >= 40rem) {
      flex: none;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-3 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .sm\:grid-cols-4 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-center {
    @media (width >= 40rem) {
      align-items: center;
    }
  }
  .sm\:gap-2 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 2);
    }
  }
  .sm\:gap-6 {
    @media (width >= 40rem) {
      gap: calc(var(--spacing) * 6);
    }
  }
  .sm\:self-auto {
    @media (width >= 40rem) {
      align-self: auto;
    }
  }
  .sm\:rounded-2xl {
    @media (width >= 40rem) {
      border-radius: var(--radius-2xl);
    }
  }
  .sm\:p-3 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 3);
    }
  }
  .sm\:p-4 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 4);
    }
  }
  .sm\:p-5 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 5);
    }
  }
  .sm\:p-6 {
    @media (width >= 40rem) {
      padding: calc(var(--spacing) * 6);
    }
  }
  .sm\:px-4 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 4);
    }
  }
  .sm\:px-6 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .md\:flex {
    @media (width >= 48rem) {
      display: flex;
    }
  }
  .md\:inline {
    @media (width >= 48rem) {
      display: inline;
    }
  }
  .md\:max-w-md {
    @media (width >= 48rem) {
      max-width: var(--container-md);
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:items-center {
    @media (width >= 48rem) {
      align-items: center;
    }
  }
  .lg\:col-span-2 {
    @media (width >= 64rem) {
      grid-column: span 2 / span 2;
    }
  }
  .lg\:flex {
    @media (width >= 64rem) {
      display: flex;
    }
  }
  .lg\:hidden {
    @media (width >= 64rem) {
      display: none;
    }
  }
  .lg\:grid-cols-3 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .lg\:grid-cols-4 {
    @media (width >= 64rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .lg\:pb-0 {
    @media (width >= 64rem) {
      padding-bottom: calc(var(--spacing) * 0);
    }
  }
  .xl\:flex {
    @media (width >= 80rem) {
      display: flex;
    }
  }
  .xl\:w-96 {
    @media (width >= 80rem) {
      width: calc(var(--spacing) * 96);
    }
  }
  .xl\:min-w-0 {
    @media (width >= 80rem) {
      min-width: calc(var(--spacing) * 0);
    }
  }
  .xl\:grid-cols-4 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .\32 xl\:grid-cols-5 {
    @media (width >= 96rem) {
      grid-template-columns: repeat(5, minmax(0, 1fr));
    }
  }
  .dark\:divide-slate-800 {
    &:where(.dark, .dark *) {
      :where(& > :not(:last-child)) {
        border-color: var(--color-slate-800);
      }
    }
  }
  .dark\:divide-slate-800\/60 {
    &:where(.dark, .dark *) {
      :where(& > :not(:last-child)) {
        border-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 60%, transparent);
        @supports (color: color-mix(in lab, red, red)) {
          border-color: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
        }
      }
    }
  }
  .dark\:border-amber-900 {
    &:where(.dark, .dark *) {
      border-color: var(--color-amber-900);
    }
  }
  .dark\:border-violet-800 {
    &:where(.dark, .dark *) {
      border-color: var(--color-violet-800);
    }
  }
  .dark\:border-violet-800\/60 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, oklch(43.2% 0.095 166.913) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-violet-800) 60%, transparent);
      }
    }
  }
  .dark\:border-violet-900\/40 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, oklch(37.8% 0.077 168.94) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-violet-900) 40%, transparent);
      }
    }
  }
  .dark\:border-purple-800 {
    &:where(.dark, .dark *) {
      border-color: var(--color-purple-800);
    }
  }
  .dark\:border-rose-900 {
    &:where(.dark, .dark *) {
      border-color: var(--color-rose-900);
    }
  }
  .dark\:border-rose-900\/40 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, oklch(41% 0.159 10.272) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-rose-900) 40%, transparent);
      }
    }
  }
  .dark\:border-slate-700 {
    &:where(.dark, .dark *) {
      border-color: var(--color-slate-700);
    }
  }
  .dark\:border-slate-700\/60 {
    &:where(.dark, .dark *) {
      border-color: color-mix(in srgb, oklch(37.2% 0.044 257.287) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        border-color: color-mix(in oklab, var(--color-slate-700) 60%, transparent);
      }
    }
  }
  .dark\:border-slate-800 {
    &:where(.dark, .dark *) {
      border-color: var(--color-slate-800);
    }
  }
  .dark\:bg-amber-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-amber-950);
    }
  }
  .dark\:bg-amber-950\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);
      }
    }
  }
  .dark\:bg-amber-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-amber-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-amber-950\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-amber-950) 60%, transparent);
      }
    }
  }
  .dark\:bg-blue-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-blue-950);
    }
  }
  .dark\:bg-blue-950\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-950) 40%, transparent);
      }
    }
  }
  .dark\:bg-blue-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-blue-950\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(28.2% 0.091 267.935) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-blue-950) 60%, transparent);
      }
    }
  }
  .dark\:bg-violet-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-violet-950);
    }
  }
  .dark\:bg-violet-950\/20 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-violet-950) 20%, transparent);
      }
    }
  }
  .dark\:bg-violet-950\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-violet-950) 40%, transparent);
      }
    }
  }
  .dark\:bg-violet-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-violet-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-violet-950\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-violet-950) 60%, transparent);
      }
    }
  }
  .dark\:bg-indigo-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(25.7% 0.09 281.288) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-indigo-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-purple-950\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-purple-950) 40%, transparent);
      }
    }
  }
  .dark\:bg-purple-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(29.1% 0.149 302.717) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-purple-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-rose-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-rose-950);
    }
  }
  .dark\:bg-rose-950\/20 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 20%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-rose-950) 20%, transparent);
      }
    }
  }
  .dark\:bg-rose-950\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-rose-950) 40%, transparent);
      }
    }
  }
  .dark\:bg-rose-950\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-rose-950) 50%, transparent);
      }
    }
  }
  .dark\:bg-rose-950\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-rose-950) 60%, transparent);
      }
    }
  }
  .dark\:bg-slate-700 {
    &:where(.dark, .dark *) {
      background-color: var(--color-slate-700);
    }
  }
  .dark\:bg-slate-700\/80 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(37.2% 0.044 257.287) 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-700) 80%, transparent);
      }
    }
  }
  .dark\:bg-slate-800 {
    &:where(.dark, .dark *) {
      background-color: var(--color-slate-800);
    }
  }
  .dark\:bg-slate-800\/30 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 30%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
      }
    }
  }
  .dark\:bg-slate-800\/40 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
      }
    }
  }
  .dark\:bg-slate-800\/50 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 50%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-800) 50%, transparent);
      }
    }
  }
  .dark\:bg-slate-800\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-800) 60%, transparent);
      }
    }
  }
  .dark\:bg-slate-800\/80 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-800) 80%, transparent);
      }
    }
  }
  .dark\:bg-slate-900 {
    &:where(.dark, .dark *) {
      background-color: var(--color-slate-900);
    }
  }
  .dark\:bg-slate-900\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-900) 60%, transparent);
      }
    }
  }
  .dark\:bg-slate-900\/95 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 95%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-900) 95%, transparent);
      }
    }
  }
  .dark\:bg-slate-950 {
    &:where(.dark, .dark *) {
      background-color: var(--color-slate-950);
    }
  }
  .dark\:bg-slate-950\/60 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 60%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-950) 60%, transparent);
      }
    }
  }
  .dark\:bg-slate-950\/80 {
    &:where(.dark, .dark *) {
      background-color: color-mix(in srgb, oklch(12.9% 0.042 264.695) 80%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        background-color: color-mix(in oklab, var(--color-slate-950) 80%, transparent);
      }
    }
  }
  .dark\:bg-white {
    &:where(.dark, .dark *) {
      background-color: var(--color-white);
    }
  }
  .dark\:from-violet-950\/40 {
    &:where(.dark, .dark *) {
      --tw-gradient-from: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        --tw-gradient-from: color-mix(in oklab, var(--color-violet-950) 40%, transparent);
      }
      --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));
    }
  }
  .dark\:via-slate-900 {
    &:where(.dark, .dark *) {
      --tw-gradient-via: var(--color-slate-900);
      --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
      --tw-gradient-stops: var(--tw-gradient-via-stops);
    }
  }
  .dark\:to-transparent {
    &:where(.dark, .dark *) {
      --tw-gradient-to: transparent;
      --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));
    }
  }
  .dark\:text-amber-300 {
    &:where(.dark, .dark *) {
      color: var(--color-amber-300);
    }
  }
  .dark\:text-amber-400 {
    &:where(.dark, .dark *) {
      color: var(--color-amber-400);
    }
  }
  .dark\:text-blue-300 {
    &:where(.dark, .dark *) {
      color: var(--color-blue-300);
    }
  }
  .dark\:text-violet-200 {
    &:where(.dark, .dark *) {
      color: var(--color-violet-200);
    }
  }
  .dark\:text-violet-300 {
    &:where(.dark, .dark *) {
      color: var(--color-violet-300);
    }
  }
  .dark\:text-violet-400 {
    &:where(.dark, .dark *) {
      color: var(--color-violet-400);
    }
  }
  .dark\:text-violet-400\/70 {
    &:where(.dark, .dark *) {
      color: color-mix(in srgb, oklch(76.5% 0.177 163.223) 70%, transparent);
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, var(--color-violet-400) 70%, transparent);
      }
    }
  }
  .dark\:text-indigo-300 {
    &:where(.dark, .dark *) {
      color: var(--color-indigo-300);
    }
  }
  .dark\:text-purple-300 {
    &:where(.dark, .dark *) {
      color: var(--color-purple-300);
    }
  }
  .dark\:text-rose-300 {
    &:where(.dark, .dark *) {
      color: var(--color-rose-300);
    }
  }
  .dark\:text-rose-400 {
    &:where(.dark, .dark *) {
      color: var(--color-rose-400);
    }
  }
  .dark\:text-slate-100 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-100);
    }
  }
  .dark\:text-slate-200 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-200);
    }
  }
  .dark\:text-slate-300 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-300);
    }
  }
  .dark\:text-slate-400 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-400);
    }
  }
  .dark\:text-slate-500 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-500);
    }
  }
  .dark\:text-slate-600 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-600);
    }
  }
  .dark\:text-slate-900 {
    &:where(.dark, .dark *) {
      color: var(--color-slate-900);
    }
  }
  .dark\:text-white {
    &:where(.dark, .dark *) {
      color: var(--color-white);
    }
  }
  .dark\:group-hover\:text-violet-400 {
    &:where(.dark, .dark *) {
      &:is(:where(.group):hover *) {
        @media (hover: hover) {
          color: var(--color-violet-400);
        }
      }
    }
  }
  .dark\:hover\:border-slate-600 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          border-color: var(--color-slate-600);
        }
      }
    }
  }
  .dark\:hover\:border-slate-700 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          border-color: var(--color-slate-700);
        }
      }
    }
  }
  .dark\:hover\:bg-amber-950\/30 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-amber-950) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-amber-950\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.9% 0.077 45.635) 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-amber-950) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-violet-900\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(37.8% 0.077 168.94) 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-violet-900) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-violet-950\/30 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-violet-950) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-violet-950\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-violet-950) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-violet-950\/50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(26.2% 0.051 172.552) 50%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-violet-950) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-rose-900\/60 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(41% 0.159 10.272) 60%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-rose-900) 60%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-rose-950\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-rose-950) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-rose-950\/50 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.1% 0.105 12.094) 50%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-rose-950) 50%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-slate-600 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-slate-600);
        }
      }
    }
  }
  .dark\:hover\:bg-slate-700 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-slate-700);
        }
      }
    }
  }
  .dark\:hover\:bg-slate-800 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: var(--color-slate-800);
        }
      }
    }
  }
  .dark\:hover\:bg-slate-800\/30 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 30%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-slate-800) 30%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:bg-slate-800\/40 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          background-color: color-mix(in srgb, oklch(27.9% 0.041 260.031) 40%, transparent);
          @supports (color: color-mix(in lab, red, red)) {
            background-color: color-mix(in oklab, var(--color-slate-800) 40%, transparent);
          }
        }
      }
    }
  }
  .dark\:hover\:text-slate-200 {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-slate-200);
        }
      }
    }
  }
  .dark\:hover\:text-white {
    &:where(.dark, .dark *) {
      &:hover {
        @media (hover: hover) {
          color: var(--color-white);
        }
      }
    }
  }
  .dark\:focus\:bg-slate-900 {
    &:where(.dark, .dark *) {
      &:focus {
        background-color: var(--color-slate-900);
      }
    }
  }
}
@layer base {
  html, body, #root {
    width: 100%;
    min-width: 0;
    min-height: 100%;
    margin: 0;
  }
  html {
    background: #f8fafc;
    overscroll-behavior: none;
  }
  * {
    box-sizing: border-box;
    font-family: 'Cairo', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
  }
  body {
    min-height: 100dvh;
    font-family: 'Cairo', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Tahoma, Arial, sans-serif;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow: hidden;
  }
  button, input, select, textarea {
    font: inherit;
  }
  input[type='number'], input[inputmode='numeric'], input[inputmode='decimal'], input[type='password'] {
    direction: ltr;
  }
}
.custom-scrollbar, .slim-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: rgba(100, 116, 139, 0.45) transparent;
  overscroll-behavior: contain;
}
.custom-scrollbar::-webkit-scrollbar, .slim-scrollbar::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.custom-scrollbar::-webkit-scrollbar-track, .slim-scrollbar::-webkit-scrollbar-track {
  background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb, .slim-scrollbar::-webkit-scrollbar-thumb {
  background: rgba(148, 163, 184, 0.45);
  border-radius: 9999px;
}
.custom-scrollbar::-webkit-scrollbar-thumb:hover, .slim-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgba(100, 116, 139, 0.65);
}
#printable-receipt {
  box-sizing: border-box;
  max-width: 100%;
  height: auto !important;
  min-height: max-content;
  overflow: visible !important;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
}
#printable-receipt * {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}
#printable-receipt svg, #printable-receipt img {
  height: auto;
  object-fit: contain;
}
@media (max-width: 1023px) {
  .mobile-safe-bottom {
    padding-bottom: calc(4rem + env(safe-area-inset-bottom, 0px));
  }
  #mobile-bottom-nav {
    padding-bottom: env(safe-area-inset-bottom, 0px);
    height: calc(4rem + env(safe-area-inset-bottom, 0px));
  }
}
@media print {
  .no-print, #main-header, #desktop-sidebar, #mobile-bottom-nav {
    display: none !important;
  }
  html, body, #root {
    background: white !important;
    color: black !important;
    overflow: visible !important;
    height: auto !important;
    min-height: 0 !important;
  }
  #modal-receipt-backdrop, #modal-receipt-box {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    background: white !important;
    box-shadow: none !important;
    border: 0 !important;
  }
  #printable-receipt {
    margin: 0 auto !important;
    box-shadow: none !important;
    border: 0 !important;
    page-break-inside: auto;
  }
}

/* AlMezan Market responsive fixes v2.1 */
.mobile-sidebar-panel {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  margin: 0;
  animation: almezan-sidebar-in-right 180ms cubic-bezier(.2,.8,.2,1) both;
  will-change: transform;
}
@keyframes almezan-sidebar-in-right {
  from { transform: translateX(100%); opacity: .96; }
  to { transform: translateX(0); opacity: 1; }
}
.inventory-toolbar {
  width: 100%;
  min-width: 0;
  justify-content: flex-start;
  align-items: stretch;
}
.inventory-tabs {
  min-width: 0;
  flex: 1 1 auto;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2px;
}
.inventory-tab-button {
  min-width: 0;
  white-space: normal;
  line-height: 1.35;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
}
.inventory-export-actions {
  flex: 0 0 auto;
  display: grid !important;
  grid-template-columns: repeat(3, max-content);
  align-content: center;
}
.inventory-export-button {
  justify-content: center;
  min-width: 74px;
}
.receipt-brand-logo {
  display: block !important;
  width: auto !important;
  max-width: 150px !important;
}
@media (min-width: 640px) and (max-width: 900px) {
  .inventory-heading-row {
    flex-direction: column !important;
    align-items: stretch !important;
  }
}
@media (max-width: 639px) {
  .inventory-toolbar {
    flex-direction: column;
  }
  .inventory-tabs {
    width: 100%;
    order: 1;
  }
  .inventory-export-actions {
    order: 2;
    width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .inventory-export-button {
    width: 100%;
    min-width: 0;
  }
}
@media (min-width: 901px) {
  .inventory-toolbar {
    width: auto;
  }
  .inventory-tabs {
    flex: 0 1 auto;
  }
}

@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-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}
@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-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-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
    }
  }
}

/* ===== AlMezan receipt / invoice professional v3 ===== */
.receipt-preview-scroll { text-align: center; }
.receipt-paper {
  box-sizing: border-box;
  height: auto !important;
  min-height: max-content;
  overflow: visible !important;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  margin-inline: auto !important;
  padding: 14px;
  direction: rtl;
  text-align: right;
  line-height: 1.45;
}
.receipt-paper-80 { width: 80mm; max-width: 100%; font-size: 10px; }
.receipt-paper-58 { width: 58mm; max-width: 100%; font-size: 8.5px; padding: 9px; }
.receipt-paper-a4 { width: 210mm; max-width: 100%; font-size: 13px; padding: 24px; }
.receipt-brand-header { text-align:center; padding-bottom:10px; border-bottom:1px dashed #94a3b8; }
.receipt-brand-logo { display:block !important; width:auto !important; height:58px !important; max-width:150px !important; object-fit:contain !important; margin:0 auto 6px !important; }
.receipt-paper-58 .receipt-brand-logo { height:46px !important; max-width:115px !important; }
.receipt-paper-a4 .receipt-brand-logo { height:82px !important; max-width:190px !important; }
.receipt-store-name { margin:0; font-size:1.45em; font-weight:900; line-height:1.25; color:#0f172a; }
.receipt-store-subtitle { margin:2px 0 0; font-size:.88em; font-weight:700; color:#6D28D9; }
.receipt-store-info { margin:2px 0 0; font-size:.78em; color:#475569; }
.receipt-meta { padding:9px 0; border-bottom:1px dashed #94a3b8; font-size:.9em; }
.receipt-meta-row { display:flex; justify-content:space-between; gap:8px; align-items:flex-start; margin:2px 0; }
.receipt-meta-row > span:last-child { text-align:left; overflow-wrap:anywhere; }
.receipt-meta-strong { font-weight:900; color:#0f172a; }
.receipt-items-wrap { padding:9px 0; border-bottom:1px dashed #94a3b8; overflow:visible; }
.receipt-items-table { width:100%; border-collapse:collapse; table-layout:fixed; direction:rtl; font-size:.82em; }
.receipt-items-table th { font-weight:900; color:#334155; padding:4px 2px; border-bottom:1px solid #cbd5e1; text-align:center; line-height:1.3; }
.receipt-items-table th:first-child { text-align:right; }
.receipt-items-table td { padding:5px 2px; vertical-align:top; border-bottom:1px solid #f1f5f9; line-height:1.35; }
.receipt-items-table tbody tr:last-child td { border-bottom:0; }
.receipt-product-cell { font-weight:800; color:#111827; text-align:right; overflow-wrap:anywhere; }
.receipt-unit-cell { text-align:center; color:#475569; font-weight:700; overflow-wrap:anywhere; }
.receipt-number-cell { text-align:center; direction:ltr; font-family:monospace; font-weight:800; overflow-wrap:anywhere; }
.receipt-total-cell { font-weight:900; }
.receipt-col-product { width:38%; }
.receipt-col-unit { width:15%; }
.receipt-col-qty { width:11%; }
.receipt-col-price { width:17%; }
.receipt-col-total { width:19%; }
.receipt-paper-58 .receipt-col-product { width:35%; }
.receipt-paper-58 .receipt-col-unit { width:16%; }
.receipt-paper-58 .receipt-col-qty { width:11%; }
.receipt-paper-58 .receipt-col-price { width:18%; }
.receipt-paper-58 .receipt-col-total { width:20%; }
.receipt-paper-58 .receipt-items-table { font-size:7.7px; }
.receipt-paper-58 .receipt-items-table th,
.receipt-paper-58 .receipt-items-table td { padding:4px 1px; }
.receipt-paper-a4 .receipt-items-table { font-size:11px; }
.receipt-paper-a4 .receipt-col-product { width:44%; }
.receipt-paper-a4 .receipt-col-unit { width:14%; }
.receipt-paper-a4 .receipt-col-qty { width:10%; }
.receipt-paper-a4 .receipt-col-price { width:15%; }
.receipt-paper-a4 .receipt-col-total { width:17%; }
.receipt-totals { padding:9px 0; border-bottom:1px dashed #94a3b8; font-size:.9em; }
.receipt-total-row { display:flex; justify-content:space-between; gap:10px; margin:3px 0; align-items:flex-start; }
.receipt-total-row > span:last-child { direction:ltr; text-align:left; white-space:nowrap; }
.receipt-total-discount { color:#be123c; font-weight:800; }
.receipt-total-grand { font-size:1.16em; font-weight:900; padding-top:5px; margin-top:5px; border-top:1px solid #cbd5e1; }
.receipt-total-change { color:#6D28D9; font-weight:900; }
.receipt-total-debt { color:#be123c; font-weight:900; }
.receipt-footer { padding-top:10px; text-align:center; font-size:.82em; color:#475569; }
.receipt-barcode { display:flex; justify-content:center; overflow:hidden; }
.receipt-barcode svg { max-width:100%; height:auto; }
.receipt-system-mark { margin-top:4px; font-size:.75em; color:#94a3b8; }

@media print {
  body.receipt-print-mode,
  body.receipt-print-mode html { background:#fff !important; }
  body.receipt-print-mode #root * { visibility:hidden !important; }
  body.receipt-print-mode #printable-receipt,
  body.receipt-print-mode #printable-receipt * { visibility:visible !important; }
  body.receipt-print-mode #printable-receipt {
    position:absolute !important;
    top:0 !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:0 !important;
    padding:3mm !important;
    box-shadow:none !important;
    border:0 !important;
    background:#fff !important;
    height:auto !important;
    max-height:none !important;
    overflow:visible !important;
  }
  body.receipt-print-mode[data-receipt-paper="80mm"] #printable-receipt { width:80mm !important; max-width:80mm !important; }
  body.receipt-print-mode[data-receipt-paper="58mm"] #printable-receipt { width:58mm !important; max-width:58mm !important; padding:2mm !important; }
  body.receipt-print-mode[data-receipt-paper="a4"] #printable-receipt { width:190mm !important; max-width:190mm !important; padding:0 !important; box-sizing:border-box !important; }
  body.receipt-print-mode #modal-receipt-backdrop,
  body.receipt-print-mode #modal-receipt-box { background:transparent !important; box-shadow:none !important; border:0 !important; }
}


/* ===== AlMezan receipt / export refinements v4 ===== */
.receipt-brand-header {
  padding: 0 0 8px !important;
  margin: 0 !important;
}
.receipt-brand-logo {
  height: 74px !important;
  max-width: 184px !important;
  width: auto !important;
  object-fit: contain !important;
  margin: 0 auto 2px !important;
}
.receipt-paper-58 .receipt-brand-logo {
  height: 56px !important;
  max-width: 138px !important;
}
.receipt-paper-a4 .receipt-brand-logo {
  height: 94px !important;
  max-width: 230px !important;
}
.receipt-store-name { margin-top: 0 !important; line-height: 1.22 !important; }
.receipt-store-subtitle { margin-top: 1px !important; line-height: 1.35 !important; }
.receipt-store-info-grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1px 8px;
  margin-top: 3px;
  line-height: 1.35;
}
.receipt-store-info-grid .receipt-store-info { margin: 0 !important; white-space: nowrap; }
.receipt-meta { padding-top: 7px !important; padding-bottom: 7px !important; }
.receipt-items-table th {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.receipt-qty-heading { white-space: nowrap !important; letter-spacing: 0 !important; }
.receipt-col-product { width: 37% !important; }
.receipt-col-unit { width: 15% !important; }
.receipt-col-qty { width: 13% !important; }
.receipt-col-price { width: 17% !important; }
.receipt-col-total { width: 18% !important; }
.receipt-paper-58 .receipt-col-product { width: 33% !important; }
.receipt-paper-58 .receipt-col-unit { width: 16% !important; }
.receipt-paper-58 .receipt-col-qty { width: 15% !important; }
.receipt-paper-58 .receipt-col-price { width: 17% !important; }
.receipt-paper-58 .receipt-col-total { width: 19% !important; }
.receipt-paper-58 .receipt-items-table th { font-size: 7.1px !important; }
.receipt-image-export { background:#fff !important; box-shadow:none !important; border:0 !important; }


/* ===== Cash Top 3 v5 UX refinements ===== */
html, body { overscroll-behavior-y: auto !important; }
.custom-scrollbar, .slim-scrollbar, .overflow-y-auto, .overflow-auto { overscroll-behavior: auto !important; }
.oscar-toast-stack{
  position:fixed; left:50%; right:auto; bottom:72px; z-index:999999;
  transform:translateX(-50%); display:flex; flex-direction:column-reverse; align-items:center; gap:5px;
  pointer-events:none; font-family:'Cairo',system-ui,sans-serif;
}
.oscar-toast{
  width:max-content; max-width:min(86vw,330px); min-height:29px;
  display:flex; align-items:center; gap:6px; direction:rtl;
  padding:5px 8px; border:0!important; border-radius:999px;
  background:rgba(15,23,42,.94); color:#fff;
  box-shadow:0 6px 18px rgba(15,23,42,.20); backdrop-filter:blur(10px);
  pointer-events:auto; animation:oscarToastIn .22s cubic-bezier(.2,.85,.25,1.15) both;
  font-family:'Cairo',system-ui,sans-serif!important; font-size:10.5px; font-weight:600; line-height:1.45;
}
.oscar-toast-success,.oscar-toast-error,.oscar-toast-warning,.oscar-toast-info{border:0!important}
.oscar-toast-success svg{color:#A78BFA}.oscar-toast-error svg{color:#fb7185}.oscar-toast-warning svg{color:#fbbf24}.oscar-toast-info svg{color:#60a5fa}
.oscar-toast-message{display:flex;align-items:center;gap:5px;min-width:0}.oscar-toast-message span{white-space:normal}
.oscar-toast-close{display:none!important}
@keyframes oscarToastIn{from{opacity:0;transform:translateY(12px) scale(.88)}70%{transform:translateY(-1px) scale(1.02)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (min-width:1024px){.oscar-toast-stack{bottom:16px}}

/* Hide per-page marketing titles/descriptions below the persistent header, keep actions. */
#dashboard-screen > .flex:first-child > div:first-child,
#sales-screen > .flex:first-child > div:first-child,
#purchases-screen > .flex:first-child > div:first-child,
#products-screen > .flex:first-child > div:first-child,
#categories-screen > .flex:first-child > div:first-child,
#inventory-screen > .inventory-heading-row > div:first-child,
#customers-screen > .flex:first-child > div:first-child,
#suppliers-screen > .flex:first-child > div:first-child,
#accounts-screen > .flex:first-child > div:first-child,
#expenses-screen > .flex:first-child > div:first-child,
#vouchers-screen > .flex:first-child > div:first-child,
#employees-screen > .flex:first-child > div:first-child,
#barcodes-screen > .flex:first-child > div:first-child,
#reports-screen > .flex:first-child > div:first-child,
#trash-screen > .flex:first-child > div:first-child,
#settings-screen > div:first-child {display:none!important}

/* Cart is deliberately dense on mobile. */
#full-page-cart-view table th{padding:.45rem .45rem!important;font-size:10px!important}
#full-page-cart-view table td{padding:.42rem .45rem!important}
#full-page-cart-view tbody tr{height:auto!important}
#full-page-cart-view .cart-product-name{font-size:12px!important;line-height:1.35!important}
#full-page-cart-view .cart-product-meta{font-size:9px!important;line-height:1.2!important;margin-top:1px!important}
#full-page-cart-view .overscroll-contain{overscroll-behavior:auto!important}

/* Searchable dropdown visual language */
.searchable-dropdown-panel{font-family:'Cairo',sans-serif!important;border-radius:14px!important;box-shadow:0 18px 45px rgba(15,23,42,.18)!important}
select{font-family:'Cairo',sans-serif}

/* Barcode labels remain crisp in preview. Printing is handled by an isolated snapshot iframe. */
#barcode-print-area svg{display:block;max-width:100%;height:auto}

/* Smooth scroll chaining from inner tables to the page on touch devices. */
.slim-scrollbar,.custom-scrollbar,.overflow-x-auto{overscroll-behavior-inline:auto;overscroll-behavior-block:auto;-webkit-overflow-scrolling:touch;}

/* Remove redundant page title blocks under the global header while preserving action buttons. */
#employees-view-container > .flex:first-child > div:first-child,
#vouchers-view-container > .flex:first-child > div:first-child {display:none!important;}


/* ===== Cash Top 3 v7: editor, scroll-chain and compact POS ===== */
.product-editor-body input,
.unit-editor-card input{font-family:'Cairo',system-ui,sans-serif!important;user-select:text!important;-webkit-user-select:text!important;touch-action:manipulation;}
.product-number-input{direction:ltr!important;text-align:left!important;font-variant-numeric:tabular-nums;}
.unit-conversion-strip{contain:inline-size;max-width:100%!important;touch-action:pan-x pan-y;overscroll-behavior-x:contain;overscroll-behavior-y:auto;}
.unit-conversion-strip>div{max-width:none!important;}
.unit-conversion-strip input{min-width:64px!important;}
.custom-scrollbar,.slim-scrollbar,.overflow-y-auto,.overflow-auto{overscroll-behavior-y:auto!important;touch-action:pan-x pan-y;}
.scroll-chain-page{overscroll-behavior-y:auto!important;-webkit-overflow-scrolling:touch;}

/* Searchable dropdowns: one compact, modern visual language everywhere */
.searchable-dropdown-root{font-family:'Cairo',system-ui,sans-serif!important;position:relative;}
.searchable-dropdown-panel{border:1px solid #e2e8f0!important;background:#fff!important;border-radius:13px!important;padding:5px!important;box-shadow:0 14px 34px rgba(15,23,42,.16)!important;}
.searchable-dropdown-panel input{font-family:'Cairo',system-ui,sans-serif!important;font-size:11px!important;}
.dark .searchable-dropdown-panel{background:#0f172a!important;border-color:#334155!important;}

@media (max-width:640px){
  #full-page-cart-view table th{padding:.32rem .30rem!important;font-size:9px!important;}
  #full-page-cart-view table td{padding:.27rem .30rem!important;font-size:10px!important;line-height:1.2!important;}
  #full-page-cart-view .cart-product-name{font-size:10.5px!important;line-height:1.22!important;}
  #full-page-cart-view .cart-product-meta{font-size:8px!important;line-height:1.05!important;margin-top:0!important;}
  #full-page-cart-view tbody button{min-width:24px!important;min-height:24px!important;padding:2px 5px!important;}
}

/* ===== Cash Top 3 v7.3: stable mobile POS keyboard + top camera layer ===== */
.barcode-camera-overlay{z-index:2147483000!important;isolation:isolate!important;}
.barcode-camera-button{display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;line-height:0!important;}
.barcode-camera-button svg{display:block!important;margin:auto!important;transform:none!important;}
.full-cart-checkout-dock,.cart-checkout-dock{flex:0 0 auto!important;position:relative;z-index:8;}
#desktop-sidebar{height:100%!important;max-height:100%!important;}
@media (max-width:1023px){
  #full-cart-modal-backdrop{height:var(--oscar-app-height,100dvh)!important;max-height:var(--oscar-app-height,100dvh)!important;bottom:auto!important;}
  #full-cart-modal-box{height:calc(var(--oscar-app-height,100dvh) - .75rem)!important;max-height:calc(var(--oscar-app-height,100dvh) - .75rem)!important;}
}
#payment-invoice-discount{display:none!important;}


/* ===== Cash Top 3 v7.8: bounded modals + exact print/export ===== */
.oscar-bounded-modal{
  top:3.5rem!important;
  bottom:calc(4rem + env(safe-area-inset-bottom, 0px))!important;
  max-height:calc(var(--oscar-app-height,100dvh) - 7.5rem - env(safe-area-inset-bottom,0px))!important;
}
.oscar-bounded-modal > *{
  min-height:0;
}
.voucher-paper{
  color-scheme:light!important;
  background:#fff!important;
}
.voucher-paper img{
  max-width:120px!important;
  max-height:48px!important;
  object-fit:contain!important;
}
.voucher-paper *{
  box-sizing:border-box;
}
@media (min-width:1024px){
  .oscar-bounded-modal{
    top:0!important;
    bottom:0!important;
    max-height:100dvh!important;
  }
}

/* Restaurant & Cafe mode transplanted from Oooo-main */
@media print {
  body * { visibility: hidden; }
  #kitchen-ticket-print-area, #kitchen-ticket-print-area * { visibility: visible; }
  #kitchen-ticket-print-area { position: fixed !important; top: 0; right: 0; left: 0; margin: 0 auto !important; box-shadow: none !important; border: 0 !important; }
}

/* ===== v7.9 Restaurant live patch: true black/white night surfaces ===== */
@media screen {
  html.dark, html.dark body, html.dark #root { background:#000!important; color:#fff!important; color-scheme:dark; }
  html.dark [class*="dark:bg-slate-"],
  html.dark [class*="dark:bg-gray-"],
  html.dark [class*="dark:bg-neutral-"] { background-color:#000!important; }
  html.dark [class*="dark:text-slate-"],
  html.dark [class*="dark:text-gray-"],
  html.dark [class*="dark:text-neutral-"] { color:#fff!important; }
  html.dark [class*="dark:border-slate-"],
  html.dark [class*="dark:border-gray-"],
  html.dark [class*="dark:border-neutral-"] { border-color:#3f3f46!important; }
  html.dark input, html.dark textarea, html.dark select {
    background:#050505!important;
    color:#fff!important;
    border-color:#404040!important;
  }
  html.dark input::placeholder, html.dark textarea::placeholder { color:#a3a3a3!important; }
  html.dark .searchable-dropdown-panel { background:#000!important; color:#fff!important; border-color:#404040!important; }
  html.dark .searchable-dropdown-panel * { color:inherit; }
}
@media screen {
  /* Night mode is intentionally monochrome: black / white / neutral grays only. */
  html.dark #root { filter: grayscale(100%); }
}

/* ===== Waiter cart overlay placement v14 ===== */
#waiter-cart-fab {
  position: fixed !important;
  left: 16px !important;
  right: auto !important;
  top: auto !important;
  bottom: calc(4rem + env(safe-area-inset-bottom, 0px) + 12px) !important;
  z-index: 70 !important;
}
#waiter-cart-backdrop {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  top: 3.5rem !important;
  bottom: calc(4rem + env(safe-area-inset-bottom, 0px)) !important;
  z-index: 95 !important;
}
#waiter-cart-modal {
  position: fixed !important;
  top: calc(3.5rem + 8px) !important;
  bottom: calc(4rem + env(safe-area-inset-bottom, 0px) + 8px) !important;
  left: 50% !important;
  right: auto !important;
  width: calc(100vw - 16px) !important;
  max-width: 920px !important;
  height: auto !important;
  max-height: none !important;
  transform: translateX(-50%) !important;
  z-index: 110 !important;
}
#waiter-cart-modal > div:nth-child(2) {
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
@media (min-width: 1024px) {
  #waiter-cart-fab {
    bottom: 18px !important;
    left: 18px !important;
  }
  #waiter-cart-backdrop {
    bottom: 0 !important;
  }
  #waiter-cart-modal {
    bottom: 12px !important;
    width: min(920px, calc(100vw - 80px)) !important;
  }
}


/* ===== v7.9.1 Restaurant action controls ===== */
#waiter-cart-modal button,
.restaurant-kds-action {
  -webkit-tap-highlight-color: transparent;
}
#waiter-cart-modal button:disabled {
  cursor: not-allowed;
  box-shadow: none !important;
}

/* ===== Cash Top AI mobile safe modal sizing v7.9.4 ===== */
.oscar-ai-overlay {
  position: fixed !important;
  inset: 0 !important;
  align-items: center;
  padding: 16px;
  overflow: hidden !important;
  overscroll-behavior: contain;
}
.oscar-ai-panel {
  max-height: calc(100dvh - 32px);
  border-radius: 24px;
  min-height: 0;
}
.oscar-ai-panel > div[class*="overflow-y-auto"] {
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: pan-y;
}
@media (max-width: 639px) {
  .oscar-ai-overlay {
    inset: auto 0 auto 0 !important;
    top: calc(3.5rem + 4px) !important;
    bottom: calc(4rem + env(safe-area-inset-bottom, 0px) + 4px) !important;
    padding: 6px !important;
    align-items: stretch !important;
  }
  .oscar-ai-panel {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    min-height: 0 !important;
    border-radius: 18px !important;
  }
  .oscar-purchase-ai-panel {
    max-width: none !important;
  }
  .oscar-ai-panel header,
  .oscar-ai-panel footer {
    position: relative;
    z-index: 2;
  }
}

/* ===== v7.9.4.6 Employee modal: bounded below header / above mobile nav ===== */
.oscar-employee-modal-overlay{
  position:fixed!important;
  inset:0!important;
  padding:12px!important;
  align-items:center!important;
  overflow:hidden!important;
  overscroll-behavior:contain!important;
}
.oscar-employee-modal-panel{
  min-height:0!important;
  max-height:calc(var(--oscar-app-height,100dvh) - 24px)!important;
}
.oscar-employee-modal-panel form{
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
}
@media (max-width:1023px){
  .oscar-employee-modal-overlay{
    inset:auto 0 auto 0!important;
    top:3.5rem!important;
    bottom:calc(4rem + env(safe-area-inset-bottom,0px))!important;
    padding:6px!important;
    align-items:stretch!important;
  }
  .oscar-employee-modal-panel{
    width:100%!important;
    height:100%!important;
    max-height:none!important;
    border-radius:16px!important;
  }
}

/* ===== v7.9.4.12 High-refresh motion system (120Hz-friendly) =====
   Compositor-only motion: transform + opacity. No layout-heavy animation. */
:root{
  --oscar-motion-fast:90ms;
  --oscar-motion-page:165ms;
  --oscar-motion-modal:175ms;
  --oscar-motion-ease:cubic-bezier(.22,.78,.24,1);
  --oscar-motion-spring:cubic-bezier(.2,.9,.25,1.08);
}

html,body,#root{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

/* Page changes: very light slide/fade to keep navigation feeling instant. */
.oscar-page-stage{
  animation:oscar-page-in var(--oscar-motion-page) var(--oscar-motion-ease) both;
  transform-origin:50% 18%;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
@keyframes oscar-page-in{
  from{opacity:.72;transform:translate3d(0,5px,0) scale(.997)}
  to{opacity:1;transform:none}
}

/* Common modal/backdrop entrance. Targets existing overlays without changing their markup. */
.oscar-ai-overlay,
.oscar-employee-modal-overlay,
.oscar-form-modal-overlay,
.oscar-bounded-modal,
.barcode-camera-overlay,
[class*="fixed"][class*="inset-0"][class*="bg-black"]{
  animation:oscar-backdrop-in 125ms ease-out both;
}
.oscar-ai-panel,
.oscar-employee-modal-panel,
.oscar-form-modal-panel,
.oscar-bounded-modal > section,
.oscar-bounded-modal > div,
[class*="fixed"][class*="inset-0"][class*="bg-black"] > form,
[class*="fixed"][class*="inset-0"][class*="bg-black"] > div{
  animation:oscar-modal-in var(--oscar-motion-modal) var(--oscar-motion-spring) both;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
@keyframes oscar-backdrop-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes oscar-modal-in{
  from{opacity:.35;transform:translate3d(0,8px,0) scale(.985)}
  to{opacity:1;transform:none}
}

/* Dropdowns / floating menus should feel connected to the tapped control. */
.searchable-dropdown-panel,
[role="menu"],
[role="listbox"]{
  animation:oscar-pop-in 135ms var(--oscar-motion-spring) both;
  transform-origin:top center;
}
@keyframes oscar-pop-in{
  from{opacity:.45;transform:translate3d(0,-3px,0) scale(.985)}
  to{opacity:1;transform:none}
}

/* Buttons and clickable cards: immediate tactile response, no slow 300ms feeling. */
button,
a[href],
[role="button"],
[class*="cursor-pointer"]{
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
  transition:transform var(--oscar-motion-fast) var(--oscar-motion-ease),opacity 110ms ease,filter 110ms ease;
}
button:not(:disabled):active,
a[href]:active,
[role="button"]:active,
[class*="cursor-pointer"]:active{
  transform:translate3d(0,1px,0) scale(.975);
}

/* Large clickable cards use a softer press so content never feels jumpy. */
button[class*="rounded-2xl"]:active,
button[class*="rounded-3xl"]:active,
[class*="cursor-pointer"][class*="rounded-2xl"]:active,
[class*="cursor-pointer"][class*="rounded-3xl"]:active{
  transform:translate3d(0,1px,0) scale(.988);
}

/* Keep icon taps crisp on high-refresh screens. */
button svg,[role="button"] svg{
  pointer-events:none;
}

/* Smooth programmatic navigation while preserving native finger scrolling. */
.custom-scrollbar,.slim-scrollbar,.scroll-chain-page{
  scroll-behavior:smooth;
}

/* Avoid expensive animated shadows/filters on touch devices. */
@media (hover:none) and (pointer:coarse){
  button,[role="button"],[class*="cursor-pointer"]{
    transition-property:transform,opacity!important;
  }
}

/* Respect OS accessibility preference. */
@media (prefers-reduced-motion:reduce){
  .oscar-page-stage,
  .oscar-ai-overlay,.oscar-ai-panel,
  .oscar-employee-modal-overlay,.oscar-employee-modal-panel,
  .oscar-form-modal-overlay,.oscar-form-modal-panel,
  .oscar-bounded-modal,.oscar-bounded-modal > *,
  .barcode-camera-overlay,
  [class*="fixed"][class*="inset-0"][class*="bg-black"],
  [class*="fixed"][class*="inset-0"][class*="bg-black"] > *,
  .searchable-dropdown-panel,[role="menu"],[role="listbox"]{
    animation:none!important;
  }
  button,a[href],[role="button"],[class*="cursor-pointer"]{
    transition:none!important;
  }
  .custom-scrollbar,.slim-scrollbar,.scroll-chain-page{scroll-behavior:auto!important}
}

/* Prevent Tailwind transition-all on interactive controls from animating layout-heavy properties. */
button.transition-all,
[role="button"].transition-all,
[class*="cursor-pointer"].transition-all{
  transition-property:transform,opacity,background-color,border-color,color!important;
  transition-duration:120ms!important;
  transition-timing-function:var(--oscar-motion-ease)!important;
}

/* ===== v7.9.4.13 Two fields per row (window geometry kept at v7.9.4.10 baseline) ===== */
.oscar-mobile-form-grid > *{min-width:0!important;}
@media (max-width:1023px){
  .oscar-mobile-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .oscar-mobile-form-grid label{
    font-size:10px!important;
    line-height:1.4!important;
    min-height:28px;
    display:flex!important;
    align-items:flex-end;
  }
  .oscar-mobile-form-grid input,
  .oscar-mobile-form-grid select,
  .oscar-mobile-form-grid button{
    min-width:0!important;
    max-width:100%!important;
  }
}
@media (max-width:380px){
  .oscar-mobile-form-grid{gap:7px!important;}
  .oscar-mobile-form-grid label{font-size:9px!important;}
  .oscar-mobile-form-grid input,
  .oscar-mobile-form-grid select{padding-left:8px!important;padding-right:8px!important;}
}


/* ===== v7.9.4.17 Exact modal geometry lock — copied ONLY from v7.9.4.10 reference ===== */
/* Keep later features/motion intact; lock only size/position/scroll geometry. */
.product-editor-modal-overlay{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:1rem!important;
  overflow-y:auto!important;
}
.product-editor-modal-panel{
  width:100%!important;
  max-width:48rem!important;
  margin-top:1.5rem!important;
  margin-bottom:1.5rem!important;
  overflow:hidden!important;
}
.product-editor-modal-panel .product-editor-body{
  max-height:75vh!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}

/* Cashier wide cart: exact v7.9.4.10 viewport geometry. */
@media (max-width:1023px){
  #full-cart-modal-backdrop{
    top:0!important;
    left:0!important;
    right:0!important;
    bottom:auto!important;
    height:var(--oscar-app-height,100dvh)!important;
    max-height:var(--oscar-app-height,100dvh)!important;
    padding:.375rem!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
  }
  #full-cart-modal-box{
    width:calc(100vw - .75rem)!important;
    max-width:1600px!important;
    height:calc(var(--oscar-app-height,100dvh) - .75rem)!important;
    max-height:calc(var(--oscar-app-height,100dvh) - .75rem)!important;
    border-radius:.75rem!important;
    overflow:hidden!important;
  }
}
@media (min-width:640px) and (max-width:1023px){
  #full-cart-modal-backdrop{padding:1rem!important;}
  #full-cart-modal-box{
    width:calc(100vw - 2rem)!important;
    border-radius:1rem!important;
  }
}

/* Expense type manager: retain the requested inner scroll, keep reference outer dimensions. */
.expense-types-modal-panel{
  width:100%!important;
  max-width:28rem!important;
  max-height:calc(100dvh - 130px)!important;
}
.expense-types-modal-scroll{
  min-height:0!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior:contain!important;
}

/* ===== v7.9.4.20 Global mobile modal edge-to-edge safe-area system =====
   Every real dialog touches the bottom edge of the app header and the top edge
   of the mobile bottom nav. No wasted vertical gap; content scrolls internally. */
@media (max-width:1023px){
  :root{
    --oscar-modal-header-edge:3.5rem;
    --oscar-modal-bottom-edge:4rem;
    --oscar-modal-edge-gap:0px;
  }

  /* Known modal overlays + generic centered dialogs used across the app. */
  .oscar-bounded-modal,
  .oscar-ai-overlay,
  .oscar-employee-modal-overlay,
  .oscar-form-modal-overlay,
  .product-editor-modal-overlay,
  #full-cart-modal-backdrop,
  #waiter-cart-backdrop,
  [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay){
    position:fixed!important;
    inset:auto 0 auto 0!important;
    top:calc(var(--oscar-modal-header-edge) + var(--oscar-modal-edge-gap))!important;
    bottom:calc(var(--oscar-modal-bottom-edge) + var(--oscar-modal-edge-gap))!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    padding:0 6px!important;
    align-items:stretch!important;
    justify-content:center!important;
    overflow:hidden!important;
    overscroll-behavior:contain!important;
  }

  /* Ordinary dialog cards/forms: fit the safe viewport and scroll internally. */
  [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay) > form,
  [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay) > section,
  [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay) > div,
  .oscar-bounded-modal > form,
  .oscar-bounded-modal > section,
  .oscar-bounded-modal > div{
    min-height:0!important;
    max-height:100%!important;
    margin-top:0!important;
    margin-bottom:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }

  /* Product editor: fixed header, scrolling body, all actions remain reachable. */
  .product-editor-modal-panel{
    width:100%!important;
    max-width:48rem!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    border-radius:16px!important;
  }
  .product-editor-modal-panel > div:first-child{
    flex:0 0 auto!important;
  }
  .product-editor-modal-panel .product-editor-body{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }

  /* Cashier full cart: same safe bounds; its own inner panes keep their scroll. */
  #full-cart-modal-backdrop{
    padding:0 6px!important;
  }
  #full-cart-modal-box{
    width:calc(100vw - 12px)!important;
    max-width:1600px!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    border-radius:14px!important;
    overflow:hidden!important;
  }
  #full-cart-modal-box > #full-page-cart-view,
  #full-cart-modal-box #full-page-cart-view{
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
  }

  /* Expense type manager: header/add row stay visible, only the list scrolls. */
  .expense-types-modal-panel{
    width:100%!important;
    max-width:28rem!important;
    height:100%!important;
    max-height:100%!important;
    min-height:0!important;
    margin:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .expense-types-modal-scroll{
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }

  /* Existing specialist panels must also fill the same safe window. */
  .oscar-ai-panel,
  .oscar-employee-modal-panel,
  .oscar-form-modal-panel{
    max-height:100%!important;
    min-height:0!important;
  }
  .oscar-ai-panel,
  .oscar-employee-modal-panel{
    height:100%!important;
  }

  /* Waiter cart follows exactly the same top/bottom edges. */
  #waiter-cart-modal{
    top:calc(var(--oscar-modal-header-edge) + var(--oscar-modal-edge-gap))!important;
    bottom:calc(var(--oscar-modal-bottom-edge) + var(--oscar-modal-edge-gap))!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }
}

/* ===== v7.9.4.20 In-stage modal backdrop root fix =====
   Main content already occupies the exact area below #main-header and above
   #mobile-bottom-nav. Dialogs rendered inside .oscar-page-stage must therefore
   fill that local area from 0 to 0; adding header/nav offsets a second time
   creates the visible gaps above and below the dark backdrop. Portaled dialogs
   remain governed by the global body-safe offsets above. */
@media (max-width:1023px){
  .oscar-page-stage .oscar-bounded-modal,
  .oscar-page-stage .oscar-ai-overlay,
  .oscar-page-stage .oscar-employee-modal-overlay,
  .oscar-page-stage .oscar-form-modal-overlay,
  .oscar-page-stage .product-editor-modal-overlay,
  .oscar-page-stage #full-cart-modal-backdrop,
  .oscar-page-stage #waiter-cart-backdrop,
  .oscar-page-stage [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay){
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:0!important;
    inset:0!important;
    width:auto!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
  }

  /* Dark layer itself reaches both app edges; only the white card keeps a
     tiny horizontal breathing room. */
  .oscar-page-stage #full-cart-modal-backdrop,
  .oscar-page-stage .product-editor-modal-overlay,
  .oscar-page-stage .oscar-employee-modal-overlay,
  .oscar-page-stage .oscar-form-modal-overlay,
  .oscar-page-stage .oscar-bounded-modal,
  .oscar-page-stage .oscar-ai-overlay{
    padding-top:0!important;
    padding-bottom:0!important;
  }

  .oscar-page-stage #full-cart-modal-box,
  .oscar-page-stage .product-editor-modal-panel,
  .oscar-page-stage .oscar-employee-modal-panel,
  .oscar-page-stage .oscar-form-modal-panel,
  .oscar-page-stage .expense-types-modal-panel{
    max-height:100%!important;
    min-height:0!important;
  }
}

/* ===== v7.9.4.21 Short modal vertical centering =====
   Keep the dark backdrop filling the whole app stage between header and bottom nav.
   Short cards are centered inside that area; known long/workspace dialogs still use full height. */
@media (max-width:1023px){
  /* Generic dialogs: center the card vertically in the already-bounded dark backdrop. */
  .oscar-page-stage [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay),
  body > [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay){
    align-items:center!important;
  }

  /* Generic short modal card: natural height, centered; if content is long it grows only up to
     the available safe height and then scrolls internally. */
  .oscar-page-stage [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > form,
  .oscar-page-stage [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > section,
  .oscar-page-stage [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > div,
  body > [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > form,
  body > [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > section,
  body > [class*="fixed"][class*="inset-0"][class*="items-center"][class*="justify-center"]:not(.barcode-camera-overlay):not(.product-editor-modal-overlay):not(#full-cart-modal-backdrop):not(#waiter-cart-backdrop):not(.oscar-ai-overlay):not(.oscar-employee-modal-overlay):not(.oscar-form-modal-overlay) > div{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100% - 12px)!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }

  /* Long/special dialogs intentionally keep the full safe height. */
  .product-editor-modal-overlay,
  #full-cart-modal-backdrop,
  #waiter-cart-backdrop,
  .oscar-ai-overlay,
  .oscar-employee-modal-overlay,
  .oscar-form-modal-overlay{
    align-items:stretch!important;
  }
  .product-editor-modal-panel,
  #full-cart-modal-box,
  .oscar-ai-panel,
  .oscar-employee-modal-panel,
  .oscar-form-modal-panel{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  /* Expense types behaves like a workspace when long, but stays centered when its content is short. */
  .expense-types-modal-panel{
    height:auto!important;
    max-height:calc(100% - 12px)!important;
    margin-top:auto!important;
    margin-bottom:auto!important;
  }
}

/* ===== v7.9.4.24 Waiter popup only =====
   Keep the waiter PAGE untouched. These rules apply only while the cart popup
   is actually open. The hidden modal remains hidden. */
@media (max-width:1023px){
  .oscar-page-stage #waiter-cart-backdrop{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:95!important;
    background:rgba(0,0,0,.55)!important;
  }

  .oscar-page-stage #waiter-cart-modal:not(.hidden){
    position:fixed!important;
    top:6px!important;
    bottom:6px!important;
    left:6px!important;
    right:6px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
    border-radius:18px!important;
    overflow:hidden!important;
    z-index:110!important;
  }

  .oscar-page-stage #waiter-cart-modal:not(.hidden) > div:nth-child(2){
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
    touch-action:pan-y!important;
  }

  /* Fallback only if this popup is portaled directly under body. */
  body > #waiter-cart-backdrop{
    top:var(--oscar-modal-header-edge,3.5rem)!important;
    bottom:var(--oscar-modal-bottom-edge,4rem)!important;
    left:0!important;
    right:0!important;
  }
  body > #waiter-cart-modal:not(.hidden){
    top:calc(var(--oscar-modal-header-edge,3.5rem) + 6px)!important;
    bottom:calc(var(--oscar-modal-bottom-edge,4rem) + 6px)!important;
    left:6px!important;
    right:6px!important;
    width:auto!important;
    max-width:none!important;
    height:auto!important;
    max-height:none!important;
    transform:none!important;
    border-radius:18px!important;
  }
}


/* ===== v7.9.4.28 Desktop centered dialog geometry =====
   Keep dialogs clear of the permanent 12rem desktop sidebar. Waiter cart and
   Cash Top AI behave like ordinary centered dialogs instead of wide workspaces. */
@media (min-width:1024px){
  #waiter-cart-backdrop{
    position:fixed!important;
    top:3.5rem!important;
    bottom:0!important;
    left:0!important;
    right:12rem!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:2147481400!important;
    background:rgba(15,23,42,.52)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }
  #waiter-cart-modal:not(.hidden){
    position:fixed!important;
    top:calc(3.5rem + (100dvh - 3.5rem)/2)!important;
    bottom:auto!important;
    left:0!important;
    right:12rem!important;
    width:min(740px,calc(100vw - 12rem - 48px))!important;
    max-width:740px!important;
    height:min(720px,calc(100dvh - 6.5rem))!important;
    max-height:calc(100dvh - 6.5rem)!important;
    min-height:420px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:translateY(-50%)!important;
    border-radius:20px!important;
    overflow:hidden!important;
    z-index:2147481500!important;
    box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
  }
  #waiter-cart-modal:not(.hidden) > div:nth-child(2){
    flex:1 1 auto!important;
    min-height:0!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  .oscar-ai-overlay{
    position:fixed!important;
    top:3.5rem!important;
    bottom:0!important;
    left:0!important;
    right:12rem!important;
    width:auto!important;
    height:auto!important;
    padding:24px!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    background:rgba(15,23,42,.46)!important;
    backdrop-filter:blur(3px)!important;
    -webkit-backdrop-filter:blur(3px)!important;
  }
  .oscar-ai-panel{
    width:min(760px,calc(100vw - 12rem - 48px))!important;
    max-width:760px!important;
    height:min(720px,calc(100dvh - 6.5rem))!important;
    max-height:calc(100dvh - 6.5rem)!important;
    min-height:460px!important;
    margin:auto!important;
    border-radius:22px!important;
    overflow:hidden!important;
    box-shadow:0 24px 80px rgba(15,23,42,.3)!important;
  }
  .oscar-ai-panel header{padding:12px 14px!important;}
  .oscar-ai-panel footer{padding:12px 14px!important;}
}

/* Wide tablets / landscape without permanent sidebar: centered but compact. */
@media (min-width:768px) and (max-width:1023px){
  .oscar-ai-overlay{align-items:center!important;padding:12px!important;}
  .oscar-ai-panel{height:min(680px,calc(100% - 24px))!important;max-width:720px!important;border-radius:20px!important;margin:auto!important;}
  body > #waiter-cart-modal:not(.hidden),
  .oscar-page-stage #waiter-cart-modal:not(.hidden){
    top:50%!important;
    bottom:auto!important;
    left:12px!important;
    right:12px!important;
    width:min(700px,calc(100vw - 24px))!important;
    max-width:700px!important;
    height:min(680px,calc(100% - 24px))!important;
    max-height:calc(100% - 24px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:translateY(-50%)!important;
    border-radius:20px!important;
  }
}


/* ===== v7.9.4.28 Waiter dialog compact desktop geometry =====
   Only the waiter order popup is resized. The waiter page itself is untouched. */
@media (min-width:1024px){
  #waiter-cart-backdrop{
    position:fixed!important;
    top:3.5rem!important;
    bottom:0!important;
    left:0!important;
    right:12rem!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:2147481400!important;
    background:rgba(15,23,42,.52)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }

  #waiter-cart-modal:not(.hidden){
    position:fixed!important;
    top:calc(3.5rem + (100dvh - 3.5rem)/2)!important;
    bottom:auto!important;
    left:0!important;
    right:12rem!important;
    width:min(620px,calc(100vw - 12rem - 56px))!important;
    max-width:620px!important;
    height:auto!important;
    max-height:min(720px,calc(100dvh - 5.5rem))!important;
    min-height:0!important;
    margin-left:auto!important;
    margin-right:auto!important;
    transform:translateY(-50%)!important;
    border-radius:20px!important;
    overflow:hidden!important;
    z-index:2147481500!important;
    box-shadow:0 24px 70px rgba(15,23,42,.28)!important;
  }

  #waiter-cart-modal:not(.hidden) > div:nth-child(2){
    flex:1 1 auto!important;
    min-height:120px!important;
    max-height:390px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }

  #waiter-cart-modal:not(.hidden) > div:first-child,
  #waiter-cart-modal:not(.hidden) > div:last-child{
    flex:0 0 auto!important;
  }
}

/* ===== v7.9.4.29 Waiter desktop popup exact center fix =====
   User requested: dark backdrop covers full work area up to the sidebar,
   and the waiter popup itself must be centered, not stuck to the left. */
@media (min-width:1024px){
  #waiter-cart-backdrop{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:12rem!important;
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    z-index:2147481400!important;
    background:rgba(15,23,42,.58)!important;
    backdrop-filter:blur(2px)!important;
    -webkit-backdrop-filter:blur(2px)!important;
  }

  #waiter-cart-modal:not(.hidden){
    position:fixed!important;
    top:50dvh!important;
    left:calc((100vw - 12rem) / 2)!important;
    right:auto!important;
    bottom:auto!important;
    width:min(760px,calc(100vw - 12rem - 48px))!important;
    max-width:760px!important;
    min-width:520px!important;
    max-height:calc(100dvh - 48px)!important;
    height:auto!important;
    margin:0!important;
    transform:translate(-50%,-50%)!important;
    border-radius:22px!important;
    overflow:hidden!important;
    z-index:2147481500!important;
    box-shadow:0 28px 90px rgba(15,23,42,.34)!important;
    background:#fff!important;
  }

  #waiter-cart-modal:not(.hidden) > div:nth-child(2){
    flex:1 1 auto!important;
    min-height:120px!important;
    max-height:420px!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
}

/* ===== v7.9.4.30 Waiter backdrop + sticky footer + product grid polish ===== */
@media (min-width:1024px){
  /* Make the dark backdrop cover the whole working area up to the desktop sidebar */
  #waiter-cart-backdrop{
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:12rem!important;
    width:calc(100vw - 12rem)!important;
    max-width:none!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    z-index:2147481400!important;
    background:rgba(15,23,42,.62)!important;
  }

  /* Keep waiter popup centered and fully visible */
  #waiter-cart-modal:not(.hidden){
    position:fixed!important;
    top:50dvh!important;
    left:calc((100vw - 12rem) / 2)!important;
    right:auto!important;
    bottom:auto!important;
    width:min(860px,calc(100vw - 12rem - 56px))!important;
    max-width:860px!important;
    min-width:560px!important;
    height:auto!important;
    max-height:calc(100dvh - 42px)!important;
    transform:translate(-50%,-50%)!important;
    z-index:2147481500!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
  }

  /* Let the middle content scroll, not the whole popup */
  #waiter-cart-modal:not(.hidden) > div:nth-child(2){
    flex:1 1 auto!important;
    min-height:160px!important;
    max-height:none!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    padding-bottom:14px!important;
  }

  /* Keep the bottom actions always visible */
  #waiter-cart-modal:not(.hidden) > div:last-child{
    position:sticky!important;
    bottom:0!important;
    z-index:4!important;
    background:#f8fafc!important;
    box-shadow:0 -10px 24px rgba(15,23,42,.10)!important;
    padding-bottom:14px!important;
  }
}

/* Mobile / tablet: keep send button zone visible while modal content scrolls */
@media (max-width:1023.98px){
  #waiter-cart-modal:not(.hidden) > div:last-child{
    position:sticky!important;
    bottom:0!important;
    z-index:4!important;
    background:#f8fafc!important;
    box-shadow:0 -8px 20px rgba(15,23,42,.10)!important;
    padding-bottom:calc(10px + env(safe-area-inset-bottom, 0px))!important;
  }
}

/* ===== v7.9.4.31 waiter modal final layout fix ===== */
:root{
  --oscar-desktop-sidebar-width:12rem;
  --waiter-modal-max-width:860px;
}

#waiter-cart-backdrop{
  position:fixed!important;
  inset:0!important;
  z-index:2147483300!important;
  background:rgba(15,23,42,.64)!important;
  -webkit-backdrop-filter:blur(1.5px)!important;
  backdrop-filter:blur(1.5px)!important;
}

#waiter-cart-modal:not(.hidden){
  position:fixed!important;
  z-index:2147483310!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  background:#fff!important;
  border:1px solid rgba(148,163,184,.30)!important;
  box-shadow:0 28px 70px rgba(15,23,42,.24)!important;
}

#waiter-cart-modal:not(.hidden) > div:first-child{
  flex:0 0 auto!important;
}

#waiter-cart-modal:not(.hidden) > div:nth-child(2){
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}

#waiter-cart-modal:not(.hidden) > div:last-child,
#waiter-cart-modal:not(.hidden) .waiter-cart-footer{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:2!important;
  background:#f8fafc!important;
  box-shadow:0 -10px 24px rgba(15,23,42,.10)!important;
}

.waiter-footer-layout{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.waiter-footer-buttons{
  align-items:stretch;
}

.waiter-note-textarea{
  min-height:76px!important;
}

@media (max-width:1023.98px){
  #waiter-cart-modal:not(.hidden){
    top:88px!important;
    left:12px!important;
    right:12px!important;
    bottom:calc(74px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    max-width:none!important;
    max-height:none!important;
    transform:none!important;
    border-radius:24px!important;
  }

  .waiter-footer-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    align-items:start!important;
  }

  .waiter-customer-field,
  .waiter-note-field{
    min-width:0!important;
  }

  .waiter-footer-actions{
    grid-column:1 / -1!important;
  }

  .waiter-discovery-row{
    margin-inline:-12px!important;
    padding:0 12px 10px!important;
    background:#fff!important;
  }

  .waiter-categories-strip{
    min-width:100%!important;
    padding-inline-start:12px!important;
    margin-inline-start:-12px!important;
  }
}

@media (min-width:1024px){
  #waiter-cart-backdrop{
    left:0!important;
    top:0!important;
    bottom:0!important;
    right:var(--oscar-desktop-sidebar-width)!important;
    width:calc(100vw - var(--oscar-desktop-sidebar-width))!important;
    height:100dvh!important;
  }

  #waiter-cart-modal:not(.hidden){
    top:50%!important;
    left:calc((100vw - var(--oscar-desktop-sidebar-width)) / 2)!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:min(var(--waiter-modal-max-width),calc(100vw - var(--oscar-desktop-sidebar-width) - 48px))!important;
    min-width:620px!important;
    max-width:var(--waiter-modal-max-width)!important;
    max-height:calc(100dvh - 36px)!important;
    border-radius:26px!important;
  }

  .waiter-footer-layout{
    display:grid!important;
    grid-template-columns:minmax(170px,200px) minmax(240px,1fr) minmax(230px,250px)!important;
    gap:10px!important;
    align-items:end!important;
  }

  .waiter-customer-field{grid-column:1!important;}
  .waiter-note-field{grid-column:2!important;}
  .waiter-footer-actions{grid-column:3!important;align-self:end!important;}

  .waiter-customer-field input,
  .waiter-note-field textarea{
    font-size:11px!important;
  }

  .waiter-note-textarea{
    min-height:58px!important;
    max-height:76px!important;
  }
}

/* ===== v7.9.4.32 Waiter responsive redesign + full-screen frosted modals ===== */
.waiter-v2-root{
  --waiter-accent:#7C3AED;
  --waiter-accent-dark:#6D28D9;
  --waiter-amber:#d97706;
  height:100%;
  min-height:0;
  width:100%;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
  padding:10px;
  background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%);
  color:#0f172a;
  font-family:Cairo,system-ui,sans-serif;
}
.waiter-v2-topbar{
  flex:0 0 auto;
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:9px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.waiter-v2-order-controls{min-width:0;display:flex;align-items:center;gap:8px;flex:1;}
.waiter-v2-segment{display:flex;align-items:center;gap:3px;padding:3px;border-radius:13px;background:#f1f5f9;flex:0 0 auto;}
.waiter-v2-segment button{height:36px;border:0;border-radius:10px;padding:0 11px;display:flex;align-items:center;justify-content:center;gap:5px;background:transparent;color:#64748b;font-family:inherit;font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer;}
.waiter-v2-segment button.active{background:var(--waiter-amber);color:#fff;box-shadow:0 4px 12px rgba(217,119,6,.2);}
.waiter-v2-select{position:relative;display:flex;align-items:center;min-width:150px;max-width:350px;flex:1;}
.waiter-v2-select select{appearance:none;width:100%;height:42px;padding:0 12px 0 32px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#0f172a;font-family:inherit;font-size:11px;font-weight:800;outline:none;cursor:pointer;}
.waiter-v2-select svg{position:absolute;left:10px;color:#64748b;pointer-events:none;}
.waiter-v2-guests{height:42px;padding:0 10px;display:flex;align-items:center;gap:5px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#64748b;flex:0 0 auto;}
.waiter-v2-guests input{width:34px;border:0!important;background:transparent!important;padding:0!important;text-align:center;font-family:inherit;font-weight:900;outline:none;color:#0f172a!important;}
.waiter-v2-guests span{font-size:10px;font-weight:800;}
.waiter-v2-takeaway-note{height:42px;min-width:145px;padding:0 12px;display:flex;align-items:center;gap:7px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#475569;font-size:11px;font-weight:800;}
.waiter-v2-open-order{padding:6px 9px;border-radius:999px;background:#ecfdf5;border:1px solid #a7f3d0;color:#6D28D9;font-size:9px;font-weight:900;white-space:nowrap;}
.waiter-v2-cart-summary{height:44px;min-width:132px;border:1px solid #d1fae5;border-radius:14px;background:#ecfdf5;color:#5B21B6;padding:0 10px;display:flex;align-items:center;gap:9px;font-family:inherit;cursor:pointer;}
.waiter-v2-cart-icon{position:relative;width:31px;height:31px;border-radius:10px;background:#7C3AED;color:#fff;display:grid;place-items:center;flex:0 0 auto;}
.waiter-v2-cart-icon b{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#e11d48;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:8px;}
.waiter-v2-cart-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;}
.waiter-v2-cart-copy small{font-size:9px;color:#64748b;font-weight:800;}
.waiter-v2-cart-copy strong{font-size:11px;white-space:nowrap;color:#5B21B6;}
.waiter-v2-discovery{flex:0 0 auto;display:flex;align-items:center;gap:8px;min-width:0;}
.waiter-v2-search{position:relative;width:min(300px,34vw);flex:0 0 auto;}
.waiter-v2-search svg{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;}
.waiter-v2-search input{width:100%;height:40px;border:1px solid #e2e8f0;border-radius:13px;background:#fff;padding:0 38px 0 12px;font-family:inherit;font-size:11px;font-weight:700;outline:none;box-shadow:0 4px 14px rgba(15,23,42,.03);}
.waiter-v2-search input:focus{border-color:#6ee7b7;box-shadow:0 0 0 3px rgba(16,185,129,.1);}
.waiter-v2-categories{min-width:0;flex:1;display:flex;align-items:center;gap:6px;overflow-x:auto;overscroll-behavior-x:contain;padding:1px 0 3px;scrollbar-width:none;}
.waiter-v2-categories::-webkit-scrollbar{display:none;}
.waiter-v2-categories button{height:38px;padding:0 13px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;color:#475569;font-family:inherit;font-size:10px;font-weight:900;white-space:nowrap;cursor:pointer;}
.waiter-v2-categories button.active{background:#7C3AED;border-color:#7C3AED;color:#fff;box-shadow:0 5px 14px rgba(5,150,105,.18);}
.waiter-v2-products{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1px 1px 76px;}
.waiter-v2-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
.waiter-v2-product{position:relative;min-height:108px;padding:11px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;color:#0f172a;text-align:right;font-family:inherit;display:flex;flex-direction:column;justify-content:space-between;gap:7px;box-shadow:0 5px 18px rgba(15,23,42,.035);cursor:pointer;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;overflow:hidden;}
.waiter-v2-product:active{transform:scale(.985);}
.waiter-v2-product:hover{border-color:#a7f3d0;box-shadow:0 8px 22px rgba(5,150,105,.08);}
.waiter-v2-product.has-qty{border-color:#6ee7b7;background:linear-gradient(180deg,#fff 0%,#f0fdf4 100%);}
.waiter-v2-product-qty{position:absolute;top:8px;left:8px;min-width:23px;height:23px;padding:0 6px;border-radius:999px;background:#7C3AED;color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900;box-shadow:0 3px 10px rgba(5,150,105,.24);}
.waiter-v2-product-head{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.waiter-v2-product-category{max-width:72%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;font-weight:800;color:#94a3b8;}
.waiter-v2-product-plus{width:26px;height:26px;border-radius:9px;background:#ecfdf5;color:#7C3AED;display:grid;place-items:center;flex:0 0 auto;}
.waiter-v2-product-name{font-size:12px;line-height:1.55;font-weight:900;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.waiter-v2-product-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:6px;padding-top:8px;border-top:1px solid #f1f5f9;}
.waiter-v2-product-unit{font-size:9px;color:#94a3b8;font-weight:800;}
.waiter-v2-product-foot b{font-size:12px;color:#7C3AED;white-space:nowrap;}
.waiter-v2-empty{height:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#94a3b8;text-align:center;}
.waiter-v2-empty strong{font-size:13px;color:#64748b;}
.waiter-v2-empty span{font-size:10px;}
.waiter-v2-fab{position:fixed!important;left:16px!important;right:auto!important;bottom:calc(4rem + env(safe-area-inset-bottom,0px) + 14px)!important;width:54px!important;height:54px!important;border:0!important;border-radius:17px!important;background:#7C3AED!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:0 14px 30px rgba(5,150,105,.3)!important;z-index:60!important;cursor:pointer;}
.waiter-v2-fab span{position:absolute;top:-6px;right:-6px;min-width:21px;height:21px;padding:0 5px;border-radius:999px;background:#e11d48;color:#fff;border:2px solid #fff;display:grid;place-items:center;font-size:8px;font-weight:900;}

/* All waiter dialogs are portaled to body so the backdrop truly fills the viewport. */
.waiter-frost-overlay,
#waiter-cart-backdrop{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:clamp(10px,2vw,22px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.12)!important;
  backdrop-filter:blur(14px) saturate(1.12)!important;
  z-index:2147483300!important;
}
#waiter-cart-modal.waiter-order-dialog{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  transform:none!important;
  width:min(920px,calc(100vw - 24px))!important;
  min-width:0!important;
  max-width:920px!important;
  height:min(760px,calc(100dvh - 24px))!important;
  max-height:calc(100dvh - 24px)!important;
  margin:auto!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid rgba(203,213,225,.9)!important;
  border-radius:24px!important;
  background:#fff!important;
  box-shadow:0 30px 80px rgba(15,23,42,.22)!important;
  z-index:2147483310!important;
}
.waiter-dialog-header{flex:0 0 auto;min-height:62px;padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #e2e8f0;background:#fff;}
.waiter-dialog-title-wrap{min-width:0;display:flex;align-items:center;gap:9px;}
.waiter-dialog-icon{width:38px;height:38px;border-radius:12px;background:#ecfdf5;color:#7C3AED;display:grid;place-items:center;flex:0 0 auto;}
.waiter-dialog-title{font-size:13px;font-weight:900;color:#0f172a;}
.waiter-dialog-subtitle{margin-top:2px;font-size:9px;font-weight:700;color:#94a3b8;}
.waiter-icon-button{width:36px;height:36px;border:1px solid #e2e8f0;border-radius:11px;background:#fff;color:#64748b;display:grid;place-items:center;cursor:pointer;}
.waiter-dialog-body{flex:1 1 auto;min-height:0;overflow-y:auto!important;overscroll-behavior:contain;padding:10px;background:#f8fafc;}
.waiter-cart-empty{height:100%;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:#94a3b8;text-align:center;}
.waiter-cart-empty strong{font-size:13px;color:#64748b;}
.waiter-cart-empty span{font-size:10px;}
.waiter-cart-line{padding:10px;border:1px solid #e2e8f0;border-radius:14px;background:#fff;margin-bottom:8px;}
.waiter-cart-line.is-sent{background:#f8fafc;}
.waiter-cart-line.is-cancelled{opacity:.48;text-decoration:line-through;}
.waiter-cart-line-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.waiter-cart-line-info{min-width:0;flex:1;}
.waiter-cart-line-name{display:block;font-size:11px;font-weight:900;color:#0f172a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.waiter-cart-line-meta{margin-top:6px;display:flex;align-items:center;gap:5px;flex-wrap:wrap;}
.waiter-meta-pill,.waiter-status-pill{height:25px;padding:0 8px;border-radius:8px;display:inline-flex;align-items:center;font-size:8px;font-weight:900;white-space:nowrap;}
.waiter-meta-pill{background:#f1f5f9;color:#64748b;}
.waiter-status-pill.new{background:#ecfdf5;color:#6D28D9;}.waiter-status-pill.sent{background:#eff6ff;color:#1d4ed8;}.waiter-status-pill.ready{background:#fef3c7;color:#92400e;}
.waiter-unit-select-wrap{position:relative;display:inline-flex;align-items:center;}
.waiter-unit-select{appearance:none;height:27px;max-width:170px;padding:0 8px 0 25px;border:1px solid #a7f3d0;border-radius:8px;background:#ecfdf5;color:#6D28D9;font-family:inherit;font-size:8px;font-weight:900;outline:none;}
.waiter-unit-select-wrap svg{position:absolute;left:7px;color:#7C3AED;pointer-events:none;}
.waiter-line-total{font-size:11px;font-weight:900;color:#0f172a;white-space:nowrap;}
.waiter-cart-line-actions{margin-top:8px;padding-top:8px;border-top:1px solid #f1f5f9;display:flex;align-items:center;gap:8px;}
.waiter-qty-control{display:flex;align-items:center;gap:4px;padding:3px;border-radius:10px;background:#f1f5f9;}
.waiter-qty-control button{width:28px;height:28px;border:0;border-radius:8px;background:#fff;color:#334155;display:grid;place-items:center;cursor:pointer;}
.waiter-qty-control button:last-child{background:#7C3AED;color:#fff;}
.waiter-qty-control span{min-width:24px;text-align:center;font-size:10px;font-weight:900;}
.waiter-line-unit-price{margin-inline-start:auto;font-size:8px;font-weight:800;color:#94a3b8;}
.waiter-remove-button{width:32px;height:32px;border:0;border-radius:9px;background:#fff1f2;color:#e11d48;display:grid;place-items:center;cursor:pointer;}
.waiter-dialog-footer{flex:0 0 auto;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid #e2e8f0;background:#fff;box-shadow:0 -10px 30px rgba(15,23,42,.06);}
.waiter-footer-fields{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:8px;}
.waiter-field{min-width:0;display:flex;flex-direction:column;gap:4px;text-align:right;}
.waiter-field>span{display:flex;align-items:center;gap:4px;font-size:9px;font-weight:900;color:#475569;}
.waiter-field input,.waiter-field textarea,.waiter-field select{width:100%;border:1px solid #e2e8f0;border-radius:10px;background:#fff!important;color:#0f172a!important;font-family:inherit;font-size:10px;font-weight:700;outline:none;}
.waiter-field input,.waiter-field select{height:38px;padding:0 10px;}.waiter-field textarea{height:48px;min-height:48px;max-height:64px;padding:8px 10px;resize:none;}
.waiter-field input:focus,.waiter-field textarea:focus,.waiter-field select:focus{border-color:#6ee7b7;box-shadow:0 0 0 3px rgba(16,185,129,.08);}
.waiter-footer-summary{margin-top:8px;display:flex;align-items:center;gap:9px;}
.waiter-total-box{min-width:150px;height:42px;padding:0 11px;border:1px solid #d1fae5;border-radius:11px;background:#ecfdf5;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.waiter-total-box span{font-size:9px;font-weight:800;color:#64748b;}.waiter-total-box strong{font-size:12px;font-weight:900;color:#6D28D9;white-space:nowrap;}
.waiter-footer-buttons{margin-inline-start:auto;display:flex;align-items:center;gap:7px;}
.waiter-primary-action,.waiter-secondary-action,.waiter-danger-action{height:42px;padding:0 15px;border-radius:11px;font-family:inherit;font-size:10px;font-weight:900;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;white-space:nowrap;}
.waiter-primary-action{border:0;background:#7C3AED;color:#fff;box-shadow:0 7px 16px rgba(5,150,105,.18);}.waiter-primary-action:hover{background:#6D28D9;}.waiter-primary-action:disabled{background:#cbd5e1;color:#64748b;box-shadow:none;cursor:not-allowed;}
.waiter-secondary-action{border:1px solid #e2e8f0;background:#fff;color:#475569;}.waiter-danger-action{border:0;background:#e11d48;color:#fff;}
.waiter-confirm-overlay{z-index:2147483500!important;}
.waiter-confirm-dialog{width:min(410px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;padding:16px;border:1px solid #e2e8f0;border-radius:20px;background:#fff;box-shadow:0 26px 70px rgba(15,23,42,.2);display:flex;flex-direction:column;gap:12px;}
.waiter-confirm-heading{display:flex;align-items:center;gap:10px;}.waiter-confirm-icon{width:40px;height:40px;border-radius:12px;background:#fff1f2;color:#e11d48;display:grid;place-items:center;flex:0 0 auto;}.waiter-confirm-heading strong{display:block;font-size:12px;color:#be123c;}.waiter-confirm-heading span{display:block;margin-top:2px;font-size:10px;color:#64748b;}
.waiter-pin-wrap{position:relative;}.waiter-pin-wrap svg{position:absolute;right:11px;top:50%;transform:translateY(-50%);color:#94a3b8;}.waiter-pin-wrap input{padding-right:34px;text-align:center;}
.waiter-confirm-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:2px;}

/* Replace black modal scrims with a light frosted full-screen backdrop. Camera scanner is intentionally excluded. */
body > .fixed.inset-0[class*="bg-black/"]:not(.barcode-camera-overlay),
.oscar-page-stage .fixed.inset-0[class*="bg-black/"]:not(.barcode-camera-overlay),
.oscar-bounded-modal[class*="bg-black/"],
.product-editor-modal-overlay,
.oscar-ai-overlay,
.oscar-employee-modal-overlay,
.oscar-form-modal-overlay,
#full-cart-modal-backdrop,
#modal-sync-backdrop{
  background:rgba(255,255,255,.14)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.12)!important;
  backdrop-filter:blur(14px) saturate(1.12)!important;
}
body > .fixed.inset-0[class*="bg-black/"]:not(.barcode-camera-overlay),
body > #full-cart-modal-backdrop,
body > #modal-sync-backdrop{
  inset:0!important;
  width:100vw!important;
  height:100dvh!important;
  max-height:none!important;
}

@media (min-width:640px){
  .waiter-v2-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
  .waiter-v2-product{min-height:116px;padding:12px;}
  .waiter-v2-product-name{font-size:13px;}
}
@media (min-width:1024px){
  .waiter-v2-root{padding:12px 14px;gap:11px;}
  .waiter-v2-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;}
  .waiter-v2-products{padding-bottom:14px;}
  .waiter-v2-fab{bottom:18px!important;left:18px!important;}
  .waiter-v2-search{width:290px;}
  #waiter-cart-modal.waiter-order-dialog{width:min(900px,calc(100vw - 48px))!important;height:min(720px,calc(100dvh - 42px))!important;}
  .waiter-dialog-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:10px 12px;}
  .waiter-footer-fields{grid-template-columns:180px minmax(250px,1fr);gap:8px;}
  .waiter-footer-summary{margin-top:0;align-self:end;}
  .waiter-total-box{min-width:140px;}
  .waiter-field textarea{height:42px;min-height:42px;max-height:42px;}
}
@media (min-width:1440px){.waiter-v2-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}
@media (max-width:639.98px){
  .waiter-v2-root{padding:8px;gap:8px;}
  .waiter-v2-topbar{align-items:stretch;padding:7px;gap:7px;}
  .waiter-v2-order-controls{gap:6px;overflow:hidden;}
  .waiter-v2-segment button{height:34px;padding:0 8px;font-size:10px;}.waiter-v2-segment button svg{width:14px;height:14px;}
  .waiter-v2-select{min-width:0;max-width:none;}.waiter-v2-select select{height:40px;font-size:10px;padding-right:8px;}
  .waiter-v2-guests{height:40px;padding:0 7px;}.waiter-v2-guests span{display:none;}.waiter-v2-guests input{width:28px;}
  .waiter-v2-open-order{display:none;}
  .waiter-v2-cart-summary{min-width:48px;width:48px;height:40px;padding:0;justify-content:center;}.waiter-v2-cart-copy{display:none;}.waiter-v2-cart-icon{width:32px;height:32px;}
  .waiter-v2-discovery{flex-direction:column;align-items:stretch;gap:6px;}.waiter-v2-search{width:100%;}.waiter-v2-search input{height:39px;}
  .waiter-v2-categories{width:100%;}.waiter-v2-categories button{height:34px;padding:0 11px;font-size:9px;}
  .waiter-v2-grid{gap:7px;}.waiter-v2-product{min-height:102px;padding:9px;border-radius:14px;}.waiter-v2-product-name{font-size:11px;}.waiter-v2-product-foot b{font-size:11px;}
  .waiter-frost-overlay,#waiter-cart-backdrop{padding:8px!important;}
  #waiter-cart-modal.waiter-order-dialog{width:calc(100vw - 16px)!important;height:min(88dvh,760px)!important;max-height:calc(100dvh - 16px)!important;border-radius:20px!important;}
  .waiter-dialog-header{min-height:56px;padding:8px 10px;}.waiter-dialog-icon{width:34px;height:34px;}.waiter-dialog-title{font-size:12px;}
  .waiter-dialog-body{padding:8px;}.waiter-cart-line{padding:9px;border-radius:12px;}.waiter-cart-line-name{font-size:10px;}.waiter-line-total{font-size:10px;}
  .waiter-dialog-footer{padding:8px 9px calc(8px + env(safe-area-inset-bottom,0px));}
  .waiter-footer-fields{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:6px;}.waiter-field>span{font-size:8px;}.waiter-field input,.waiter-field textarea,.waiter-field select{font-size:9px;}.waiter-field input,.waiter-field select{height:36px;}.waiter-field textarea{height:42px;min-height:42px;max-height:52px;}
  .waiter-footer-summary{margin-top:7px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:6px;}.waiter-total-box{min-width:0;height:40px;padding:0 8px;}.waiter-total-box span{font-size:8px;}.waiter-total-box strong{font-size:10px;}.waiter-footer-buttons{margin:0;display:grid;grid-template-columns:1fr 1.3fr;gap:6px;}.waiter-footer-buttons .waiter-primary-action:only-child{grid-column:1/-1;}.waiter-primary-action,.waiter-secondary-action,.waiter-danger-action{height:40px;padding:0 8px;font-size:9px;}
}

html.dark .waiter-v2-root{background:#050505;color:#fff;}
html.dark .waiter-v2-topbar,html.dark .waiter-v2-product,html.dark .waiter-v2-search input,html.dark .waiter-v2-categories button,html.dark .waiter-v2-select select,html.dark .waiter-v2-guests,html.dark .waiter-v2-takeaway-note,html.dark #waiter-cart-modal.waiter-order-dialog,html.dark .waiter-dialog-header,html.dark .waiter-dialog-footer,html.dark .waiter-cart-line,html.dark .waiter-confirm-dialog{background:#0a0a0a!important;color:#fff!important;border-color:#333!important;}
html.dark .waiter-dialog-body{background:#050505!important;}html.dark .waiter-cart-line.is-sent{background:#111!important;}html.dark .waiter-cart-line-name,html.dark .waiter-line-total,html.dark .waiter-dialog-title{color:#fff!important;}

/* ===== v7.9.4.33 Waiter mobile exact viewport centering =====
   Use the fixed overlay's real box (not 100dvh) so Android browser chrome
   cannot push the dialog downward. The dialog stays centered with equal
   breathing room above/below and only its body scrolls. */
@media (max-width:639.98px){
  body > #waiter-cart-backdrop.waiter-frost-overlay{
    position:fixed!important;
    inset:0!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    width:auto!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:8px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  body > #waiter-cart-backdrop.waiter-frost-overlay > #waiter-cart-modal.waiter-order-dialog{
    position:relative!important;
    inset:auto!important;
    top:auto!important;
    right:auto!important;
    bottom:auto!important;
    left:auto!important;
    transform:none!important;
    margin:0!important;
    width:100%!important;
    max-width:680px!important;
    height:min(760px,88%)!important;
    max-height:calc(100% - 16px)!important;
    min-height:0!important;
    align-self:center!important;
    border-radius:20px!important;
  }

  body > #waiter-cart-backdrop.waiter-frost-overlay > #waiter-cart-modal.waiter-order-dialog .waiter-dialog-body{
    min-height:0!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior:contain!important;
  }
}

/* ===== v7.9.4.58 120Hz-ready performance profile =====
   Keep the main thread free: compositor-only interactions, no animated blur/filter,
   native scrolling, and offscreen product-card paint skipping. */
:root{
  --oscar-motion-fast:70ms;
  --oscar-motion-page:105ms;
  --oscar-motion-modal:115ms;
  --oscar-motion-ease:cubic-bezier(.2,.72,.22,1);
  --oscar-motion-spring:cubic-bezier(.18,.88,.22,1);
}
html,body,#root{
  scroll-behavior:auto!important;
  -webkit-text-size-adjust:100%;
}
.custom-scrollbar,.slim-scrollbar,.scroll-chain-page,.overflow-y-auto,.overflow-auto{
  scroll-behavior:auto!important;
  -webkit-overflow-scrolling:touch;
}
.oscar-product-card{
  content-visibility:auto;
  contain-intrinsic-size:150px 160px;
  contain:layout paint style;
  transition:transform 70ms var(--oscar-motion-ease),border-color 90ms ease,background-color 90ms ease!important;
}
.oscar-product-card:hover{box-shadow:none!important;}
button,a[href],[role="button"],[class*="cursor-pointer"]{
  transition-property:transform,opacity,background-color,border-color,color!important;
  transition-duration:70ms!important;
  transition-timing-function:var(--oscar-motion-ease)!important;
}
.oscar-page-stage{will-change:opacity,transform;}
.searchable-dropdown-panel,[role="menu"],[role="listbox"]{will-change:opacity,transform;}
@media (hover:none) and (pointer:coarse){
  /* Blur/backdrop filters are expensive on iPhone/Android GPUs while scrolling. */
  [class*="backdrop-blur"],
  .modal::backdrop,
  .oscar-ai-overlay,
  .oscar-employee-modal-overlay,
  .oscar-form-modal-overlay,
  .oscar-bounded-modal,
  .barcode-camera-overlay{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
  }
  .oscar-page-stage{animation-duration:80ms!important;}
  .oscar-product-card{box-shadow:none!important;}
}
@media (prefers-reduced-motion:reduce){
  .oscar-product-card{content-visibility:auto;}
}

/* ===== v7.9.4.59 login/dashboard refresh ===== */
.auth2-view{--primary:#7C3AED;--primary-dark:#08775e;--primary-pale:#e9f7f1;--background:#f5f7f6;--card:#fff;--text:#152b25;--muted:#72817b;--border:#e8ecea;color:var(--text);font-family:Cairo,Tahoma,Arial,sans-serif}
.auth2-view .icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.auth2-view .icon-btn{width:42px;height:42px;border:1px solid #e8ecea;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:#72817b;flex-shrink:0}
.auth2-view .form-error{padding:10px 12px;border-radius:11px;background:#fbf0f1;color:#b95159;font-size:11px;margin:13px 0;animation:auth2Enter .2s}
.auth2-success{padding:10px 12px;border-radius:11px;background:#edf8f2;color:#08775e;font-size:11px;margin:13px 0;border:1px solid #d5eade}
.auth2-view .spinner{width:18px;height:18px;border:2px solid currentColor;border-left-color:transparent;border-radius:50%;animation:auth2spin .65s linear infinite}@keyframes auth2spin{to{transform:rotate(360deg)}}
.auth2-flag{font-size:20px;line-height:1;width:25px;display:inline-flex;justify-content:center;align-items:center;flex:0 0 25px}
.auth2-phone-wrap{position:relative;flex:1;min-width:0}.auth2-phone-icon{position:absolute;left:12px;top:14px;width:17px;height:17px;color:#8e9a94;z-index:1}.auth2-phone-wrap .auth2-phone-input{padding-left:37px}
/* ===== Login imported from the second file, scoped to avoid touching dashboard ===== */
.auth2-view{padding:28px 18px;background:#f7f9f8;height:100dvh;min-height:100dvh;display:block;overflow-y:auto!important;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
.auth2-card{width:100%;max-width:480px;padding:28px;border-radius:20px;box-shadow:0 8px 30px rgba(0,0,0,.05);border:1px solid #e8ecea;background:#fff;overflow:visible;margin:0 auto}
.auth2-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:19px;text-align:right}.brand-logo-img{width:64px;height:64px;border-radius:18px;object-fit:contain;background:#fff;border:1px solid #e8ecea;box-shadow:0 8px 22px rgba(0,0,0,.04);padding:4px}.default-app-logo{width:49px;height:49px;border-radius:15px;object-fit:contain;background:#fff;border:1px solid var(--border);padding:4px}
.auth2-logo{width:64px;height:64px;border-radius:20px;background:#e7f6f2;color:#7C3AED;display:grid;place-items:center;flex:0 0 auto}
.auth2-logo svg{width:38px;height:38px}.auth2-logo svg use{color:#7C3AED}
.auth2-brand-name{font-size:19px;font-weight:800;line-height:1.45}.auth2-brand-sub{font-size:10px;color:#6f767e;margin-top:2px}
.auth2-intro{text-align:center;margin-bottom:23px}.auth2-intro h1{font-size:24px;margin-bottom:8px}.auth2-intro p{font-size:13px;color:#6f767e}
.auth2-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;margin-bottom:11px}.auth2-section-title .icon{width:18px;height:18px;color:#7C3AED}
.auth2-dropzone{border:2px dashed #e0e6e3;border-radius:12px;padding:28px 20px;text-align:center;cursor:pointer;transition:.25s;background:#f7f9f8;position:relative}
.auth2-dropzone:hover,.auth2-dropzone.dragging{border-color:#7C3AED;background:#e7f6f2}.auth2-drop-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;margin:0 auto 13px;background:#fff;color:#7C3AED;box-shadow:0 4px 15px rgba(16,163,127,.10)}
.auth2-drop-icon .icon{width:25px;height:25px}.auth2-dropzone strong{display:block;font-size:13px}.auth2-dropzone p{font-size:11px;color:#6f767e;margin:4px auto 14px}.auth2-file-button{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e1e7e4;border-radius:10px;padding:7px 13px;color:#0e8c6d;font-size:11px;font-weight:700}
.auth2-file-ready{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#e7f6f2;border-radius:12px;border:1px solid rgba(16,163,127,.18);margin-bottom:13px}.auth2-file-main{display:flex;align-items:center;gap:10px;min-width:0}.auth2-file-icon{width:38px;height:38px;border-radius:10px;background:#fff;color:#7C3AED;display:grid;place-items:center}.auth2-file-icon .icon{width:20px;height:20px}.auth2-file-main div{min-width:0}.auth2-file-main strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth2-file-main small{display:block;font-size:10px;color:#7C3AED;margin-top:2px}.auth2-file-ready .icon-btn{width:32px;height:32px;background:#fff;border:0}
.auth2-primary,.auth2-outline{width:100%;min-height:50px;border-radius:12px;padding:12px 18px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}.auth2-primary{border:0;background:#7C3AED;color:#fff;box-shadow:0 4px 14px rgba(16,163,127,.13)}.auth2-primary:hover{background:#0e8c6d;transform:translateY(-1px)}.auth2-outline{background:#fff;border:2px solid #e8ecea;color:#1a1d1f}.auth2-outline:hover{border-color:#7C3AED;color:#7C3AED}.auth2-primary .icon,.auth2-outline .icon{width:18px;height:18px}
.auth2-divider{display:flex;align-items:center;gap:14px;color:#8c9791;font-size:12px;margin:20px 0}.auth2-divider:before,.auth2-divider:after{content:"";height:1px;background:#e8ecea;flex:1}
.auth2-trial{margin-top:24px;padding-top:24px;border-top:1px solid #e8ecea;animation:auth2Enter .25s ease}.auth2-trial-head{margin-bottom:18px}.auth2-trial-head h2{font-size:19px;margin:0 0 5px}.auth2-trial-head p{font-size:12px;color:#6f767e}.auth2-field{margin-bottom:15px}.auth2-field>label,.auth2-label{display:block;font-size:12px;font-weight:700;margin-bottom:7px;color:#525b56}.auth2-field label span{font-size:10px;font-weight:500;color:#8f9994}.auth2-field label b{color:#7C3AED}
.auth2-field input{font:inherit}.auth2-input-icon{position:relative}.auth2-input-icon>.icon{position:absolute;right:13px;top:14px;width:18px;height:18px;color:#8e9a94;z-index:1}.auth2-input-icon input,.auth2-phone-input{width:100%;min-height:48px;border:1px solid #e1e7e4;background:#f7f9f8;border-radius:12px;padding:10px 13px;color:#1a1d1f;transition:.2s}.auth2-input-icon input{padding-right:40px}.auth2-input-icon input:focus,.auth2-phone-input:focus{outline:0;border-color:#7C3AED;background:#fff;box-shadow:0 0 0 4px #e7f6f2}
.auth2-phone-row{display:flex;direction:ltr;gap:8px;align-items:flex-start}.auth2-phone-input{flex:1;min-width:0;text-align:left;direction:ltr}.auth2-country-picker{width:146px;flex:0 0 146px;direction:rtl}
.auth2-picker{position:relative}.auth2-select-trigger{width:100%;min-height:48px;border:1px solid #e1e7e4;background:#f7f9f8;border-radius:12px;padding:9px 11px;display:flex;align-items:center;gap:8px;text-align:right;color:#1a1d1f}.auth2-select-trigger:hover{border-color:#cbd7d1}.auth2-select-trigger[aria-expanded="true"]{border-color:#7C3AED;background:#fff;box-shadow:0 0 0 4px #e7f6f2}.auth2-select-trigger>.icon{width:16px;height:16px;color:#6f767e;margin-right:auto}.auth2-country-picker .auth2-select-trigger{justify-content:space-between;font-size:12px;padding-inline:10px 11px}.auth2-country-picker .auth2-select-trigger>.icon{margin-right:auto;margin-left:0}.auth2-select-trigger .picker-main{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.auth2-select-trigger .picker-copy{min-width:0}.auth2-select-trigger .picker-copy strong{font-size:12px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.auth2-select-trigger .picker-copy small{display:block;font-size:9px;color:#6f767e;direction:ltr;line-height:1.2}.flag-svg{display:inline-flex;align-items:center;justify-content:center;width:24px;height:18px;flex:0 0 24px;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.flag-svg svg{width:100%;height:100%;display:block}.flag-svg text{font-family:Cairo,Tahoma,Arial,sans-serif}
.auth2-select-menu{position:absolute;right:0;left:0;top:calc(100% + 7px);z-index:80;background:#fff;border:1px solid #e2e8e5;border-radius:12px;box-shadow:0 14px 38px rgba(0,0,0,.11);overflow:hidden;animation:auth2Enter .18s ease}.auth2-country-picker .auth2-select-menu{width:min(320px,calc(100vw - 32px));max-width:calc(100vw - 32px);left:0;right:auto;direction:rtl}.auth2-select-search{position:relative;padding:9px;border-bottom:1px solid #eef1ef;background:#fff}.auth2-select-search>.icon{position:absolute;right:20px;top:20px;width:15px;height:15px;color:#8c9791}.auth2-select-search input{width:100%;height:40px;border:1px solid #e3e8e5;border-radius:9px;background:#f7f9f8;padding:8px 36px 8px 10px;font-size:11px}.auth2-select-search input:focus{outline:0;border-color:#7C3AED;background:#fff}.auth2-select-options{max-height:220px;overflow:auto;padding:5px;scrollbar-width:thin}.auth2-select-options .currency-option,.auth2-country-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;background:#fff;border-radius:9px;padding:9px 10px;text-align:right;color:#1a1d1f;min-height:46px}.auth2-option-main{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.auth2-option-copy{min-width:0}.auth2-option-copy strong{font-size:11px;display:block;line-height:1.3}.auth2-option-copy small{font-size:9px;color:#6f767e;direction:ltr;display:block;line-height:1.3}.auth2-select-options .currency-option:hover,.auth2-select-options .currency-option[aria-selected="true"],.auth2-country-option:hover,.auth2-country-option[aria-selected="true"]{background:#e7f6f2}.auth2-select-options .currency-option>.icon,.auth2-country-option>.icon{width:15px;height:15px;margin-right:auto;color:#7C3AED}
.auth2-logo-upload{display:flex;gap:13px;align-items:center;padding:13px;background:#f7f9f8;border:1px dashed #dbe3df;border-radius:12px}.auth2-logo-preview{width:64px;height:64px;border-radius:12px;border:1px solid #e5eae7;background:#fff;object-fit:contain;padding:4px;flex:0 0 64px}.auth2-logo-preview.placeholder{display:grid;place-items:center;color:#8e9a94}.auth2-logo-preview.placeholder .icon{width:24px;height:24px}.auth2-logo-copy{min-width:0;flex:1}.auth2-logo-copy>strong{font-size:11px;display:block}.auth2-logo-copy>small{font-size:9px;color:#6f767e;display:block;margin-top:2px}.auth2-logo-actions{display:flex;gap:12px;margin-top:5px}.auth2-logo-actions button{border:0;background:none;color:#0e8c6d;font-size:10px;font-weight:700;padding:4px 0}.auth2-logo-actions button:last-child{color:#b95159}
.auth2-foot{display:flex;align-items:center;justify-content:center;gap:5px;margin-top:17px;color:#8a9590;font-size:9px;text-align:center}.auth2-foot .icon{width:13px;height:13px}.auth2-trial .form-error{margin-bottom:13px}.auth2-trial .currency-symbol{margin-right:auto}.auth2-trial .muted.numeric{font-size:10px;color:#6f767e;margin-right:4px}.auth2-trial .currency-empty{padding:18px;text-align:center;color:#6f767e;font-size:11px}
@keyframes auth2Enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:520px){.auth2-view{padding:18px 12px 34px}.auth2-card{padding:22px 17px;border-radius:18px}.auth2-brand{margin-top:2px}.auth2-logo{width:58px;height:58px;border-radius:18px}.auth2-intro h1{font-size:21px}.auth2-dropzone{padding:24px 13px}.auth2-phone-row{gap:7px}.auth2-country-picker{width:124px;flex-basis:124px}.auth2-country-picker .auth2-select-menu{width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.auth2-select-trigger{font-size:11px}}


/* ===== Oscar dashboard matched to the supplied dashboard layout ===== */
.osd-root{font-family:Cairo,Tahoma,Arial,sans-serif;color:#152b25;max-width:1240px;margin:0 auto;padding:26px 26px 30px;direction:rtl}.osd-root .card{background:#fff;border:1px solid #e8ecea;border-radius:22px;box-shadow:0 8px 30px rgba(22,53,42,.035)}
.osd-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.osd-welcome-main{min-width:0;flex:1}.osd-greeting{display:flex;align-items:center;gap:7px;color:#72817b;font-size:12px;margin-bottom:7px}.osd-mini-icon{width:16px;height:16px;flex:none}.osd-company-line{display:flex;align-items:center;gap:12px}.osd-company-logo{width:49px;height:49px;border-radius:15px;background:#fff;border:1px solid #e8ecea;padding:5px;object-fit:contain}.osd-company-line h1{font-size:26px;line-height:1.45;font-weight:850;letter-spacing:-.5px;color:#152b25;margin:0}.osd-company-line p{font-size:11px;color:#72817b;margin-top:3px}.osd-welcome-tools{text-align:left;padding-top:4px;flex:none}.osd-date{display:flex;align-items:center;gap:6px;color:#72817b;font-size:11px;justify-content:flex-end}.osd-live{display:inline-flex;align-items:center;gap:6px;margin-top:7px;padding:4px 9px;border-radius:20px;background:#f1faf5;color:#08775e;font-size:10px;font-weight:700;border:1px solid #d5eade}.osd-live-dot,.osd-dot{width:6px;height:6px;border-radius:50%;background:#7C3AED;display:inline-block;flex:none}
.osd-period{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px 17px;margin-bottom:17px}.osd-period-label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:750}.osd-period-label small{font-size:10px;color:#72817b;font-weight:500}.osd-segments{display:flex;align-items:center;padding:4px;background:#f3f6f4;border-radius:12px;gap:3px}.osd-segment{min-height:36px;padding:5px 15px;border:0;border-radius:9px;background:transparent;color:#72817b;font-size:11px;font-weight:750}.osd-segment.active{background:#fff;color:#08775e;box-shadow:0 2px 7px rgba(25,62,37,.07)}.osd-custom{width:100%;border-top:1px solid #e8ecea;padding-top:10px;display:flex;gap:10px}.osd-custom label{flex:1;font-size:10px;color:#72817b}.osd-custom label span{display:block;margin-bottom:4px}.osd-custom input{width:100%;min-height:42px;border:1px solid #dfe7e2;border-radius:11px;padding:7px 10px;background:#fff;color:#152b25}
.osd-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.osd-kpi{padding:18px 18px 16px;overflow:hidden}.osd-kpi-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.osd-kpi-top h2{font-size:12px;color:#72817b;font-weight:650;margin:0}.osd-icon-tile{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#e9f7f1;color:#7C3AED}.osd-icon-tile svg{width:19px;height:19px}.osd-kpi.debt .osd-icon-tile{background:#fbf0f1;color:#b95159}.osd-kpi.stock .osd-icon-tile{background:#fff6e7;color:#b98027}.osd-kpi-value{display:flex;align-items:baseline;gap:6px;margin:16px 0 8px;white-space:nowrap;font-size:29px;line-height:1.35;font-weight:850;letter-spacing:-.5px}.osd-kpi-value small{font-size:13px;color:#72817b;font-weight:650}.osd-kpi-bottom{display:flex;align-items:center;gap:6px;min-height:22px;color:#72817b;font-size:9.5px}.osd-kpi.stock .osd-kpi-bottom{color:#b98027}.osd-trend{direction:ltr;display:inline-flex;padding:2px 6px;border-radius:7px;background:#e9f7f1;color:#08775e;font-size:9px;font-weight:800}.osd-trend.down{background:#fbf0f1;color:#b95159}
.osd-overview{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:16px;margin:18px 0 23px}.osd-sales-chart{padding:21px 22px 14px;min-width:0}.osd-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.osd-card-head h2{font-size:15px;font-weight:800;margin:0}.osd-card-head p{font-size:10px;color:#72817b;margin-top:2px}.osd-legend{display:flex;align-items:center;gap:6px;color:#72817b;font-size:10px}.osd-chart-wrap{height:148px;margin-top:17px;direction:ltr}.osd-chart-wrap svg{width:100%;height:100%;overflow:visible}.osd-chart-labels{display:flex;justify-content:space-between;margin:3px 3px 0;color:#87968e;font-size:9px;direction:ltr}.osd-insight{padding:21px;background:linear-gradient(130deg,#f7fcf9,#ecf7f1);border-color:#dbece2!important;display:flex;flex-direction:column;justify-content:space-between}.osd-insight-top{display:flex;align-items:center;gap:8px;color:#08775e;font-size:12px;font-weight:750}.osd-insight-top svg{width:19px}.osd-insight h3{font-size:18px;line-height:1.7;margin:11px 0 4px;font-weight:800}.osd-insight p{font-size:10.5px;color:#6b8275;line-height:1.9}.osd-insight-foot{border-top:1px solid #dcebe1;display:flex;align-items:center;justify-content:space-between;padding-top:11px;margin-top:14px;font-size:10px}.osd-insight-foot strong{color:#08775e;font-size:14px}
.osd-section-heading{display:flex;align-items:center;justify-content:space-between;margin:0 0 12px}.osd-section-heading h2{font-size:17px;margin:0;font-weight:800}.osd-section-heading span{font-size:10px;color:#72817b}.osd-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.osd-action{display:flex;align-items:center;gap:11px;min-height:88px;padding:16px 15px;border-radius:17px;border:1px solid #e8ecea;background:#fff;color:#152b25;text-align:right;box-shadow:0 8px 30px rgba(22,53,42,.035);transition:.18s}.osd-action:hover{border-color:#bddbcd;background:#fbfefc;transform:translateY(-2px)}.osd-action-icon{width:41px;height:41px;border-radius:12px;background:#f0f6f2;color:#7C3AED;display:grid;place-items:center;flex:none}.osd-action-icon svg{width:22px;height:22px}.osd-action strong{font-size:12px;display:block}.osd-action small{font-size:9px;color:#72817b;display:block;margin-top:2px}.osd-action-arrow{width:15px;height:15px;color:#acb8b0;margin-right:auto;flex:none}
.osd-invoices{margin-top:24px;overflow:hidden}.osd-invoice-head{padding:18px 21px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #e8ecea}.osd-invoice-head h2{font-size:16px;font-weight:800;margin:0}.osd-invoice-head p{font-size:10px;color:#72817b;margin-top:2px}.osd-invoice-head button{display:inline-flex;align-items:center;gap:5px;border:0;background:none;color:#08775e;font-size:10px;font-weight:750}.osd-invoice-head button svg{width:14px;height:14px}.osd-table-wrap{overflow-x:auto}.osd-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:760px}.osd-table th{padding:11px 17px;background:#fafcfb;border-bottom:1px solid #e8ecea;color:#72817b;font-size:9.5px;font-weight:650;text-align:right}.osd-table td{padding:13px 17px;border-bottom:1px solid #eff2f0;font-size:10.5px}.osd-table tbody tr:last-child td{border-bottom:0}.osd-table tbody tr:hover{background:#fbfdfc}.osd-invoice-id{font-weight:800;color:#315b49;direction:ltr;display:inline-block}.osd-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:7px;font-size:9px;font-weight:750;white-space:nowrap}.osd-badge:before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor}.osd-badge.paid{background:#edf8f2;color:#268466}.osd-badge.credit{background:#fbf0f1;color:#b95159}.osd-badge.partial{background:#fff6e7;color:#a1762c}.osd-amount{font-weight:800;white-space:nowrap}.osd-invoice-footer{padding:11px 20px;border-top:1px solid #e8ecea;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#72817b;font-size:9.5px}.osd-empty{padding:38px 20px;text-align:center;color:#72817b;font-size:11px}.osd-mobile-invoices{display:none}.osd-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:21px;color:#8c9a92;font-size:9px}.osd-foot span:last-child{display:flex;align-items:center;gap:5px}
@media(max-width:950px){.osd-root{padding:22px 18px 28px}.osd-kpi-grid,.osd-actions{gap:11px}.osd-kpi{padding:16px 14px}.osd-kpi-value{font-size:25px}.osd-action{padding:13px 11px}.osd-action-arrow{display:none}}
@media(max-width:720px){.osd-root{padding:16px 12px 28px}.osd-welcome{gap:8px;margin-bottom:16px}.osd-company-line{gap:9px}.osd-company-logo{width:42px;height:42px;border-radius:12px}.osd-company-line h1{font-size:21px}.osd-company-line p,.osd-greeting{font-size:10px}.osd-welcome-tools{padding-top:19px}.osd-date{display:none}.osd-period{padding:11px;border-radius:17px;gap:8px;margin-bottom:13px}.osd-period-label{width:100%;font-size:10.5px}.osd-period-label small{margin-right:auto}.osd-segments{width:100%}.osd-segment{flex:1;min-width:0;padding:5px 4px;font-size:10px}.osd-custom{gap:8px}.osd-custom input{min-height:40px;font-size:10px}.osd-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.osd-kpi{padding:13px 12px;border-radius:18px}.osd-kpi-top h2{font-size:10.5px}.osd-icon-tile{width:30px;height:30px;border-radius:9px}.osd-icon-tile svg{width:17px;height:17px}.osd-kpi-value{font-size:26px;margin:12px 0 6px}.osd-kpi-value small{font-size:11px}.osd-kpi-bottom{font-size:8.5px}.osd-overview{grid-template-columns:1fr;margin:14px 0 19px;gap:10px}.osd-sales-chart{padding:17px 15px 12px;border-radius:19px}.osd-chart-wrap{height:115px}.osd-insight{display:none}.osd-section-heading{margin-bottom:10px}.osd-section-heading h2{font-size:15px}.osd-section-heading span{font-size:9px}.osd-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.osd-action{min-height:80px;padding:12px 11px;border-radius:16px;gap:8px}.osd-action-icon{width:34px;height:34px;border-radius:10px}.osd-action-icon svg{width:19px;height:19px}.osd-action strong{font-size:11px}.osd-action small{font-size:8px}.osd-invoices{margin-top:20px;border-radius:20px}.osd-invoice-head{padding:15px 13px}.osd-invoice-head h2{font-size:14px}.osd-invoice-head p,.osd-invoice-head button{font-size:9px}.osd-table-wrap{display:none}.osd-mobile-invoices{display:block;padding:0 13px}.osd-invoice-item{padding:13px 0;border-bottom:1px solid #e8ecea}.osd-invoice-item:last-child{border:0}.osd-invoice-top,.osd-invoice-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.osd-invoice-top>div{display:flex;align-items:center;gap:7px;min-width:0}.osd-invoice-top strong{font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.osd-invoice-bottom{margin-top:7px;color:#72817b;font-size:9px}.osd-invoice-bottom strong{font-size:13px;color:#152b25}.osd-invoice-footer{padding:10px 13px;font-size:8.5px}.osd-foot{font-size:8px}}
@media(max-width:370px){.osd-root{padding:13px 9px 24px}.osd-company-line h1{font-size:18px}.osd-kpi{padding:11px 10px}.osd-kpi-top h2{font-size:9px}.osd-kpi-value{font-size:23px}.osd-action{padding:10px 9px}.osd-action strong{font-size:10px}.osd-action small{font-size:7.5px}.osd-invoice-top strong{max-width:125px}}

/* v7.9.4.71 cashier responsive product grid */
.oscar-pos-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;align-items:stretch}
.oscar-pos-product-grid .oscar-product-card{min-width:0;padding:8px}
.oscar-pos-product-grid .oscar-product-card h4{font-size:11px}
@media (min-width:768px){.oscar-pos-product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.oscar-pos-product-grid .oscar-product-card{padding:10px}}
@media (min-width:1100px){.oscar-pos-product-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}}
@media (min-width:1450px){.oscar-pos-product-grid{grid-template-columns:repeat(6,minmax(0,1fr))}}
@media (min-width:1800px){.oscar-pos-product-grid{grid-template-columns:repeat(7,minmax(0,1fr))}}

/* Oscar high-refresh UI tuning: keep overlays/cart on compositor-friendly properties. */
:root{--oscar-ui-fast:110ms;--oscar-ui-modal:150ms;}
button,a,[role="button"]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.fixed.inset-0,.oscar-bounded-modal,#full-cart-modal-backdrop,.barcode-camera-overlay{
  animation:oscar-ui-fade var(--oscar-ui-fast) ease-out both;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform:translateZ(0);
  overscroll-behavior:contain;
}
.fixed.inset-0>form,.fixed.inset-0>div,.oscar-bounded-modal>form,.oscar-bounded-modal>div,
#full-cart-modal-box,.barcode-camera-overlay>div{
  animation:oscar-ui-pop var(--oscar-ui-modal) cubic-bezier(.2,.8,.2,1) both;
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
  transform-origin:center;
}
#full-cart-modal-box{contain:layout paint;will-change:transform,opacity}
#full-cart-modal-backdrop{will-change:opacity}
@keyframes oscar-ui-fade{from{opacity:0}to{opacity:1}}
@keyframes oscar-ui-pop{from{opacity:.55;transform:translate3d(0,7px,0) scale(.992)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media (prefers-reduced-motion:reduce){.fixed.inset-0,.oscar-bounded-modal,#full-cart-modal-backdrop,.barcode-camera-overlay,.fixed.inset-0>form,.fixed.inset-0>div,.oscar-bounded-modal>form,.oscar-bounded-modal>div,#full-cart-modal-box,.barcode-camera-overlay>div{animation:none!important;transition:none!important}}
/* Avoid GPU-expensive live blur on full-screen overlays; the dark scrim remains. */
.fixed.inset-0,.oscar-bounded-modal,.barcode-camera-overlay{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* v83: immediate cashier cart + low-latency modal interaction */
#btn-pos-camera, #full-cart-modal-backdrop, #full-cart-modal-box, button { touch-action: manipulation; }
#full-cart-modal-backdrop, #full-cart-modal-box { animation: none !important; transition-duration: 90ms !important; }
@media (prefers-reduced-motion: no-preference) {
  .oscar-page-stage { transition-duration: 90ms !important; }
}

/* ===== v7.9.4.86 ultra-responsive / high-refresh profile =====
   Prioritize input latency. Large data refreshes yield in JS; CSS only animates
   compositor-safe properties and touch devices avoid expensive visual effects. */
:root{
  --oscar-motion-fast:36ms;
  --oscar-motion-page:0ms;
  --oscar-motion-modal:54ms;
  --oscar-ui-fast:42ms;
  --oscar-ui-modal:56ms;
}
html,body,#root{touch-action:manipulation;scroll-behavior:auto!important;}
button,a[href],[role="button"],input[type="button"],input[type="submit"],label[for]{
  touch-action:manipulation!important;
  -webkit-tap-highlight-color:transparent!important;
}
button:not(:disabled),a[href],[role="button"]{cursor:pointer;}
button:active:not(:disabled),a[href]:active,[role="button"]:active{
  transform:translate3d(0,0,0) scale(.985);
}
/* Page navigation should never wait for an entrance animation. */
.oscar-page-stage{
  animation:none!important;
  transition:none!important;
  will-change:auto!important;
}
/* Full cart paints a lightweight shell first; the body arrives next frame. */
#full-cart-modal-backdrop{
  animation:oscar84fade var(--oscar-ui-fast) linear both!important;
  transition:none!important;
  contain:strict;
}
#full-cart-modal-box{
  animation:oscar84pop var(--oscar-ui-modal) cubic-bezier(.2,.8,.2,1) both!important;
  transition:none!important;
  will-change:transform,opacity;
  contain:layout paint style;
}
@keyframes oscar84fade{from{opacity:.82}to{opacity:1}}
@keyframes oscar84pop{from{opacity:.82;transform:translate3d(0,3px,0) scale(.997)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
/* Avoid accidental 'transition: all' cost on frequently tapped controls. */
button,a[href],[role="button"],.oscar-product-card,.osd-action{
  transition-property:transform,opacity,background-color,border-color,color!important;
  transition-duration:36ms!important;
  transition-timing-function:linear!important;
}
.custom-scrollbar,.slim-scrollbar,.scroll-chain-page,.overflow-y-auto,.overflow-auto{
  overscroll-behavior:contain;
  scroll-behavior:auto!important;
}
@media (hover:none) and (pointer:coarse){
  /* Blur/filter forces full-screen GPU repaints on many Android devices. */
  [class*="backdrop-blur"],.modal::backdrop,.oscar-ai-overlay,.oscar-employee-modal-overlay,
  .oscar-form-modal-overlay,.oscar-bounded-modal,.barcode-camera-overlay{
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    filter:none!important;
  }
  .oscar-product-card:hover,.osd-action:hover{transform:none!important;box-shadow:none!important;}
  .oscar-product-card{transition-duration:24ms!important;}
  .fixed.inset-0>form,.fixed.inset-0>div,.oscar-bounded-modal>form,.oscar-bounded-modal>div,
  .barcode-camera-overlay>div{animation-duration:48ms!important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;}
}

/* ========================================================================== */
/* Cash Top 3 v7.9.4.123 — native app shell transplanted onto v7.9.4.90     */
/* ========================================================================== */
:root{
  --app-primary:#6D28D9;
  --app-primary-2:#7C3AED;
  --app-primary-soft:#F5F3FF;
  --app-border:#D8DEE9;
  --app-text:#172033;
  --app-muted:#697386;
  --cash-bottom-h:calc(68px + env(safe-area-inset-bottom,0px));
}
html,body,#root,button,input,select,textarea{font-family:'Cairo',Tahoma,Arial,sans-serif!important;}
html,body,#root{height:100%;overscroll-behavior:none;}
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;color:var(--app-text);}
input,textarea,[contenteditable="true"]{-webkit-user-select:text!important;user-select:text!important;}

/* App-like purple header */
.oscar-app-header{
  height:58px!important;
  min-height:58px!important;
  background:linear-gradient(90deg,#6D28D9,#7C3AED)!important;
  color:#fff!important;
  border:0!important;
  box-shadow:0 2px 12px rgba(76,29,149,.22)!important;
}
.oscar-header-title{font-size:15px!important;font-weight:900!important;color:#fff!important;line-height:1.05!important;}
.oscar-header-icon{width:36px!important;height:36px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:10px!important;color:#fff!important;background:transparent!important;padding:0!important;}
.oscar-header-icon:hover,.oscar-header-icon.is-active{background:rgba(255,255,255,.16)!important;}
.oscar-header-icon.is-offline{color:#FDE68A!important;}
.oscar-header-badge{position:absolute;top:2px;left:1px;height:14px;min-width:14px;padding:0 3px;border-radius:999px;background:#F59E0B!important;color:#fff;font-size:8px;font-weight:900;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #6D28D9!important;}
.oscar-header-quick-actions{display:none;align-items:center;gap:5px;min-width:0;}
.oscar-header-quick-btn{height:32px;padding:0 9px;border:1px solid rgba(255,255,255,.22);border-radius:9px;background:rgba(255,255,255,.10);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap;font:800 10px 'Cairo',Tahoma,Arial,sans-serif;transition:background .14s ease,transform .14s ease;}
.oscar-header-quick-btn:hover{background:rgba(255,255,255,.18);}
.oscar-header-quick-btn:active{transform:translateY(1px);background:rgba(255,255,255,.23);}
@media(min-width:1024px){.oscar-header-quick-actions{display:flex;}}
@media(min-width:1024px) and (max-width:1180px){.oscar-header-quick-btn{padding-inline:7px;font-size:9px;gap:4px;}.oscar-app-header{gap:5px!important;padding-inline:8px!important;}}

/* Small compositor-only page transition, makes navigation feel like an app. */
.oscar-page-stage{animation:cash123-page-in 120ms cubic-bezier(.2,.75,.22,1) both!important;will-change:transform,opacity!important;}
@keyframes cash123-page-in{from{opacity:.72;transform:translate3d(-9px,0,0)}to{opacity:1;transform:translate3d(0,0,0)}}

/* Native outlined fields with floating labels */
.oscar-page-stage div:has(>label+input),
.oscar-page-stage div:has(>label+select),
.oscar-page-stage div:has(>label+textarea),
.oscar-page-stage div:has(>label):has(>.flex>input),
body>[class*="fixed"] div:has(>label+input),
body>[class*="fixed"] div:has(>label+select),
body>[class*="fixed"] div:has(>label+textarea),
body>[class*="fixed"] div:has(>label):has(>.flex>input),
.searchable-dropdown-root:has(>label){position:relative!important;padding-top:7px!important;}
.oscar-page-stage div:has(>label+input)>label,
.oscar-page-stage div:has(>label+select)>label,
.oscar-page-stage div:has(>label+textarea)>label,
.oscar-page-stage div:has(>label):has(>.flex>input)>label,
body>[class*="fixed"] div:has(>label+input)>label,
body>[class*="fixed"] div:has(>label+select)>label,
body>[class*="fixed"] div:has(>label+textarea)>label,
body>[class*="fixed"] div:has(>label):has(>.flex>input)>label,
.searchable-dropdown-root>label{
  position:absolute!important;top:0!important;right:11px!important;z-index:3!important;
  width:auto!important;max-width:calc(100% - 26px)!important;padding:0 6px!important;margin:0!important;
  background:#fff!important;color:#5F6877!important;font-size:10px!important;font-weight:800!important;line-height:14px!important;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.oscar-page-stage input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.oscar-page-stage select,.oscar-page-stage textarea,.searchable-dropdown-root>button,
body>[class*="fixed"] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body>[class*="fixed"] select,body>[class*="fixed"] textarea{
  border-color:#B8C0CF!important;background:#fff!important;color:#1F2937!important;border-radius:8px!important;
  min-height:46px;font-size:12px!important;font-weight:600!important;box-shadow:none!important;
}
.oscar-page-stage input:focus,.oscar-page-stage select:focus,.oscar-page-stage textarea:focus,.searchable-dropdown-root>button:focus,
body>[class*="fixed"] input:focus,body>[class*="fixed"] select:focus,body>[class*="fixed"] textarea:focus{
  outline:none!important;border-color:#6D28D9!important;box-shadow:0 0 0 2px rgba(109,40,217,.09)!important;
}
.oscar-page-stage input::placeholder,.oscar-page-stage textarea::placeholder{color:#A0A7B3!important;font-weight:500!important;}

/* Login/create-account icon/text alignment */
.auth2-input-icon>.icon{right:14px!important;left:auto!important;}
.auth2-input-icon input{direction:rtl!important;text-align:right!important;padding-right:52px!important;padding-left:13px!important;}
.auth2-input-icon input::placeholder{direction:rtl!important;text-align:right!important;}
.auth2-phone-wrap{direction:ltr!important;}
.auth2-phone-icon{left:14px!important;right:auto!important;}
.auth2-phone-wrap .auth2-phone-input{direction:ltr!important;text-align:left!important;padding-left:52px!important;padding-right:13px!important;}
.auth2-phone-wrap .auth2-phone-input::placeholder{direction:ltr!important;text-align:left!important;}

/* Native mobile bottom bar */
#mobile-bottom-nav.cash-bottom-nav{display:flex!important;position:fixed!important;left:0;right:0;bottom:0;z-index:90;height:var(--cash-bottom-h);padding:7px 6px calc(6px + env(safe-area-inset-bottom,0px));background:rgba(255,255,255,.98);border-top:1px solid #E5E7EB;box-shadow:0 -6px 22px rgba(15,23,42,.08);align-items:flex-start;justify-content:space-around;gap:2px;}
.cash-bottom-item,.cash-bottom-center{border:0;background:transparent;min-width:0;flex:1;height:54px;color:#6B7280;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:800;}
.cash-bottom-item svg{width:21px;height:21px;stroke-width:1.9;}.cash-bottom-item.active{color:#6D28D9;}
.cash-bottom-center{margin-top:-18px;color:#4B5563;position:relative;}
.cash-bottom-center-icon{position:relative;width:54px;height:54px;border-radius:18px;background:#FFD65A;color:#3F2D09;display:grid;place-items:center;box-shadow:0 9px 22px rgba(245,158,11,.26),0 0 0 5px #fff;transition:transform .13s ease,box-shadow .13s ease;}
.cash-bottom-center.active .cash-bottom-center-icon,.cash-bottom-center:active .cash-bottom-center-icon{transform:translateY(-2px) scale(.98);box-shadow:0 10px 24px rgba(245,158,11,.34),0 0 0 5px #fff;}
.cash-bottom-center-icon b{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:99px;padding:0 4px;background:#7C3AED;color:#fff;font-size:8px;display:grid;place-items:center;border:2px solid #fff;}
.cash-more-backdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(15,23,42,.42);display:flex;align-items:flex-end;backdrop-filter:blur(2px);}
.cash-more-sheet{width:100%;max-height:72dvh;border-radius:22px 22px 0 0;background:#fff;padding:14px 14px calc(18px + env(safe-area-inset-bottom,0px));box-shadow:0 -20px 50px rgba(15,23,42,.14);animation:cash123-sheet-up .18s ease-out both;}
.cash-more-head{display:flex;align-items:center;justify-content:space-between;padding:2px 2px 12px;border-bottom:1px solid #EEF0F3;}
.cash-more-head strong{font-size:13px;font-weight:900;}.cash-more-head button{width:34px;height:34px;border:0;border-radius:10px;background:#F3F4F6;color:#6B7280;display:grid;place-items:center;}
.cash-more-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:12px;overflow:auto;max-height:58dvh;}
.cash-more-item{min-height:74px;border:1px solid #E8EAF0;border-radius:14px;background:#fff;color:#556070;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;font-size:9px;font-weight:800;}
.cash-more-item.active{border-color:#DDD6FE;background:#F5F3FF;color:#6D28D9;}.cash-more-item.active svg{color:#7C3AED;}
@keyframes cash123-sheet-up{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
@media(max-width:1023px){#main-header+main{padding-bottom:var(--cash-bottom-h)!important;}}

/* App-style product/customer records on phones, preserving newest-first order. */
@media(max-width:767px){
  #products-screen,#customers-screen{padding:12px 10px calc(var(--cash-bottom-h) + 20px)!important;}
  #products-table-container,#customers-table-card{border-radius:14px!important;border-color:#E7EAF0!important;overflow:hidden!important;background:#fff!important;}
  #products-table-container>div,#customers-table-card>div{overflow:visible!important;}
  #products-table-container table,#customers-table-card table{min-width:0!important;width:100%!important;white-space:normal!important;}
  #products-table-container thead,#customers-table-card thead{display:none!important;}
  #products-table-container tbody,#customers-table-card tbody{display:block!important;}
  #products-table-container tbody tr,#customers-table-card tbody tr{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2px 10px;min-height:72px;padding:10px 44px 10px 12px;border-bottom:1px solid #EEF0F3!important;background:#fff;cursor:pointer;}
  #products-table-container tbody tr:last-child,#customers-table-card tbody tr:last-child{border-bottom:0!important;}
  #products-table-container tbody tr:active,#customers-table-card tbody tr:active{background:#FAF8FF!important;}
  #products-table-container td,#customers-table-card td{display:none!important;padding:0!important;border:0!important;max-width:none!important;}
  #products-table-container td:nth-child(1){display:block!important;grid-column:1/2;grid-row:1/3;}
  #products-table-container td:nth-child(4){display:block!important;grid-column:2;grid-row:1;text-align:left!important;color:#6D28D9;font-weight:900;font-size:12px;}
  #products-table-container td:nth-child(6){display:block!important;grid-column:2;grid-row:2;text-align:left!important;color:#9CA3AF;font-size:9px;}
  #products-table-container td:nth-child(7){display:block!important;position:absolute;right:8px;top:50%;transform:translateY(-50%);}
  #customers-table-card td:nth-child(1){display:block!important;grid-column:1/2;grid-row:1;font-size:12px!important;}
  #customers-table-card td:nth-child(2){display:block!important;grid-column:1/2;grid-row:2;font-size:10px!important;color:#8A94A6!important;}
  #customers-table-card td:nth-child(4){display:block!important;grid-column:2;grid-row:1/3;text-align:left!important;font-size:11px!important;}
  #customers-table-card td:nth-child(5){display:block!important;position:absolute;right:8px;top:50%;transform:translateY(-50%);}
}

/* Action menus used by database-paged sales/customers/suppliers screens. */
.cash-action-menu{min-width:178px;max-width:min(230px,calc(100vw - 16px));padding:6px;border:1px solid #E5E7EB;border-radius:15px;background:#fff;box-shadow:0 16px 46px rgba(15,23,42,.20);font-family:'Cairo',Tahoma,Arial,sans-serif;overflow:hidden;animation:cash123-pop-in .14s ease-out both;}
@keyframes cash123-pop-in{from{opacity:.2;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:none}}
.cash-action-menu>button,.cash-action-menu>.customer-action-messages,.cash-action-menu>.invoice-action-messages{width:100%;min-height:38px;border:0;border-radius:9px;background:#fff;color:#374151;padding:8px 9px;display:flex;align-items:center;gap:9px;text-align:right;font-size:11px;font-weight:800;white-space:nowrap;}
.cash-action-menu>button:hover,.cash-action-menu>button:active{background:#F5F3FF;color:#6D28D9;}
.cash-action-menu>button svg{width:16px;height:16px;color:#7C3AED;flex:0 0 auto;}.cash-action-menu>button.danger{color:#DC2626;}.cash-action-menu>button.danger svg{color:#DC2626;}.cash-action-menu>button.danger:hover{background:#FEF2F2;}

@media(prefers-reduced-motion:reduce){.oscar-page-stage,.cash-more-sheet,.cash-action-menu{animation:none!important;transition:none!important;}}

/* Cash Top desktop accounting workspace */
:root{--ct-primary:#7138da;--ct-ink:#202039;--ct-border:#dce0ee;--ct-paper:#f5f6fb}
body{color:var(--ct-ink);background:var(--ct-paper)}
input:not([type=checkbox]):not([type=radio]),select,textarea{border-color:var(--ct-border);font-weight:600}
input:focus,select:focus,textarea:focus{outline:2px solid #9c74ec;outline-offset:1px}
.oscar-app-header#main-header{background:linear-gradient(110deg,#53289b,#7938dc);color:white;border:0;box-shadow:0 3px 14px #38216820;min-height:64px}
#main-header .oscar-header-title,#main-header .oscar-header-icon,#main-header .oscar-header-quick-btn{color:white}
#main-header .oscar-header-icon,#main-header .oscar-header-quick-btn{background:#ffffff12;border-color:#ffffff30}
#main-header .oscar-header-icon:hover,#main-header .oscar-header-quick-btn:hover{background:#ffffff28}
.ct-desktop-nav,.ct-desktop-host{display:none}
@media(min-width:1024px){
#desktop-sidebar{display:none!important}.ct-desktop-nav{display:flex;align-items:center;gap:4px}.ct-nav-group{position:relative}.ct-nav-group>button{display:flex;align-items:center;gap:7px;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:800;color:white}.ct-nav-group>button:hover,.ct-nav-active{background:#ffffff22}
.ct-nav-menu{position:absolute;top:calc(100% + 10px);right:0;width:235px;max-height:70vh;overflow:auto;background:white;color:#25223d;padding:8px;border:1px solid #e5def5;box-shadow:0 18px 45px #25154426;border-radius:15px;z-index:100}
.ct-nav-menu button{display:flex;width:100%;align-items:center;gap:10px;text-align:right;padding:11px 10px;border-radius:9px;font-size:12px;font-weight:700}.ct-nav-menu button:hover,.ct-nav-menu .ct-selected{background:#f1eafa;color:#7138da}
#main-header .oscar-header-quick-actions{display:none}
.ct-desktop-host{display:block;width:65%;min-width:660px;flex-shrink:0;height:100%}
.ct-desktop-checkout{display:flex;height:100%;gap:12px;padding:12px;background:#f3f3f9;flex-direction:row-reverse}
.ct-checkout-rail{width:310px;flex-shrink:0;height:100%;overflow:auto;overscroll-behavior:contain;border-radius:15px;background:white;border:1px solid var(--ct-border);box-shadow:0 4px 14px #34315c06}
.ct-payment-inline{display:block!important;position:static!important;background:transparent!important;padding:0!important;width:100%}
.ct-payment-box{display:flex;flex-direction:column;width:100%;height:auto;max-height:none!important;background:white;overflow:visible}
.ct-payment-box>div:nth-child(2){display:none}.ct-payment-box>div{padding:12px}.ct-payment-box>div.custom-scrollbar{overflow:visible!important;flex:none!important;display:flex;flex-direction:column;gap:12px}
.ct-payment-box .space-y-4>:not([hidden])~:not([hidden]){margin-top:0}
.ct-payment-box .grid-cols-4{gap:4px}.ct-payment-box .grid-cols-4 button{font-size:10px;padding:8px 3px}
.ct-payment-box .text-3xl{font-size:25px}.ct-payment-box .text-slate-400{color:#6d6483}.ct-payment-box .bg-slate-900 .text-slate-400{color:#c7bcda}
.ct-payment-box #payment-invoice-discount{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px;color:#fff}.ct-discount input{color:#242039}
.ct-controls{display:flex;flex-direction:column;gap:10px;border-bottom:1px solid var(--ct-border)}
.ct-section-title{display:flex;align-items:center;gap:7px;font-size:12px;font-weight:900;color:#7138da}.ct-item-name{font-size:13px}.ct-controls label{display:flex;flex-direction:column;gap:5px;font-size:11px;font-weight:800;color:#5b556c}.ct-controls input,.ct-controls select{width:100%;background:#f9f8fd;border:1px solid #d9d3e6;border-radius:9px;padding:8px 10px;color:#27203a;font-size:13px;min-height:35px}
.ct-controls button{display:flex;align-items:center;justify-content:center;gap:5px;background:#f1edf8;border:1px solid #e3d9f5;border-radius:9px;padding:8px;font-weight:800;font-size:11px;color:#6532b1}.ct-controls button:disabled{opacity:.4}.ct-controls button:hover{background:#e6dafa}
.ct-qty-control{display:flex;align-items:end;gap:7px}.ct-qty-control label{flex:1}.ct-qty-control button{height:36px;width:38px}.ct-operation-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}
.ct-products-cart{display:flex;flex:1;min-width:0;flex-direction:column;border:1px solid var(--ct-border);border-radius:15px;background:white;overflow:hidden}.ct-cart-title{display:flex;justify-content:space-between;padding:16px 14px;border-bottom:1px solid #eeeaf5;font-size:13px}.ct-cart-title span{color:#837693;font-size:11px}
.ct-cart-columns,.ct-cart-row{display:grid;grid-template-columns:minmax(100px,1fr) 54px 65px 70px;align-items:center;gap:5px;text-align:right;padding:12px}.ct-cart-columns{flex-shrink:0;background:#f7f5fc;color:#685979;font-size:11px;font-weight:900;position:sticky;top:0;z-index:1;border-bottom:1px solid #e3dced}.ct-cart-rows{overflow:auto;flex:1;min-height:0}.ct-cart-row{width:100%;border-bottom:1px solid #edeaf3;font-size:12px;min-height:64px}.ct-cart-row:hover{background:#faf7ff}.ct-row-selected{background:#f0e8ff!important;box-shadow:inset -3px 0 #7c3aed}.ct-cart-row strong{display:block;line-height:1.7}.ct-cart-row small{display:block;color:#82708c;font-size:10px}.ct-cart-row b{color:#7138da}.ct-cart-row>span:not(:first-child),.ct-cart-row>b{font-variant-numeric:tabular-nums}.ct-cart-hints{padding:10px;font-size:10px;color:#887797;border-top:1px solid #edeaf3}.ct-cart-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#86759b;font-size:12px}

}
@media(min-width:1440px){.ct-desktop-host{width:62%}.ct-checkout-rail{width:335px}}
@media(max-width:1100px) and (min-width:1024px){.ct-desktop-host{min-width:620px;width:68%}.ct-checkout-rail{width:285px}.ct-cart-columns,.ct-cart-row{grid-template-columns:minmax(80px,1fr) 42px 54px 60px;padding:8px;font-size:11px}.ct-nav-group>button{padding:9px 7px}}

.ct-brand-title{min-width:0}.ct-brand-title>strong{display:block;font-size:11px;color:#eee2ff;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct-brand-title .oscar-header-title{font-size:13px}
@media(min-width:1024px){.ct-payment-box>div:last-child{position:sticky;bottom:0;z-index:2;background:#faf8ff!important;box-shadow:0 -5px 15px #24203609}.ct-payment-box>div:last-child>button:first-child{display:none}.ct-payment-box [data-ct-sell]{width:100%}.ct-discount .text-slate-600{color:#e6dbff}.ct-desktop-checkout{height:100%}}

/* The old sidebar position becomes the checkout rail; cart stays product-only. */
@media(min-width:1024px){
.ct-desktop-host,.ct-desktop-checkout{display:contents}
.ct-checkout-rail{order:-1;width:310px;margin:12px;height:calc(100% - 24px)}
.ct-products-cart{order:2;flex:0 0 35%;margin:12px 0 12px 12px;height:calc(100% - 24px)}
#pos-screen .oscar-pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(115px,1fr));gap:9px}
#pos-screen .oscar-product-card{padding:9px}
}
@media(min-width:1440px){.ct-checkout-rail{width:335px}.ct-products-cart{flex-basis:36%}#pos-screen .oscar-pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}}
@media(min-width:1024px) and (max-width:1100px){.ct-checkout-rail{width:285px}.ct-products-cart{flex-basis:34%}#pos-screen .oscar-pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}
/* v125 compact accounting controls and independent overlay layers */
.oscar-page-stage{transform:none!important;filter:none!important;perspective:none!important;contain:none!important;isolation:auto!important;animation:none!important;will-change:auto!important}
.ct-modal-layer{position:fixed!important;inset:0!important;width:100vw!important;height:var(--oscar-app-height,100dvh)!important;max-height:none!important;overflow-y:auto!important;padding:12px!important;background:rgba(23,16,42,.35)!important;backdrop-filter:blur(5px)!important}
.ct-modal-layer>form,.ct-modal-layer>section,.ct-modal-layer>div{max-height:calc(var(--oscar-app-height,100dvh) - 24px)!important;min-height:0;overflow:auto;margin-block:0!important}
.product-editor-modal-panel .product-editor-body{max-height:calc(var(--oscar-app-height,100dvh) - 155px)!important}
.ct-action-shield{position:fixed;inset:0;z-index:2147483000;background:transparent}
.ct-product-more{width:30px;height:30px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;border:1px solid #e2dbea;background:white;color:#776286}
.ct-card-menu{position:absolute;top:6px;left:6px;z-index:2}
.ct-product-info{width:min(620px,100%);background:white;border-radius:18px;border:1px solid #ece5f5;box-shadow:0 25px 75px #21123433;overflow:auto}
.ct-product-info>header{display:flex;gap:10px;align-items:center;padding:16px 18px;background:#f4edff;color:#6032a3}.ct-product-info>header>div{flex:1}.ct-product-info h3{font-size:16px;font-weight:900}.ct-product-info header small{font-size:10px}.ct-product-info header button{padding:7px;border-radius:9px;background:white}
.ct-info-grid{padding:15px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ct-info-field{padding:10px;background:#faf9fc;border:1px solid #eee8f5;border-radius:10px}.ct-info-field span{display:block;font-size:10px;color:#8a7d99}.ct-info-field strong{display:block;font-size:12px;color:#352640;overflow-wrap:anywhere}.ct-unit-details{padding:0 15px 15px;display:flex;flex-direction:column;gap:7px}.ct-unit-details>div{display:flex;gap:10px;flex-wrap:wrap;padding:10px;border:1px solid #e5dbf0;border-radius:10px;font-size:11px}.ct-unit-details small{flex-basis:100%;color:#8c7b99;overflow-wrap:anywhere}
.searchable-dropdown-root{position:relative}.searchable-dropdown-root>button{position:relative;min-height:39px!important}.ct-dropdown-label{position:absolute;top:-7px;right:11px;padding:0 5px;background:white;color:#736280;font-size:10px;font-weight:800;line-height:14px;z-index:1;pointer-events:none}
.customer-detail-panel{border:1px solid #e6ddf2!important;box-shadow:0 25px 80px #27133e30!important;border-radius:20px!important}.customer-detail-panel .native-modal-topbar{background:linear-gradient(110deg,#f1e8ff,#faf8ff)!important;color:#6136a0!important;padding:15px!important}.customer-detail-body{padding:20px!important}.customer-detail-name{padding:0 0 14px!important}.customer-detail-name strong{font-size:20px!important;font-weight:900!important;color:#382246!important}.customer-detail-name small{margin-top:5px!important;display:block;color:#8054b1!important}.ct-customer-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.ct-customer-summary>div{padding:12px 8px;border-radius:12px;background:#f6f1ff;border:1px solid #ebe0fc}.ct-customer-summary span{display:block;font-size:10px;color:#8b779d}.ct-customer-summary strong{display:block;font-size:13px;color:#6536a0}.customer-detail-list{display:flex!important;flex-direction:column;gap:9px!important}.customer-detail-list>div{padding:12px!important;background:#faf9fc;border:1px solid #eee9f3;border-radius:11px;display:flex;gap:9px;align-items:center;font-size:12px;overflow-wrap:anywhere}
.ct-quick-customer{width:min(340px,100%);background:white;padding:18px;border-radius:15px;display:flex;flex-direction:column;gap:12px}.ct-quick-customer input{padding:10px;border:1px solid #dcd2e8;border-radius:8px}.ct-quick-customer>div{display:flex;gap:8px}.ct-quick-customer button{padding:7px 15px;border-radius:8px;background:#ede4fa;color:#63369c;font-size:12px;font-weight:800}
@media(min-width:1024px){
#mobile-bottom-nav.cash-bottom-nav,.ct-mobile-menu-button,.ct-expand-cart,.cash-more-backdrop{display:none!important}
.ct-checkout-rail{width:355px!important;display:flex;flex-direction:column;overflow-y:auto}
.ct-rail-categories{flex-shrink:0;display:flex;gap:5px;overflow-x:auto;padding:9px;border-bottom:1px solid #e9e0f3;min-height:43px}
.ct-rail-categories button{white-space:nowrap;font-size:10px;font-weight:800;padding:5px 9px;border-radius:7px;background:#f5f1fa;color:#766081}.ct-rail-categories button.active{background:#7c3aed;color:white}
.ct-compact-payment{display:flex;flex-direction:column;gap:11px;padding:12px;flex:1;min-height:0}
.ct-data-controls{display:flex;flex-direction:column;gap:7px}.ct-selected-product-name{font-size:11px;font-weight:800;line-height:1.5;color:#493253}
.ct-item-fields{display:grid;grid-template-columns:25px 46px 25px minmax(62px,1fr) 64px 25px;gap:4px;align-items:end}
.ct-item-fields button{height:32px;border-radius:7px;background:#f1e9fa;color:#7040a8;display:grid;place-items:center;padding:0}.ct-item-fields button:last-child{background:#fff0f2;color:#bc5670}
.ct-item-fields label,.ct-compact-field,.ct-inline-label{position:relative;display:flex;flex-direction:column;min-width:0;margin:0!important}
.ct-item-fields label>span,.ct-compact-field>span,.ct-inline-label>span{position:absolute;top:-6px;right:6px;background:white;padding:0 3px;line-height:12px;color:#877391;font-size:9px;font-weight:800;z-index:1;pointer-events:none}
.ct-compact-payment input,.ct-compact-payment select,.ct-compact-payment textarea{width:100%;min-height:34px!important;height:34px;border:1px solid #d8cce4!important;border-radius:8px!important;padding:5px 7px!important;font-size:11px!important;background:#fff!important;color:#34213e!important}
.ct-compact-payment textarea{height:45px!important;resize:vertical}.ct-item-fields input,.ct-item-fields select{min-height:32px!important;height:32px;padding:4px!important;font-size:10px!important}.ct-item-fields input{text-align:center}
.ct-client-paid-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 43px;gap:6px;align-items:center;margin-top:6px}.ct-client-paid-row .searchable-dropdown-root>button{padding:7px 8px!important;font-size:11px!important;min-height:34px!important;height:34px}.ct-client-paid-row .searchable-dropdown-root>button span{font-size:11px}.ct-client-paid-row .ct-dropdown-label{font-size:9px!important}
.ct-payment-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.ct-mode{padding:6px 5px;border:1px solid #e3d7ef;border-radius:8px;font-size:10px;font-weight:800;color:#715184;background:#faf7ff;min-height:30px}.ct-mode.active{background:#7c3aed;color:white;border-color:#7c3aed}
.ct-discount-row{display:flex;gap:6px;align-items:center}.ct-discount-row select{width:100px}.ct-discount-row input{width:80px}.ct-discount-row>span{font-size:10px;color:#997286}.ct-split-fields{display:flex;flex-direction:column;gap:11px;padding:8px;background:#faf7ff;border-radius:9px}
.ct-footer-tools{display:flex;flex-direction:column;gap:9px}.ct-inline-label input{width:100%}.ct-operation-actions button{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px;border-radius:7px;background:#f1eafa;color:#6c409a;font-size:10px;font-weight:800;min-height:29px}.ct-operation-actions button svg{width:13px;height:13px}
.ct-compact-sell{position:sticky;bottom:-12px;margin-top:auto;padding:8px 0 0;background:white;z-index:3;display:flex;flex-direction:column;gap:5px}.ct-compact-sell small{font-size:10px;color:#96809f}.ct-compact-sell button{display:flex;align-items:center;justify-content:center;gap:6px;padding:9px;border-radius:9px;background:#7c3aed;color:white;font-size:12px;font-weight:900;width:100%;min-height:36px}.ct-compact-sell button:disabled{opacity:.4}
.ct-products-cart{flex-basis:34%!important}.ct-cart-columns,.ct-cart-row{grid-template-columns:22px minmax(65px,1fr) 42px 57px 64px!important;gap:4px!important;padding:6px 8px!important}.ct-cart-row{min-height:0!important;line-height:1.5;font-size:11px!important}.ct-cart-row strong{line-height:1.5!important;font-size:11px}.ct-cart-row small{font-size:9px!important;line-height:1.3}.ct-row-number{font-size:9px;color:#a088b0}.ct-cart-title{padding:10px 12px}.ct-cart-columns{font-size:10px}.ct-cart-hints{font-size:9px;padding:7px}
.ct-pos-summary{display:flex;gap:14px;align-items:center;border:1px solid #e7ddf2;background:#f7f2ff;padding:5px 11px;border-radius:10px;white-space:nowrap}.ct-pos-summary>div{display:flex;flex-direction:column;gap:1px}.ct-pos-summary span{font-size:9px;color:#9c80b3}.ct-pos-summary strong{font-size:13px;color:#7339b0;line-height:1.5}.ct-pos-summary .ct-debt-positive{color:#c05b79}
}
@media(min-width:1024px) and (max-width:1150px){.ct-checkout-rail{width:335px!important}.ct-products-cart{flex-basis:33%!important}.ct-client-paid-row{grid-template-columns:minmax(0,1fr) 75px 40px}.ct-item-fields{grid-template-columns:24px 41px 24px minmax(56px,1fr) 60px 24px}}
@media(max-width:1023px){.ct-summary-target{display:none!important}.mobile-sidebar-panel{z-index:150!important;height:100%!important}.fixed.inset-0:has(>.mobile-sidebar-panel){z-index:140!important}.cash-more-backdrop{z-index:140!important}}
.ct-receipt-footer{padding:9px 12px;border-top:1px solid #e9e1f3;background:#faf8fc;display:flex;justify-content:flex-end;flex-shrink:0}.ct-receipt-footer button{padding:7px 18px;border-radius:8px;background:#ede5f8;color:#6b3b9b;font-size:11px;font-weight:800}
@media(min-width:1024px){#desktop-payment input,#desktop-payment select,#desktop-payment textarea{font-size:11px!important;min-height:34px!important}#desktop-payment .ct-item-fields input,#desktop-payment .ct-item-fields select{font-size:10px!important;min-height:32px!important}}
@media print{.ct-modal-layer{position:static!important;inset:auto!important;width:auto!important;height:auto!important;padding:0!important;background:white!important;backdrop-filter:none!important;overflow:visible!important}.ct-modal-layer>div,.ct-modal-layer>section{max-height:none!important;overflow:visible!important}}
/* v126: explicit desktop columns; checkout stays in the workspace DOM. */
@media(min-width:1024px){
#ct-pos-workspace{display:grid!important;grid-template-columns:335px minmax(180px,1fr) minmax(300px,34%);grid-template-rows:minmax(0,1fr);gap:10px;padding:10px;min-height:0;overflow:hidden}
#ct-pos-workspace>.ct-catalog-pane{grid-column:2;grid-row:1;min-width:0;height:100%}
#ct-pos-workspace .ct-desktop-host,#ct-pos-workspace .ct-desktop-checkout{display:contents!important}
#ct-pos-workspace .ct-checkout-rail{grid-column:1;grid-row:1;width:auto!important;min-width:0;height:100%;margin:0!important;overflow-y:auto;display:flex!important}
#ct-pos-workspace .ct-products-cart{grid-column:3;grid-row:1;margin:0!important;height:100%;width:auto;min-width:0;display:flex!important}
#ct-pos-workspace .ct-catalog-pane .oscar-pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))!important}
}
@media(min-width:1280px){#ct-pos-workspace{grid-template-columns:355px minmax(220px,1fr) minmax(330px,34%)}#ct-pos-workspace .ct-catalog-pane .oscar-pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))!important}}
@media(max-width:1023px){#ct-pos-workspace>.ct-desktop-host{display:none!important}}
#ct-mobile-sidebar-overlay{position:fixed!important;inset:0!important;z-index:1150!important;height:var(--oscar-app-height,100dvh)!important;width:100vw;padding:0!important;background:transparent!important;backdrop-filter:none!important;overflow:hidden}
#ct-mobile-sidebar-overlay>.mobile-sidebar-panel{position:absolute!important;right:0!important;top:0!important;bottom:0!important;left:auto!important;width:288px!important;max-width:85vw!important;height:100%!important;margin:0!important;background:white!important;z-index:2!important}
#ct-mobile-sidebar-overlay>.fixed{z-index:1!important;height:100%!important;width:100%;max-height:none!important;background:rgba(24,15,42,.4)!important;backdrop-filter:none!important}
.customer-detail-panel .native-modal-topbar{display:flex;align-items:center;gap:10px;min-height:52px}.customer-detail-panel .native-modal-spacer{display:none}.customer-detail-panel .native-modal-topbar h3{font-size:13px;font-weight:900;flex:1}.customer-detail-panel .native-modal-close{display:grid;place-items:center;border:1px solid #e7dbf6;border-radius:8px;width:28px;height:28px;background:white}
.ct-modal-layer>form.product-editor-modal-panel{display:flex!important;flex-direction:column!important;overflow:hidden!important;max-height:calc(var(--oscar-app-height,100dvh) - 24px)!important}
.ct-modal-layer>form.product-editor-modal-panel>.product-editor-body{flex:1;min-height:0;max-height:none!important;overflow-y:auto!important}
.ct-modal-layer>form.product-editor-modal-panel>div:first-child,.ct-modal-layer>form.product-editor-modal-panel>div:last-child{flex-shrink:0}
.ct-modal-layer.barcode-camera-overlay{background:rgba(0,0,0,.85)!important;backdrop-filter:none!important}
/* Cashier reference layout: four-column catalog and fixed settlement footer. */
.ct-catalog-heading,.ct-catalog-desktop-meta{display:none}
@media(min-width:1024px){
 #ct-pos-workspace{grid-template-columns:minmax(0,1.18fr) minmax(440px,1fr)!important;gap:12px!important;padding:12px!important;direction:rtl}
 #ct-pos-workspace>.ct-catalog-pane{grid-column:1!important;display:block!important;background:#fff;border:1px solid #eeedf4;border-radius:14px}
 #ct-pos-workspace>.ct-desktop-host{grid-column:2;grid-row:1;display:flex!important;min-height:0;min-width:0;overflow:hidden}
 #ct-pos-workspace .ct-desktop-checkout{display:flex!important;flex-direction:column;width:100%;min-height:0;background:#fff;border:1px solid #eeedf4;border-radius:14px;overflow:hidden;padding:10px;gap:8px}
 #ct-pos-workspace .ct-products-cart{display:flex!important;flex-direction:column;flex:0 0 28%;min-height:130px;height:auto!important;border:0;box-shadow:none;border-radius:0;margin:0!important;overflow:hidden}
 #ct-pos-workspace .ct-checkout-rail{display:flex!important;flex:1;min-height:0;height:auto!important;overflow:hidden!important;border:0;border-radius:0;box-shadow:none;background:white;margin:0!important;padding:0!important}
 .ct-cart-title{display:grid!important;grid-template-columns:1.1fr 1fr 1fr;gap:8px;padding:0 0 8px!important;flex-shrink:0}
 .ct-cart-title>strong{font-size:15px;white-space:nowrap;color:#30205c}
 .ct-cart-title .ct-dropdown-label{font-size:10px}
 .ct-cart-columns,.ct-cart-row{display:grid!important;grid-template-columns:24px minmax(90px,1fr) 54px 44px 66px 72px!important;gap:0!important;text-align:center;align-items:center}
 .ct-cart-columns{background:#f5f0fc;border:1px solid #eee7f8;border-radius:9px 9px 0 0;padding:7px 3px!important;font-size:10px;flex-shrink:0}
 .ct-cart-rows{flex:1;min-height:0;overflow:auto;border:1px solid #f0edf6}
 .ct-cart-row{width:100%;min-height:31px!important;padding:5px 3px!important;font-size:11px!important;border-bottom:1px solid #f1eef7;border-radius:0!important}
 .ct-cart-row>strong{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:600}
 .ct-cart-row b{color:#7c3aed}.ct-row-selected{background:#eee4fc!important;border-right:3px solid #7c3aed!important}
 #desktop-payment{padding:0!important;gap:0!important;width:100%;height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column}
 .ct-payment-scroll{min-height:0;flex:1;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;gap:8px;padding:0 1px 8px;scrollbar-width:thin}
 .ct-data-controls{padding:0!important;border:0!important;background:none!important}
 .ct-section-title{display:flex;align-items:center;gap:6px;color:#7c3aed;font-size:15px;padding:0 0 5px}
 .ct-section-title>button{margin-right:auto;background:#fee8ee;color:#e44762;width:30px;height:29px;border:0;border-radius:7px;display:grid;place-items:center}
 .ct-item-fields{display:grid!important;grid-template-columns:minmax(90px,1.35fr) minmax(105px,1.1fr) minmax(70px,1fr) minmax(65px,.8fr)!important;gap:7px!important;align-items:end}
 .ct-item-fields label{min-width:0}.ct-item-fields label>span,.ct-compact-field>span{display:block;font-size:10px;color:#858195;margin-bottom:3px}
 #desktop-payment input,#desktop-payment select,#desktop-payment textarea{min-height:31px!important;height:31px;font-size:12px!important;padding:4px 8px!important;border:1px solid #dedbe7;border-radius:7px;background:#fff;width:100%;min-width:0}
 .ct-quantity-stepper{display:flex;min-width:0;height:31px}.ct-quantity-stepper button{width:29px;flex-shrink:0;border:1px solid #e6def5;background:#f3ecff;color:#7c3aed;display:grid;place-items:center;border-radius:6px}.ct-quantity-stepper input{text-align:center;padding:0!important;appearance:textfield}.ct-quantity-stepper input::-webkit-inner-spin-button{appearance:none}
 .ct-client-paid-row{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr) 49px!important;gap:7px!important;align-items:end}
 #desktop-payment .ct-mode{height:33px!important;min-height:33px!important;padding:4px 8px!important;border-radius:8px;font-size:12px!important;background:#f2eafb;color:#7c3aed;border:1px solid #ede4fa;font-weight:700}
 #desktop-payment .ct-mode.active{background:#7c3aed;color:white}
 .ct-payment-modes{display:grid;grid-template-columns:1.15fr 1.15fr .9fr;gap:7px}
 .ct-split-fields{display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;padding:0!important;background:none!important;border:0!important}
 .ct-invoice-extra{border:1px solid #ece8f3;border-radius:7px;background:#f8f6fb;font-size:11px;color:#746987}.ct-invoice-extra summary{padding:7px 9px;cursor:pointer}.ct-extra-fields{display:grid;grid-template-columns:1fr 2fr;gap:8px;padding:8px}
 .ct-footer-tools{padding:0!important;margin-top:auto}.ct-operation-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px}.ct-operation-actions button{height:29px!important;min-height:29px!important;padding:3px!important;font-size:11px;background:#f2eafb;color:#7c3aed;border:0;border-radius:7px;display:flex;align-items:center;justify-content:center;gap:5px}
 #desktop-payment .ct-compact-sell{position:relative!important;bottom:auto!important;flex:0 0 auto;margin:0!important;background:white;padding:6px 0 0!important;border-top:1px solid #eee8f6;z-index:2}
 .ct-sale-totals{display:flex;justify-content:space-between;gap:10px;padding:0 10px 6px}.ct-sale-totals>div{display:flex;flex-direction:column}.ct-sale-totals span{font-size:10px;color:#777185}.ct-sale-totals strong{font-size:16px;line-height:1.3}.ct-sale-totals .total{color:#7c3aed}.ct-sale-totals .paid{color:#169c69}.ct-sale-totals .debt{color:#df3e54}
 #desktop-payment [data-ct-sell]{min-height:32px!important;height:32px!important;font-size:12px!important;border-radius:8px;background:#7c3aed}
 .ct-pos-summary{background:#111!important;border:1px solid #222!important;border-radius:10px!important;color:#fff!important;min-width:255px}
 .ct-pos-summary>div:first-child span,.ct-pos-summary>div:first-child strong{color:#4ade80!important}.ct-pos-summary>div:last-child span,.ct-pos-summary>div:last-child strong{color:#fb5a6d!important}.ct-pos-summary>div+div{border-color:#414141!important}
 .ct-catalog-heading{display:block;color:#30205c;padding:10px 12px 0;font-size:15px;flex-shrink:0}
 .ct-catalog-categories{border:0!important;padding:8px 10px!important}.ct-catalog-categories button{height:34px;background:#f7f3fc;color:#64517f;border:1px solid #eee8f5}.ct-catalog-categories button.bg-slate-900,.ct-catalog-categories button.bg-violet-600{background:#7c3aed;color:white}
 #ct-pos-workspace .ct-catalog-pane .oscar-pos-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important}
 #ct-pos-workspace .oscar-product-card{padding:4px!important;min-height:0!important;border-radius:9px!important;overflow:hidden;justify-content:flex-start!important}
 .ct-product-body>div:first-child{margin-bottom:7px!important;border-radius:7px!important;aspect-ratio:1.45;overflow:hidden}.ct-product-body>div:first-child img{width:100%;height:100%;aspect-ratio:1.45!important;object-fit:cover}
 .ct-product-body>h4{text-align:center;font-size:12px!important;line-height:1.6;margin:0!important;min-height:20px}
 .ct-product-stock-old,.ct-product-units-old{display:none!important}
 .ct-catalog-desktop-meta{display:block;padding:3px 5px 4px;margin-top:auto}.ct-catalog-desktop-meta>strong{display:block;text-align:center;color:#7c3aed;font-size:15px}.ct-catalog-desktop-meta>div{display:flex;justify-content:space-between;align-items:center;margin-top:7px;gap:3px;font-size:10px;color:#94a0ab}.ct-catalog-desktop-meta button{background:#f4edfd;border:0;border-radius:8px;color:#7856a0;font-size:10px;padding:3px 12px}
 .ct-card-menu{top:8px!important;left:8px!important;right:auto!important}.ct-card-menu>button{background:white!important;color:#49366c!important;border-radius:6px!important;width:26px!important;height:28px!important}
}
@media(min-width:1024px){
 #ct-pos-workspace>.ct-desktop-host{width:100%!important;min-width:0!important;max-width:none!important}
 #ct-pos-workspace .ct-desktop-checkout{flex:1;min-width:0;align-items:stretch}
 #ct-pos-workspace .ct-products-cart{order:0!important;flex-basis:28%!important;width:100%!important}
 #ct-pos-workspace .ct-checkout-rail{order:1!important;width:100%!important}
}
@media(min-width:1024px){
 .ct-payment-scroll>*{flex-shrink:0}.ct-payment-modes .ct-mode{display:flex;align-items:center;justify-content:center;gap:8px}
 #desktop-payment .ct-compact-field{margin:0}
 .ct-product-body>div:first-child>div{height:100%!important}
}
@media(min-width:1024px){
 #pos-screen>div:first-child>div:last-child.hidden{display:none!important}
 #pos-screen>div:first-child>form{max-width:none!important;flex:0 1 54%}
 .ct-pos-summary>div{flex:1;text-align:center;min-width:105px}.ct-pos-summary strong{font-size:16px!important}.ct-pos-summary span{font-size:10px!important}
 .ct-client-paid-row>.ct-mode{display:flex;align-items:center;justify-content:center}.ct-client-paid-row>.ct-mode svg{display:none}
}
/* v128: cashier actions above the workspace, maximum invoice space. */
.ct-payment-dialog-layer{position:fixed;inset:0;background:#17102380;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}
.ct-payment-dialog{width:min(460px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:white;color:#302342;border:1px solid #eee6f7;border-radius:16px;box-shadow:0 24px 80px #16062833;overflow:hidden;direction:rtl}
.ct-payment-dialog header,.ct-payment-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;background:#faf7ff;flex-shrink:0}
.ct-payment-dialog header strong{font-size:16px}.ct-payment-dialog header button{border:0;background:#efe7fa;color:#70469c;border-radius:8px;padding:5px;display:grid;place-items:center}
.ct-payment-dialog-body{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px;min-height:0}
.ct-payment-dialog input,.ct-payment-dialog select{width:100%;min-height:40px!important;border:1px solid #ded4e9;border-radius:8px;padding:7px 10px;font-size:15px!important;background:white}
.ct-payment-dialog footer{justify-content:flex-end;border-top:1px solid #eee6f7}.ct-payment-dialog footer button{padding:8px 24px;border:0;border-radius:8px;font-weight:700;background:#eee6f7;color:#654080}.ct-payment-dialog footer .ct-apply-payment{background:#7c3aed;color:white}
.ct-dialog-required,.ct-dialog-debt{display:flex;justify-content:space-between;align-items:center;background:#f7f3fd;border-radius:9px;padding:10px 12px;font-size:13px}.ct-dialog-required strong{color:#7c3aed;font-size:21px}.ct-dialog-debt strong{color:#dc354f;font-size:21px}
.ct-account-payment-rows{display:flex;flex-direction:column;gap:9px}.ct-account-payment-rows>label{display:grid;grid-template-columns:1fr 140px;gap:12px;align-items:center;font-size:13px}.ct-account-payment-rows input{text-align:center}
.ct-catalog-head{display:contents}#ct-item-tools-target{display:none}
@media(min-width:1024px){
 .ct-pos-toolbar{gap:10px!important;min-height:64px}
 #ct-item-tools-target{display:block;flex:1;min-width:0}
 .ct-top-item-tools{display:flex;align-items:center;gap:9px;min-width:0}
 .ct-top-item-tools .ct-data-controls{flex:1;min-width:0;padding:0!important}
 .ct-top-item-tools .ct-section-title{display:none}
 .ct-top-item-tools .ct-item-fields{grid-template-columns:minmax(105px,1.15fr) minmax(65px,.8fr) minmax(65px,.8fr)!important;gap:6px!important}
 .ct-top-item-tools .ct-item-fields>label:first-child{display:none}
 .ct-top-item-tools label{position:relative;padding-top:0}.ct-top-item-tools label>span{position:absolute;top:-7px;right:9px;background:white;padding:0 4px;z-index:1;line-height:12px;font-size:9px}
 .ct-top-item-tools input,.ct-top-item-tools select{min-height:34px!important;height:34px!important;width:100%;min-width:0;font-size:12px!important;border:1px solid #ded6e9;border-radius:7px;padding:4px 7px;background:white}
 .ct-top-item-tools .ct-quantity-stepper{height:34px}.ct-top-item-tools .ct-quantity-stepper button{width:29px}
 .ct-top-item-tools .ct-footer-tools{margin:0!important;flex:0 0 auto}
 .ct-top-item-tools .ct-operation-actions{gap:5px}.ct-top-item-tools .ct-operation-actions button{height:34px!important;min-height:34px!important;padding:4px 7px!important;font-size:10px;white-space:nowrap}.ct-top-item-tools .ct-operation-actions svg{width:13px;height:13px}
 .ct-top-payment-modes{display:flex;align-items:center;gap:5px}
 .ct-top-payment-modes .ct-mode{display:flex;align-items:center;justify-content:center;gap:5px;background:#f1e9fc;color:#7130c2;border:1px solid #e6d9f8;border-radius:8px;font-size:11px;font-weight:700;white-space:nowrap;padding:7px 9px;height:34px}
 .ct-top-payment-modes .ct-mode.active{background:#7c3aed;color:white;border-color:#7c3aed}
 #ct-summary-target{min-width:0!important}.ct-pos-toolbar>div.flex{gap:8px!important}
 .ct-pos-toolbar>div.flex>button{padding:7px!important;font-size:10px!important;min-height:34px}
 .ct-catalog-head{display:flex;align-items:center;justify-content:space-between;padding:10px;gap:10px;flex-shrink:0}
 .ct-catalog-head .ct-catalog-heading{padding:0!important;font-size:14px;white-space:nowrap}
 #ct-catalog-search-target{flex:1;min-width:0;max-width:360px}
 #ct-catalog-search-target form{max-width:none;width:100%;gap:6px!important}
 #ct-catalog-search-target #pos-barcode-input{min-height:34px!important;height:34px!important;font-size:10px!important;padding-top:5px!important;padding-bottom:5px!important}
 #ct-catalog-search-target #btn-pos-camera{width:34px;height:34px;padding:0;display:grid;place-items:center;flex-shrink:0}
 #ct-catalog-search-target #btn-pos-camera span{display:none}
 #ct-pos-workspace .ct-products-cart{flex:1 1 0!important;min-height:130px!important}
 #ct-pos-workspace .ct-checkout-rail{flex:0 0 auto!important;height:auto!important;max-height:45%;min-height:165px}
 #desktop-payment{height:auto!important;overflow:hidden}
 #desktop-payment .ct-payment-scroll{flex:0 1 auto;max-height:200px;padding:0 1px 6px;gap:6px}
 .ct-settlement-fields{display:grid;grid-template-columns:minmax(100px,1fr) minmax(140px,1.5fr) 66px;gap:8px;align-items:end}
 .ct-settlement-fields .ct-payment-type-reset{height:33px;border:1px solid #e7dcf8;background:#f3edfb;border-radius:7px;color:#7040a2;font-size:11px;font-weight:700}
 .ct-sale-totals{padding:5px 12px 8px!important}.ct-sale-totals span{font-size:13px!important;font-weight:700;color:#62586f}.ct-sale-totals strong{font-size:24px!important;font-weight:900;line-height:1.35!important;font-variant-numeric:tabular-nums}
 #desktop-payment [data-ct-sell]{height:36px!important;min-height:36px!important;font-size:14px!important;font-weight:800}
}
@media(min-width:1024px) and (max-width:1150px){
 .ct-top-item-tools{gap:6px}.ct-top-item-tools .ct-operation-actions svg{display:none}.ct-top-payment-modes .ct-mode{padding:7px 6px;font-size:10px;gap:3px}.ct-top-payment-modes svg{width:12px}.ct-pos-toolbar{gap:8px!important}
}
/* v129: compact cashier fields and readable outlined labels. */
.ct-page-heading{display:flex;align-items:center;gap:8px;white-space:nowrap;color:white}
.ct-header-warehouse{width:150px;min-width:100px;padding-top:7px}.ct-header-warehouse>div>button{min-height:32px!important;height:32px;font-size:11px!important}.ct-header-warehouse .ct-dropdown-label{background:#fff;border-radius:4px}
.ct-outlined-field{position:relative;display:block;min-width:0;margin-top:7px}
.ct-outlined-field>span{position:absolute;top:-7px;right:9px;background:#fff;padding:0 5px;color:#786785;font-size:10px;font-weight:700;line-height:14px;z-index:3}
.ct-outlined-field>input{height:34px!important;min-height:34px!important;width:100%;min-width:0;border:1px solid #c7bed3;border-radius:7px;background:white;padding:5px 8px;font-size:12px!important}
.searchable-dropdown-root{padding-top:7px!important;overflow:visible!important}.searchable-dropdown-root>button{overflow:visible!important}.ct-dropdown-label{top:-7px!important;z-index:5!important;line-height:14px!important;max-width:calc(100% - 22px);white-space:nowrap}
.ct-product-name-field{position:relative!important;padding-top:7px!important;min-width:0}
.ct-modal-layer .ct-product-name-field>label{position:absolute!important;top:0!important;right:11px!important;z-index:5!important;background:white!important;padding:0 5px!important;margin:0!important;line-height:14px!important;font-size:11px!important;width:auto!important}
.ct-product-name-field input{margin:0!important;padding-top:10px!important;height:46px!important}
.ct-sell-actions{display:flex;gap:7px;align-items:stretch}.ct-sell-actions [data-ct-sell]{flex:1}.ct-return-toggle{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #edc3cc;background:#fff1f4;color:#c13b58;border-radius:8px;padding:6px 12px;font-size:12px;font-weight:800}.ct-return-toggle.active{background:#c43c5b;color:#fff}
@media(min-width:1024px){
 .ct-top-item-tools .ct-item-fields{grid-template-columns:minmax(80px,1fr) minmax(70px,.85fr) minmax(55px,.7fr)!important;gap:5px!important}.ct-top-item-tools .ct-data-controls{flex:0 1 270px}
 #ct-payment-account-target{flex:1;min-width:125px;max-width:200px}#ct-payment-account-target>div>button{height:34px!important;min-height:34px!important;font-size:11px!important;padding:5px 8px!important}
 .ct-top-item-tools .ct-item-fields>.searchable-dropdown-root>button{height:34px!important;min-height:34px!important;font-size:11px!important;padding:4px 8px!important}
 .ct-top-item-tools .ct-item-fields{align-items:end}.ct-top-item-tools .ct-quantity-stepper button{width:23px}
 .ct-top-item-tools .ct-operation-actions button{padding:4px 5px!important}
 #ct-pos-workspace .ct-products-cart{min-height:0!important}
 .ct-cart-title{padding:0 0 8px!important;grid-template-columns:.8fr 1.2fr 1fr!important;overflow:visible!important;align-items:end}
 .ct-cart-rows{overflow-y:auto!important;overscroll-behavior:contain;scrollbar-width:thin;outline:none}
 #ct-pos-workspace .ct-checkout-rail{min-height:0!important;max-height:none!important}
 #desktop-payment .ct-payment-scroll{display:none!important}
 .ct-header-warehouse{width:145px;flex-shrink:1}
}
@media(max-width:1023px){.ct-header-warehouse{display:none}}
.ct-compact-sell .ct-sell-actions .ct-return-toggle{flex:0 0 auto;width:auto;min-width:88px;background:#fff0f3;color:#c13b58;border:1px solid #edc3cc}
.ct-compact-sell .ct-sell-actions .ct-return-toggle.active{background:#c13b58;color:white}
.ct-compact-sell .ct-sell-actions [data-ct-sell]{width:auto;flex:1;white-space:nowrap}
.ct-modal-layer .ct-product-name-field>label{min-height:14px!important;height:14px!important;display:block!important;align-items:initial!important;white-space:nowrap}
/* Release polish: stable dialog layers, in-flow options, lightweight transitions. */
#main-header .ct-header-warehouse button{background:#6d28d9!important;color:#fff!important;border-color:#a78bfa!important}
#main-header .ct-header-warehouse button span,#main-header .ct-header-warehouse button svg{color:#fff!important}
#main-header .ct-header-warehouse .ct-dropdown-label{background:#6d28d9!important;color:#ede9fe!important}
#dropdown-menu-header-warehouse{background:#6d28d9!important;border-color:#8b5cf6!important;color:white!important}
#dropdown-menu-header-warehouse button,#dropdown-menu-header-warehouse span{color:white!important}
#dropdown-menu-header-warehouse button{background:transparent!important}
#dropdown-menu-header-warehouse button:hover{background:#7c3aed!important}
#modal-payment-backdrop.ct-modal-layer{position:fixed!important;inset:0!important;z-index:2100!important;padding:12px!important;height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important}
#modal-payment-box{display:flex!important;flex-direction:column!important;width:min(100%,520px)!important;max-height:calc(100dvh - 24px - env(safe-area-inset-bottom,0px))!important;overflow:hidden!important;margin:0!important}
#modal-payment-box>div:first-child,#modal-payment-box>div:last-child{flex-shrink:0!important}
#modal-payment-box>div.overflow-y-auto{min-height:0!important;flex:1 1 auto!important;overflow-y:auto!important;overscroll-behavior:contain}
.ct-product-extra{position:static!important;inset:auto!important;flex-shrink:0;overflow:visible;margin-top:16px}
.oscar-page-stage{animation:ct-page-open 150ms ease-out!important;will-change:auto!important;transform:none!important;filter:none!important}
@keyframes ct-page-open{from{opacity:.72}to{opacity:1}}
button,[role="button"]{touch-action:manipulation;transition-property:background-color,color,border-color,box-shadow!important;transition-duration:100ms!important}
@media(prefers-reduced-motion:reduce){.oscar-page-stage{animation:none!important}button,[role="button"]{transition:none!important}}

/* Stable totals: fixed columns, no width redistribution while numbers change. */
.ct-sale-totals{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.ct-sale-totals>div{min-width:0;min-height:52px}
.ct-sale-totals strong{display:block;white-space:nowrap;font-variant-numeric:tabular-nums;animation:none!important;transition:none!important;line-height:1.35}
.ct-sale-totals>.paid{text-align:center}.ct-sale-totals>.debt{text-align:left}

/* Alternating record rows on every viewport. Preserve selected-row cues. */
tbody>tr:nth-child(odd):not([aria-selected="true"]){background-color:#fff!important}
tbody>tr:nth-child(even):not([aria-selected="true"]){background-color:rgba(124,58,237,.055)!important}
tbody>tr>td{background-color:transparent}
.ct-cart-row:nth-child(even):not(.ct-row-selected){background:rgba(124,58,237,.055)!important}
.ct-cart-row:nth-child(odd):not(.ct-row-selected){background:#fff!important}
.dark tbody>tr:nth-child(odd){background-color:#0f172a!important}.dark tbody>tr:nth-child(even){background-color:#201934!important}
.ct-statement-modal{max-width:1100px!important}.ct-statement-scroll{flex:1;min-height:0;overflow:auto}
.ct-statement-table{width:100%;min-width:740px;border-collapse:collapse;font-size:12px}
.ct-statement-table th{background:#7c3aed;color:white;padding:10px;position:sticky;top:0}
.ct-statement-table td{padding:10px;border:1px solid #e6def1;vertical-align:top;font-variant-numeric:tabular-nums}
.ct-statement-description{white-space:pre-wrap;min-width:270px;line-height:1.9}

.ct-restaurant-switch{direction:ltr;flex-shrink:0;margin-right:auto;width:48px;height:28px;padding:3px;border:0;border-radius:20px;background:#cbd5e1;display:flex;align-items:center}
.ct-restaurant-switch span{width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002;transform:translateX(0);transition:transform .15s}
.ct-restaurant-switch[aria-checked=true]{background:#7c3aed}.ct-restaurant-switch[aria-checked=true] span{transform:translateX(20px)}
.ct-restaurant-switch:disabled{opacity:.55}#settings-section-nav{position:static!important}
.ct-income-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#reports-screen>div:first-child{background:linear-gradient(130deg,#f5f0ff,#fff);border:1px solid #e7ddfa;padding:20px;border-radius:20px}
#reports-screen .ct-report-metric{min-width:0;border-radius:16px;box-shadow:0 3px 14px #41226c08}
#reports-screen section{background:#fff;border-color:#e8e1f0}#reports-screen .ct-report-metric>div:nth-child(2){font-family:Cairo,Tahoma,sans-serif;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.ct-mobile-sales{display:none}
@media(max-width:767px){.ct-desktop-sales{display:none!important}.ct-mobile-sales{display:block;border:1px solid #e7dff1;border-radius:14px;overflow:hidden}.ct-mobile-sale-head,.ct-mobile-sale-row{display:grid;grid-template-columns:1fr 1.4fr .8fr 1fr;gap:5px;align-items:center;width:100%;padding:12px 7px;font-size:11px;text-align:right}.ct-mobile-sale-head{background:#7c3aed;color:#fff;font-weight:800}.ct-mobile-sale-row{border:0;border-bottom:1px solid #e9e3f0;background:#fff;overflow-wrap:anywhere}.ct-mobile-sale-row:nth-child(odd){background:#f6f1ff}.ct-invoice-state{padding:3px;border-radius:6px;text-align:center;font-size:10px}.ct-invoice-state.paid{background:#e3f4ed;color:#13754e}.ct-invoice-state.debt{background:#fff1dc;color:#95570d}.ct-invoice-state.return{background:#ffe8ee;color:#a92850}.ct-income-overview{gap:8px}#reports-screen>div:first-child{padding:12px}.ct-report-metric{padding:12px!important}}
@media(min-width:1024px){.osd-root{max-width:1600px;margin:auto;padding:24px!important}.osd-kpi-grid{gap:18px!important}.osd-root .card{border:1px solid #e7e1ef;border-radius:18px;box-shadow:0 3px 16px #321a5707}.osd-kpi{padding:22px!important;min-height:160px}.osd-kpi h2{font-size:14px!important;font-weight:700!important;color:#675d78}.osd-kpi-value{font-size:32px!important;line-height:1.5;font-variant-numeric:tabular-nums}.osd-card-head h2{font-size:17px!important}.osd-table th,.osd-table td{padding:14px!important}}

#reports-screen .ct-report-metric{border-color:#e4dcf0!important}#reports-screen .ct-report-metric:focus-within{border-color:#8b5cf6!important}
.ct-loading-ring{position:relative;border:0!important;animation:none!important}.ct-loading-ring:before{content:'';position:absolute;inset:0;border:12px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:ct-spin 1.2s linear infinite}.ct-loading-ring span{font-size:64px;line-height:1}
@media(prefers-reduced-motion:reduce){.ct-loading-ring:before{animation:none}}
.ct-progress-person{position:relative;width:240px;height:240px}.ct-progress-person svg{width:100%;height:100%}.ct-progress-person>b{position:absolute;bottom:38px;left:0;right:0;font-size:23px;color:#7c3aed;font-weight:900}.ct-person-face{transform-origin:center;animation:ct-face-bob 2.8s ease-in-out infinite}.ct-person-eyes{transform-box:fill-box;transform-origin:center;animation:ct-blink 4s infinite}.ct-person-smile{transform-box:fill-box;transform-origin:center;animation:ct-smile 3s ease-in-out infinite}
@keyframes ct-face-bob{50%{transform:translateY(-3px) rotate(3deg)}}@keyframes ct-blink{0%,43%,49%,100%{transform:scaleY(1)}46%{transform:scaleY(.12)}}@keyframes ct-smile{50%{transform:scaleX(1.12)}}
.ct-filter-launch{display:inline-flex;align-items:center;gap:7px;background:#7c3aed;color:#fff;border:0;border-radius:12px;padding:11px 16px;font-weight:800}.ct-sales-filter-tools{display:flex;justify-content:flex-start;margin:8px 0}
.ct-filter-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:#11182770}.ct-filter-sheet{background:#fff;max-width:500px;width:100%;max-height:88dvh;overflow:auto;border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:20px}.ct-filter-sheet header{display:flex;align-items:center;gap:10px}.ct-filter-sheet header strong{margin-left:auto}.ct-filter-sheet button{border:0;padding:9px;border-radius:9px}.ct-filter-sheet button[type=submit]{background:#7c3aed;color:white}.ct-period-chips{display:flex;flex-wrap:wrap;gap:6px}.ct-period-chips button[aria-pressed=true]{background:#7c3aed;color:white}.ct-date-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ct-date-pair input{width:100%;min-width:0;border:1px solid #ddd;border-radius:9px;padding:9px}
.ct-sales-inline-filter{flex:1 1 calc(50% - 12px);min-width:0!important;max-width:280px}.ct-products-search-row{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:8px!important}.ct-products-search-row>div{min-width:0!important}
.ct-invoice-card{padding:16px;border:1px solid #ddd5e9;border-radius:17px;background:#faf9fc}.ct-invoice-card-top,.ct-invoice-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px}.ct-invoice-card-top>b{margin-left:auto;font-size:15px}.ct-invoice-customer{padding:16px 0;color:#646075;font-size:13px}.ct-invoice-card-bottom{border-top:1px solid #eae6ef;padding-top:12px;color:#706a7b;font-size:12px}.ct-invoice-card-bottom strong{padding:7px 12px;background:#ede5ff;color:#6d28d9;border-radius:10px;font-size:16px}.ct-mobile-sales{border:0!important;overflow:visible!important}
@media(max-width:767px){.ct-mobile-sales{display:grid!important;gap:12px}.ct-filter-overlay{align-items:flex-end;padding:0}.ct-filter-sheet{border-radius:22px 22px 0 0;max-height:90dvh;padding-bottom:calc(25px + env(safe-area-inset-bottom))}.ct-sales-inline-filter{max-width:none}.osd-kpi{border-radius:20px!important;padding:16px!important;border-color:#e8e1f1!important;background:linear-gradient(150deg,#fff,#f8f5ff)!important;box-shadow:0 5px 20px #5024810a!important}.osd-kpi-value{font-size:25px!important}.osd-icon-tile{border-radius:13px!important;background:#ede6ff!important}}
.oscar-page-stage{animation:ct-page-open 180ms ease-out!important}.osd-kpi,.ct-invoice-card,tbody>tr{animation:ct-record-enter 220ms ease-out backwards}.osd-kpi:nth-child(2),.ct-invoice-card:nth-child(2){animation-delay:30ms}.osd-kpi:nth-child(3),.ct-invoice-card:nth-child(3){animation-delay:55ms}.osd-kpi:nth-child(4),.ct-invoice-card:nth-child(4){animation-delay:75ms}@keyframes ct-record-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.oscar-page-stage,.osd-kpi,.ct-invoice-card,tbody>tr,.ct-person-face,.ct-person-eyes,.ct-person-smile{animation:none!important}}
@media(max-width:767px){.ct-sales-toolbar{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px!important}.ct-sales-toolbar>div{min-width:0!important}.ct-sales-toolbar>div:not(.ct-sales-inline-filter){grid-column:1/-1}.ct-sales-toolbar select{width:100%}}
/* App drawer and receipt readability */
.ct-app-drawer{width:310px!important;max-width:88vw!important;border-radius:24px 0 0 24px;animation:ct-drawer-in .25s cubic-bezier(.2,.8,.2,1);background:#faf9ff!important}
.ct-drawer-backdrop{animation:ct-drawer-dim .2s ease-out}
.ct-drawer-brand>div{padding:24px 16px!important;background:linear-gradient(135deg,#f5f0ff,#fff)!important}
.ct-drawer-close{position:absolute;inset-inline-end:10px;top:9px;width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#7c3aed;background:#ede9fe}
.ct-drawer-nav{flex:1;min-height:0;overflow-y:auto;padding:6px 12px 14px;overscroll-behavior:contain!important}
.ct-drawer-nav section h3{font-size:10px;font-weight:800;color:#9b91ac;padding:15px 12px 6px}
.ct-drawer-item{width:100%;display:flex;align-items:center;gap:10px;padding:8px 10px;margin:2px 0;border-radius:14px;color:#514764;text-align:start;font-size:12px;font-weight:700;transition:background .15s,transform .15s}
.ct-drawer-item:active{transform:scale(.98)}.ct-drawer-item.is-active{background:#7c3aed;color:white;box-shadow:0 5px 14px #7c3aed26}
.ct-drawer-icon{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#eee8fa;color:#7c3aed;border-radius:11px}.is-active .ct-drawer-icon{background:#ffffff24;color:white}.ct-drawer-label{flex:1}.ct-drawer-item b{font-size:10px;padding:2px 7px;border-radius:8px;background:#ffffff30}
.ct-drawer-logout{display:flex;align-items:center;gap:10px;padding:16px 22px;padding-bottom:max(16px,env(safe-area-inset-bottom));color:#dc2626;font-size:12px;font-weight:800;border-top:1px solid #eee8fa;background:white;flex-shrink:0}
@keyframes ct-drawer-in{from{transform:translateX(100%);opacity:.5}to{transform:translateX(0);opacity:1}}@keyframes ct-drawer-dim{from{opacity:0}to{opacity:1}}
.ct-startup-offline .ct-progress-person svg>circle:nth-child(2){transform-origin:100px 100px;animation:ct-spin .45s linear infinite;stroke-dasharray:28 100}
.invoice-detail-actions{order:-1;flex-shrink:0;border-top:0!important;border-bottom:1px solid #ede9fe}
.invoice-detail-actions>div{flex-wrap:wrap;gap:5px!important}.invoice-detail-actions button{min-height:34px;padding:5px 9px!important}
.receipt-items-table thead th{background:white!important;color:#111!important;font-size:11px!important;border-bottom:1px solid #777!important;white-space:normal!important}
.receipt-paper .receipt-cell{font-size:11px!important;line-height:1.65!important;padding:5px 2px!important;overflow-wrap:anywhere}
.receipt-paper .receipt-brand-logo{height:98px!important;max-width:210px!important}.receipt-paper-58 .receipt-brand-logo{height:75px!important;max-width:155px!important}
.receipt-paper .receipt-store-name{font-size:23px!important}.receipt-paper .receipt-meta,.receipt-paper .receipt-total-row{font-size:12px!important}.receipt-paper-58 .receipt-cell,.receipt-paper-58 .receipt-items-table thead th{font-size:9px!important}
.receipt-paper .receipt-col-index{width:6%!important}.receipt-paper .receipt-col-product{width:29%!important}.receipt-paper .receipt-col-unit{width:14%!important}.receipt-paper .receipt-col-qty{width:12%!important}.receipt-paper .receipt-col-price{width:18%!important}.receipt-paper .receipt-col-total{width:21%!important}
.receipt-paper .receipt-system-mark{text-align:left!important;font-size:9px!important;font-weight:700;color:#333!important;margin-top:12px}
@media(prefers-reduced-motion:reduce){.ct-app-drawer,.ct-drawer-backdrop,.ct-startup-offline .ct-progress-person svg>circle:nth-child(2){animation:none!important}}
.ct-pull-indicator{position:absolute;top:0;left:50%;z-index:30;width:40px;height:40px;border-radius:50%;background:white;box-shadow:0 3px 14px #6d28d92a;display:grid;place-items:center;color:#7c3aed;pointer-events:none;transition:opacity .18s}.ct-pull-indicator.is-refreshing svg{animation:ct-spin .6s linear infinite}
main{overscroll-behavior-y:contain!important}.ct-financial-close-dialog{background:white;border-radius:22px;padding:22px;max-width:650px;width:100%;display:grid;gap:16px;max-height:90dvh;overflow:auto}.ct-financial-close-dialog h3{font-size:18px;font-weight:800}.ct-financial-close-dialog>label{display:grid;gap:8px}.ct-financial-close-dialog input{border:1px solid #ddd6fe;border-radius:12px;padding:10px}.ct-financial-close-button,.ct-archive-download{display:inline-flex;align-items:center;gap:8px;background:#7c3aed;color:white;padding:10px 16px;border-radius:12px;font-size:12px;font-weight:700}.ct-archive-download{margin-top:8px;background:#ede9fe;color:#6d28d9}.ct-mobile-return-toggle{display:flex;align-items:center;justify-content:center;gap:5px;padding:8px;border:1px solid #fecdd3;border-radius:12px;color:#e11d48;font-size:12px}.ct-mobile-return-toggle[aria-pressed=true]{background:#ffe4e6}
.oscar-product-card{animation:ct-product-enter .23s ease-out backwards}@keyframes ct-product-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.oscar-product-card{animation:none!important}.oscar-page-stage{transition:none!important}}
.ct-language-backdrop{position:fixed;inset:0;z-index:110000;background:#17102226}.ct-language-panel{position:fixed;width:220px;padding:8px;background:white;color:#302342;border:1px solid #eee6f7;border-radius:17px;box-shadow:0 16px 48px #26124430;animation:ct-drawer-dim .16s ease-out}.ct-language-panel>button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px 12px;border-radius:10px;text-align:start;font-size:14px}.ct-language-panel>button[aria-pressed=true]{background:#ede9fe;color:#6d28d9;font-weight:800}.ct-language-heading{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px}.ct-auth-language{position:absolute;top:16px;inset-inline-end:16px}.ct-auth-language .ct-language-button{color:#7c3aed;background:#ede9fe}
html[dir=ltr] body,html[dir=ltr] [dir=rtl],html[dir=ltr] #ct-pos-workspace,html[dir=ltr] .ct-payment-dialog{direction:ltr!important}
html[dir=ltr] .text-right,html[dir=ltr] input:not([type=number]),html[dir=ltr] textarea,html[dir=ltr] .auth2-view{text-align:left!important}
html[dir=ltr] .text-left{text-align:right!important}
html[dir=ltr] .ct-item-fields label>span,html[dir=ltr] .ct-compact-field>span,html[dir=ltr] .ct-inline-label>span,html[dir=ltr] .ct-top-item-tools label>span,html[dir=ltr] .ct-outlined-field>span,html[dir=ltr] .ct-modal-layer .ct-product-name-field>label{left:9px!important;right:auto!important}
html[dir=ltr] .ct-dropdown-label{left:10px!important;right:auto!important}
html[dir=ltr] #ct-mobile-sidebar-overlay>.mobile-sidebar-panel{left:0!important;right:auto!important;border-radius:0 24px 24px 0;animation-name:ct-drawer-in-ltr}
html[dir=ltr] .ct-drawer-chevron,html[dir=ltr] button[aria-label=Back] svg{transform:rotate(180deg)}
@keyframes ct-drawer-in-ltr{from{transform:translateX(-100%);opacity:.5}to{transform:translateX(0);opacity:1}}
/* Printed rows must never inherit the record-entry fade animation. */
.receipt-paper tbody tr,.receipt-paper td{animation:none!important;opacity:1!important;transform:none!important;color:#111!important}
.ct-more-products{display:block;margin:14px auto;padding:10px 24px;border:1px solid #ddd6fe;border-radius:12px;color:#6d28d9;background:#f5f0ff;font-weight:700;font-size:12px}
@media print{tbody tr,.oscar-page-stage{animation:none!important;opacity:1!important;transform:none!important}}

/* v7.9.4.137: clearer desktop data tables and full-width workspace. */
@media (min-width:1024px){
  #sales-screen,#purchases-screen,#products-screen,#inventory-screen,#customers-screen,#suppliers-screen,#accounts-screen,#expenses-screen,#reports-screen,#barcodes-screen,#trash-screen,#employees-view-container,#vouchers-view-container{
    width:100%!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:28px!important;
    padding-right:28px!important;
  }
  #sales-screen table,#purchases-screen table,#products-screen table,#inventory-screen table,#customers-screen table,#suppliers-screen table,#accounts-screen table,#expenses-screen table,#reports-screen table,#barcodes-screen table,#trash-screen table,#employees-view-container table,#vouchers-view-container table{
    width:100%!important;
    font-size:14px!important;
    line-height:1.55!important;
  }
  #sales-screen table th,#purchases-screen table th,#products-screen table th,#inventory-screen table th,#customers-screen table th,#suppliers-screen table th,#accounts-screen table th,#expenses-screen table th,#reports-screen table th,#barcodes-screen table th,#trash-screen table th,#employees-view-container table th,#vouchers-view-container table th{
    padding:13px 15px!important;
    font-size:13px!important;
    font-weight:800!important;
    letter-spacing:0!important;
  }
  #sales-screen table td,#purchases-screen table td,#products-screen table td,#inventory-screen table td,#customers-screen table td,#suppliers-screen table td,#accounts-screen table td,#expenses-screen table td,#reports-screen table td,#barcodes-screen table td,#trash-screen table td,#employees-view-container table td,#vouchers-view-container table td{
    padding:13px 15px!important;
    font-size:14px!important;
    vertical-align:middle!important;
  }
}
@media (min-width:1440px){
  #sales-screen,#purchases-screen,#products-screen,#inventory-screen,#customers-screen,#suppliers-screen,#accounts-screen,#expenses-screen,#reports-screen,#barcodes-screen,#trash-screen,#employees-view-container,#vouchers-view-container{
    padding-left:34px!important;
    padding-right:34px!important;
  }
}
/* Expense dialogs are portaled to body so page labels can never paint over them. */
.expense-entry-overlay,.expense-types-overlay{
  position:fixed!important;
  inset:0!important;
  isolation:isolate!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  background:rgba(15,23,42,.68)!important;
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
}
.expense-entry-modal,.expense-types-modal-panel{
  position:relative!important;
  z-index:1!important;
  background:#fff!important;
  opacity:1!important;
  isolation:isolate!important;
}


/* ===== Cash Top 3 v7.9.4.138 receipt print polish ===== */
.receipt-paper{font-family:Tahoma,Arial,system-ui,-apple-system,sans-serif!important;padding:8px 7px 10px!important;line-height:1.32!important}
.receipt-paper-80{width:80mm!important;max-width:80mm!important;font-size:11.3px!important}
.receipt-paper-58{width:58mm!important;max-width:58mm!important;font-size:9.7px!important;padding:6px 5px 8px!important}
.receipt-paper-a4{width:210mm!important;max-width:210mm!important;font-size:13.5px!important;padding:14mm 10mm!important}
.receipt-brand-header{padding:0 0 6px!important;margin:0!important;border-bottom:1px solid #444!important}
.receipt-brand-logo{display:block!important;height:86px!important;max-width:220px!important;width:auto!important;object-fit:contain!important;margin:0 auto 4px!important;image-rendering:auto!important}
.receipt-paper-58 .receipt-brand-logo{height:66px!important;max-width:152px!important}
.receipt-paper-a4 .receipt-brand-logo{height:102px!important;max-width:240px!important}
.receipt-store-name{font-size:24px!important;line-height:1.15!important;font-weight:900!important;margin:0!important;color:#111!important}
.receipt-paper-58 .receipt-store-name{font-size:20px!important}
.receipt-store-info-grid{margin-top:4px!important;gap:2px 10px!important}
.receipt-store-info{font-size:11px!important;line-height:1.35!important;color:#333!important}
.receipt-meta{padding:6px 0!important;border-bottom:1px solid #444!important;font-size:12.5px!important;color:#111!important}
.receipt-meta-row{margin:2px 0!important;gap:6px!important}
.receipt-meta-row>span:last-child{font-weight:700!important}
.receipt-items-wrap{padding:5px 0 2px!important;border-bottom:0!important}
.receipt-items-table{width:100%!important;table-layout:fixed!important;border-collapse:collapse!important;font-size:12px!important}
.receipt-paper-58 .receipt-items-table{font-size:9.4px!important}
.receipt-items-table thead th{background:#fff!important;color:#111!important;font-size:12px!important;font-weight:900!important;padding:4px 1px 5px!important;border-bottom:1.5px solid #222!important;white-space:normal!important;line-height:1.2!important}
.receipt-paper-58 .receipt-items-table thead th{font-size:9.1px!important}
.receipt-paper .receipt-cell{font-size:12px!important;line-height:1.45!important;padding:6px 1px!important;color:#111!important;border-bottom:1px solid #d4d4d8!important;vertical-align:middle!important}
.receipt-paper-58 .receipt-cell{font-size:9.2px!important;padding:5px 1px!important}
.receipt-item-row:last-child .receipt-cell{border-bottom:0!important}
.receipt-index-cell,.receipt-unit-cell,.receipt-number-cell,.receipt-total-cell{text-align:center!important}
.receipt-product-cell{text-align:right!important;font-weight:800!important;padding-right:2px!important}
.receipt-col-index{width:7%!important}.receipt-col-product{width:31%!important}.receipt-col-unit{width:14%!important}.receipt-col-qty{width:12%!important}.receipt-col-price{width:17%!important}.receipt-col-total{width:19%!important}
.receipt-paper-58 .receipt-col-index{width:8%!important}.receipt-paper-58 .receipt-col-product{width:29%!important}.receipt-paper-58 .receipt-col-unit{width:15%!important}.receipt-paper-58 .receipt-col-qty{width:12%!important}.receipt-paper-58 .receipt-col-price{width:17%!important}.receipt-paper-58 .receipt-col-total{width:19%!important}
.receipt-summary-divider{height:0;border-top:2px dotted #333;margin:5px 0 4px!important}
.receipt-totals{padding:2px 0 6px!important;border-bottom:1px solid #444!important;font-size:12.5px!important}
.receipt-total-row{display:flex!important;align-items:center!important;gap:6px!important;margin:2px 0!important;padding:1px 0!important;color:#111!important}
.receipt-total-label{font-weight:800!important;white-space:nowrap!important}
.receipt-total-dots{flex:1 1 auto!important;height:0!important;border-bottom:1px dotted #444!important;min-width:14px!important;transform:translateY(1px)}
.receipt-total-value{min-width:124px!important;text-align:left!important;direction:ltr!important;font-family:Tahoma,Arial,system-ui,-apple-system,sans-serif!important;font-weight:800!important;font-size:1em!important;white-space:nowrap!important}
.receipt-paper-58 .receipt-total-value{min-width:94px!important}
.receipt-total-subtotal .receipt-total-label,.receipt-total-subtotal .receipt-total-value,.receipt-total-grand .receipt-total-label,.receipt-total-grand .receipt-total-value{font-size:1.12em!important;font-weight:900!important}
.receipt-total-grand{padding-top:5px!important;margin-top:4px!important;border-top:1px solid #222!important}
.receipt-total-paid .receipt-total-label,.receipt-total-paid .receipt-total-value,.receipt-total-debt .receipt-total-label,.receipt-total-debt .receipt-total-value{font-size:1.02em!important}
.receipt-total-debt .receipt-total-label,.receipt-total-debt .receipt-total-value{color:#b91c1c!important;font-weight:900!important}
.receipt-total-change .receipt-total-label,.receipt-total-change .receipt-total-value{color:#6d28d9!important;font-weight:900!important}
.receipt-footer{padding-top:7px!important;text-align:center!important;font-size:11px!important;color:#111!important}
.receipt-barcode{margin-top:2px!important}
.receipt-barcode svg{max-width:100%!important;height:auto!important}
.receipt-footer p{margin:4px 0 0!important;font-size:11px!important;font-weight:700!important;color:#333!important}
.receipt-system-mark{text-align:left!important;font-size:9.3px!important;font-weight:700!important;color:#333!important;margin-top:8px!important}
@media print{body.receipt-print-mode #printable-receipt{padding:2mm 1.8mm 2.5mm!important}body.receipt-print-mode[data-receipt-paper="80mm"] #printable-receipt{width:80mm!important;max-width:80mm!important}body.receipt-print-mode[data-receipt-paper="58mm"] #printable-receipt{width:58mm!important;max-width:58mm!important;padding:1.5mm!important}body.receipt-print-mode[data-receipt-paper="a4"] #printable-receipt{width:196mm!important;max-width:196mm!important;padding:0!important}}


/* ===== Cash Top 3 v7.9.4.139 ledger + fast black receipt ===== */
.receipt-paper,.receipt-paper *{color:#000!important;text-shadow:none!important}
.receipt-paper .font-mono,.receipt-paper .receipt-number-cell,.receipt-paper .receipt-total-value,.receipt-paper .receipt-payment-value{font-family:Tahoma,Arial,system-ui,-apple-system,sans-serif!important}
.receipt-summary-divider{border-top:2px solid #000!important;margin:5px 0 5px!important}
.receipt-adjustments{padding:1px 0 4px!important;border-bottom:1px solid #000!important}
.receipt-adjustments .receipt-total-row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;margin:1px 0!important;padding:1px 0!important}
.receipt-adjustments .receipt-total-label,.receipt-adjustments .receipt-total-value{font-size:11px!important;font-weight:800!important;color:#000!important}
.receipt-payment-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;grid-template-areas:'left right'!important;gap:5px 12px!important;direction:ltr!important;padding:5px 0 6px!important;border-bottom:1px solid #000!important}
.receipt-payment-column{display:grid!important;gap:4px!important;min-width:0!important;direction:rtl!important}.receipt-payment-right{grid-area:right!important}.receipt-payment-left{grid-area:left!important}
.receipt-payment-cell{display:flex!important;align-items:baseline!important;gap:5px!important;white-space:nowrap!important;font-size:12px!important;line-height:1.4!important}
.receipt-payment-right .receipt-payment-cell{justify-content:flex-start!important;text-align:right!important;direction:rtl!important}
.receipt-payment-left .receipt-payment-cell{justify-content:flex-end!important;text-align:left!important;direction:rtl!important}
.receipt-payment-label{font-weight:900!important;color:#000!important}
.receipt-payment-value{font-weight:900!important;color:#000!important;direction:ltr!important}
.receipt-payment-strong .receipt-payment-label,.receipt-payment-strong .receipt-payment-value{font-size:13.2px!important;font-weight:900!important}
.receipt-payment-debt .receipt-payment-label,.receipt-payment-debt .receipt-payment-value{color:#000!important}
.receipt-paper-58 .receipt-payment-grid{gap:4px 7px!important}
.receipt-paper-58 .receipt-payment-cell{font-size:9.6px!important;gap:3px!important}
.receipt-paper-58 .receipt-payment-strong .receipt-payment-label,.receipt-paper-58 .receipt-payment-strong .receipt-payment-value{font-size:10.4px!important}
.receipt-total-dots{display:none!important}
.receipt-brand-header,.receipt-meta,.receipt-items-table thead th,.receipt-cell,.receipt-footer,.receipt-system-mark{border-color:#000!important;color:#000!important}
.receipt-footer p,.receipt-store-info,.receipt-meta-row,.receipt-product-cell,.receipt-unit-cell,.receipt-number-cell{color:#000!important}
.receipt-paper .receipt-brand-logo{filter:grayscale(1) contrast(2.2)!important}


/* ===== v7.9.4.140 customer portal QR ===== */
.receipt-customer-qr{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;margin:5px auto 2px!important;color:#000!important}
.receipt-customer-qr img{display:block!important;width:116px!important;height:116px!important;max-width:42mm!important;object-fit:contain!important;background:#fff!important;filter:grayscale(1) contrast(2)!important}
.receipt-customer-qr strong{font-family:Tahoma,Arial,system-ui,sans-serif!important;font-size:10.5px!important;font-weight:900!important;color:#000!important}
.receipt-paper-58 .receipt-customer-qr img{width:92px!important;height:92px!important}.receipt-paper-58 .receipt-customer-qr strong{font-size:8.8px!important}
@media print{.receipt-paper,.receipt-paper *{color:#000!important;text-shadow:none!important}.receipt-customer-qr img{filter:grayscale(1) contrast(2)!important}}

/* ===== Cash Top 3 v7.9.4.141 price groups ===== */
.ct-header-price-group{width:150px;min-width:112px;padding-top:7px}
.ct-header-price-group>div>button{min-height:32px!important;height:32px!important;font-size:11px!important}
.ct-header-price-group .ct-dropdown-label{background:#6d28d9!important;color:#ede9fe!important;border-radius:4px}
#main-header .ct-header-price-group button{background:#6d28d9!important;color:#fff!important;border-color:#a78bfa!important}
#main-header .ct-header-price-group button span,#main-header .ct-header-price-group button svg{color:#fff!important}
.ct-pos-price-group-mobile{width:132px;min-width:108px}
.ct-pos-price-group-mobile .searchable-dropdown-root{padding-top:7px!important}
.ct-pos-price-group-mobile .searchable-dropdown-root>button{min-height:34px!important;height:34px!important;padding:5px 8px!important;font-size:10px!important}
.ct-pos-price-group-mobile .ct-dropdown-label{font-size:9px!important}
@media(max-width:1023px){.ct-header-price-group{display:none!important}}
@media(max-width:480px){.ct-pos-price-group-mobile{width:110px;min-width:96px}.ct-pos-price-group-mobile .searchable-dropdown-root>button{padding-inline:6px!important}}
.price-groups-shell{max-width:1152px;margin-inline:auto}
.price-groups-unit-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 100px;align-items:center;gap:8px}
.price-groups-products-scroll{max-height:540px}
@media(max-width:640px){.price-groups-unit-row{grid-template-columns:minmax(0,1fr) 78px 82px;gap:6px}.price-groups-products-scroll{max-height:440px}}

/* ===== Cash Top 3 v7.9.4.143 sidebar / price groups / employee permissions ===== */
/* Mobile drawer: square outer edges and narrower width, while keeping text readable. */
.ct-app-drawer{
  width:236px!important;
  max-width:74vw!important;
  border-radius:0!important;
  background:#faf9ff!important;
}
html[dir=ltr] #ct-mobile-sidebar-overlay>.mobile-sidebar-panel{
  border-radius:0!important;
}
.ct-drawer-brand>div{padding:14px 12px!important}
.ct-drawer-nav{padding:4px 8px 10px!important}
.ct-drawer-nav section h3{padding:11px 9px 4px!important;font-size:9px!important}
.ct-drawer-item{gap:8px!important;padding:6px 8px!important;font-size:11px!important}
.ct-drawer-icon{width:30px!important;height:30px!important;border-radius:9px!important}
.ct-drawer-icon svg{width:18px!important;height:18px!important}
.ct-drawer-close{border-radius:8px!important}
.ct-drawer-logout{padding:12px 14px!important;font-size:11px!important}

/* Employee permission rows: never overlap or collapse on narrow phones. */
.employee-permission-grid{align-items:stretch!important}
.employee-permission-row{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr)!important;
  align-items:start!important;
  column-gap:8px!important;
  min-height:42px!important;
  height:auto!important;
  padding:9px 10px!important;
  overflow:visible!important;
  white-space:normal!important;
}
.employee-permission-row>svg{display:none!important}
.employee-permission-check{
  width:18px!important;
  height:18px!important;
  min-width:18px!important;
  margin:1px 0 0!important;
  position:static!important;
}
.employee-permission-text{
  display:block!important;
  min-width:0!important;
  width:auto!important;
  line-height:1.65!important;
  font-size:11px!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  position:static!important;
}
@media(max-width:639px){
  .employee-permission-grid{grid-template-columns:1fr!important;gap:7px!important}
  .employee-permission-row{min-height:44px!important;padding:9px!important}
  .oscar-employee-modal-panel section{overflow:visible!important}
}

/* Price-group editor: customers and unit prices live in separate modal windows. */
.price-group-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.price-group-card-actions>button{min-height:32px;padding:6px 9px;border:1px solid #e5e7eb;border-radius:9px;background:#f8fafc;color:#475569;font-size:10px;font-weight:800}
.price-group-card-actions>button:first-child{background:#ede9fe;color:#6d28d9;border-color:#ddd6fe;flex:1 1 105px}
.price-group-card-actions>button:nth-child(2),.price-group-card-actions>button:nth-child(3){background:#fff;color:#6d28d9;border-color:#ddd6fe}
.price-group-card-actions>button:last-child{color:#e11d48;background:#fff1f2;border-color:#ffe4e6;padding-inline:8px}
.price-group-editor-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.price-group-editor-shortcuts>button{display:flex;align-items:center;gap:10px;text-align:right;border:1px solid #ddd6fe;background:#faf8ff;border-radius:13px;padding:12px;color:#6d28d9}
.price-group-editor-shortcuts>button>span{display:flex;flex-direction:column;min-width:0}
.price-group-editor-shortcuts b{font-size:12px}.price-group-editor-shortcuts small{font-size:9px;color:#7c718b;margin-top:2px}
.price-group-modal-overlay{position:fixed;inset:0;z-index:2147483000;background:rgba(15,23,42,.58);display:flex;align-items:center;justify-content:center;padding:10px;direction:rtl}
.price-group-modal-panel{width:min(920px,calc(100vw - 20px));max-height:calc(100dvh - 20px);display:flex;flex-direction:column;min-height:0;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.28);overflow:hidden}
.price-group-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border-bottom:1px solid #ede9fe;background:#faf8ff;flex-shrink:0}
.price-group-modal-head h3{margin:0;font-size:15px;font-weight:900;color:#1e293b}.price-group-modal-head p{margin:3px 0 0;font-size:10px;color:#64748b;line-height:1.5}
.price-group-modal-head>button{width:34px;height:34px;border:1px solid #ddd6fe;border-radius:10px;background:#fff;color:#6d28d9;display:grid;place-items:center;flex-shrink:0}
.price-group-modal-body{padding:13px;overflow-y:auto;min-height:0;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.price-group-modal-foot{padding:10px 13px;border-top:1px solid #e2e8f0;background:#fff;display:flex;justify-content:flex-end;gap:8px;flex-shrink:0}
.price-group-modal-foot button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:7px 14px;border-radius:10px;font-size:11px;font-weight:900}
.price-group-modal-cancel{background:#f1f5f9;color:#64748b}.price-group-modal-save{background:#7c3aed;color:#fff}.price-group-modal-save:disabled{opacity:.55}
.price-group-modal-search{position:relative;display:flex;align-items:center;min-width:0}
.price-group-modal-search>svg{position:absolute;right:11px;color:#94a3b8;pointer-events:none}
.price-group-modal-search>input{width:100%;height:42px;border:1px solid #d8dee8;border-radius:11px;padding:8px 38px 8px 10px;font-size:12px;outline:none;background:#fff;color:#111827}
.price-group-modal-search>input:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(124,58,237,.08)}
.price-group-customer-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:11px}
.price-group-select-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;align-items:center;text-align:right;border:1px solid #e2e8f0;border-radius:11px;background:#fff;padding:9px;min-height:54px}
.price-group-select-row.selected{border-color:#8b5cf6;background:#f5f3ff}
.price-group-check{width:22px;height:22px;border:1px solid #cbd5e1;border-radius:7px;display:grid;place-items:center;font-size:12px;font-weight:900;color:#fff}.price-group-select-row.selected .price-group-check{background:#7c3aed;border-color:#7c3aed}
.price-group-select-copy{min-width:0;display:flex;flex-direction:column}.price-group-select-copy b{font-size:11px;color:#1e293b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-group-select-copy small{font-size:9px;color:#64748b;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price-group-modal-tools{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.price-group-modal-tool-buttons{display:flex;gap:6px;flex-wrap:wrap}.price-group-modal-tool-buttons button{height:38px;padding:0 10px;border-radius:10px;border:1px solid #ddd6fe;background:#f5f3ff;color:#6d28d9;font-size:10px;font-weight:900;display:flex;align-items:center;gap:5px;white-space:nowrap}
.price-group-product-list{display:flex;flex-direction:column;gap:8px;margin-top:11px}
.price-group-product-card{border:1px solid #e2e8f0;border-radius:12px;padding:10px;background:#fff}.price-group-product-title{font-size:12px;font-weight:900;color:#1e293b;margin-bottom:7px}
.price-group-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.price-group-unit-edit{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:4px 8px;align-items:center;background:#f8fafc;border:1px solid #edf2f7;border-radius:9px;padding:7px;min-width:0}.price-group-unit-name{font-size:10px;font-weight:900;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.price-group-unit-edit small{font-size:8px;color:#94a3b8;grid-column:1}.price-group-unit-edit input{grid-column:2;grid-row:1 / span 2;width:100%;min-width:0;border:1px solid #d8dee8;background:#fff;border-radius:8px;padding:7px 8px;text-align:left;direction:ltr;font-size:11px;font-weight:900;color:#111827}
.price-group-modal-empty{padding:26px 10px;text-align:center;color:#94a3b8;font-size:11px}.price-group-modal-note{padding:8px;color:#b45309;font-size:10px}
@media(max-width:640px){
  .price-group-modal-overlay{padding:5px;align-items:stretch}
  .price-group-modal-panel{width:100%;max-height:none;height:100%;border-radius:12px}
  .price-group-customer-list{grid-template-columns:1fr}
  .price-group-modal-tools{grid-template-columns:1fr}
  .price-group-modal-tool-buttons{width:100%}.price-group-modal-tool-buttons button{flex:1}
  .price-group-unit-grid{grid-template-columns:1fr}
  .price-group-editor-shortcuts{grid-template-columns:1fr}
}
/* Distribution: compact RTL surfaces inheriting the application header and Cairo. */
.dist-root{padding:16px;max-width:1560px;margin:auto;color:#312b42;font-family:Cairo,Arial,sans-serif;font-size:13px}.dist-context,.dist-context>div,.dist-toolbar,.dist-actions,.dist-pagination{display:flex;align-items:center;gap:10px}.dist-context{justify-content:space-between;margin-bottom:12px}.dist-context>div{color:#6d28d9}.dist-context span{font-size:11px;color:#82748e}.dist-sync{display:flex;align-items:center;gap:6px;font-size:11px;color:#6d28d9;background:#f3edff;border-radius:20px;padding:6px 12px}.dist-tabs{display:flex;gap:5px;overflow:auto;padding:6px;background:white;border:1px solid #eee7f6;border-radius:14px;margin-bottom:15px}.dist-tabs button{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:10px 12px;border-radius:10px;font-weight:700;font-size:12px;color:#73647f;white-space:nowrap}.dist-tabs button.active{color:white;background:#7c3aed;box-shadow:0 4px 10px #7c3aed25}.dist-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px;margin:12px 0}.dist-card{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #eee7f5;background:white;padding:16px;border-radius:14px;box-shadow:0 3px 12px #35145704}.dist-card span{font-size:11px;color:#8b8096}.dist-card strong{display:block;font-size:22px;font-weight:800;line-height:1.7;color:#493357}.dist-card svg{color:#9060df;background:#f4eeff;padding:8px;box-sizing:content-box;border-radius:12px}.dist-quick{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin:16px 0}.dist-quick button{padding:18px 10px;background:white;border:1px solid #eee7f5;border-radius:14px;display:flex;flex-direction:column;align-items:center;gap:10px;color:#6d28d9;font-weight:700;transition:transform .15s,background .15s}.dist-quick button:hover{background:#f3edff;transform:translateY(-2px)}.dist-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 13px;background:#7c3aed;color:white;border:1px solid #7c3aed;border-radius:10px;font-weight:700;font-size:12px;white-space:nowrap;cursor:pointer}.dist-btn:hover{filter:brightness(.96)}.dist-btn:disabled{opacity:.45;cursor:default}.dist-secondary{background:white;color:#6d28d9;border-color:#e4d6fa}.dist-toolbar{justify-content:space-between;flex-wrap:wrap;margin:14px 0}.dist-toolbar h2,.dist-panel h2{font-size:17px;font-weight:800}.dist-actions{flex-wrap:wrap}.dist-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:end;background:#faf8ff;padding:12px;border-radius:12px}.dist-filter-bar>.dist-field{flex:1;min-width:130px;max-width:290px}.dist-field{display:flex;flex-direction:column;gap:6px;min-width:0;margin-bottom:10px}.dist-field>span{font-weight:700;font-size:11px;color:#71627f}.dist-field input,.dist-number{width:100%;border:1px solid #e5dcee;padding:10px 12px;border-radius:10px;background:white;color:#352745;min-height:41px;outline:none;font-family:inherit;font-size:13px}.dist-field input:focus,.dist-number:focus{border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf612}.dist-field input:disabled{background:#f3f0f6}.dist-number{max-width:120px}.dist-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dist-table-wrap{overflow:auto;border:1px solid #eae2f3;border-radius:13px;background:white}.dist-table{width:100%;text-align:right;border-collapse:collapse;white-space:nowrap;font-size:12px}.dist-table th{background:#f1eafa;color:#786189;padding:12px;font-weight:800;border-bottom:1px solid #e6d8f5}.dist-table td{padding:11px 12px;border-bottom:1px solid #f0e9f7}.dist-table tbody tr:nth-child(even){background:#faf7ff}.dist-table tbody tr:hover{background:#f1e7ff}.dist-empty{text-align:center!important;color:#9d91aa;height:105px}.dist-badge{display:inline-block;font-size:10px;font-weight:700;padding:5px 10px;border-radius:20px;background:#f0edf4;color:#786980}.dist-approved,.dist-closed{background:#ede4ff;color:#6d28d9}.dist-pending{background:#fff2d9;color:#997022}.dist-rejected{background:#fde8ef;color:#b43465}.dist-pagination{justify-content:center;margin:16px 0}.dist-overlay{position:fixed;inset:0;background:#21162d66;backdrop-filter:blur(3px);z-index:10020;display:flex;align-items:center;justify-content:center;padding:20px}.dist-modal{width:min(860px,100%);max-height:90dvh;background:#fff;border-radius:19px;box-shadow:0 20px 80px #24113530;display:flex;flex-direction:column;font-family:Cairo,Arial,sans-serif;color:#352745;font-size:13px;animation:dist-enter .14s ease-out}.dist-modal-head{padding:16px 20px;border-bottom:1px solid #eee7f5;display:flex;align-items:center;justify-content:space-between}.dist-modal-head h2{font-weight:800;font-size:16px}.dist-modal-head>button{color:#8a7899;padding:6px;background:#f7f3fb;border-radius:9px}.dist-modal-body{padding:20px;overflow:auto;overscroll-behavior:contain}.dist-modal-body h3{font-weight:800;margin:14px 0 10px}.dist-footer{position:sticky;bottom:-20px;background:white;display:flex;justify-content:flex-end;gap:8px;padding:16px 0 5px;border-top:1px solid #f0e9f7;margin-top:20px;z-index:2;flex-wrap:wrap}.dist-check{display:flex;align-items:center;gap:8px;padding:9px;border-radius:8px;font-size:12px}.dist-check input{accent-color:#7c3aed;width:16px;height:16px}.dist-check-grid{display:grid;grid-template-columns:repeat(3,1fr);background:#faf8ff;border-radius:12px;padding:6px}.dist-customer-list{max-height:220px;overflow:auto;border:1px solid #eee7f5;border-radius:12px;display:grid;grid-template-columns:repeat(2,1fr)}.dist-item{display:grid;grid-template-columns:minmax(150px,2fr) minmax(110px,1fr) 90px auto 38px;align-items:center;gap:8px;background:#faf7ff;padding:12px;border-radius:12px;margin-bottom:9px}.dist-stock-hint{font-size:10px;color:#8d79a2}.dist-panel{padding:18px;background:white;border:1px solid #eee7f5;border-radius:14px;line-height:2}.dist-panel p{margin:10px 0;color:#7b6b89}.dist-note{background:#f5efff;border-radius:10px;padding:11px;color:#795497;font-size:12px;line-height:1.9;margin:10px 0}.dist-error{color:#ad3560;padding:12px;background:#fff0f5;border-radius:10px;line-height:1.8}.dist-reject{display:flex;align-items:center;gap:10px;margin-top:15px}.dist-reject>.dist-field{flex:1}.dist-attachment{max-width:100%;max-height:280px;object-fit:contain;margin:12px auto}.dist-modal button:focus-visible,.dist-root button:focus-visible{outline:3px solid #c4a4fa;outline-offset:2px}@keyframes dist-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}@media(max-width:760px){.dist-root{padding:10px}.dist-context span{display:none}.dist-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dist-card{padding:12px}.dist-card strong{font-size:20px}.dist-card svg{width:16px;height:16px;padding:6px}.dist-quick{grid-template-columns:repeat(3,1fr);gap:7px}.dist-quick button{font-size:11px;padding:14px 6px}.dist-form-grid{grid-template-columns:1fr}.dist-overlay{padding:10px}.dist-modal{max-height:94dvh;border-radius:15px}.dist-modal-body{padding:14px}.dist-footer{bottom:-14px}.dist-item{grid-template-columns:1fr 1fr}.dist-item>.dist-field:first-child{grid-column:1/-1}.dist-check-grid{grid-template-columns:repeat(2,1fr)}.dist-customer-list{grid-template-columns:1fr}.dist-filter-bar{gap:6px;padding:9px}.dist-filter-bar>.dist-field{max-width:unset;min-width:120px}.dist-sync{font-size:10px;padding:6px}.dist-table th,.dist-table td{padding:10px 8px}.dist-btn{min-height:38px}.dist-tabs button{font-size:11px;padding:9px 10px}}@media(prefers-reduced-motion:reduce){.dist-modal,.dist-quick button{animation:none;transition:none}}@media print{.dist-tabs,.dist-context,.dist-filter-bar,.dist-toolbar,.dist-pagination,.dist-quick{display:none}.dist-root{max-width:none}.dist-table-wrap{overflow:visible}}

/* Explicit two-column permission layout on phones and laptops. */
.oscar-employee-modal-panel .employee-permission-grid,.employee-permission-grid,.dist-check-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;width:100%!important;height:auto!important;position:static!important;align-items:stretch!important}
.oscar-employee-modal-panel .employee-permission-grid>.employee-permission-row,.employee-permission-grid>.employee-permission-row,.dist-check-grid>.dist-check{position:static!important;inset:auto!important;transform:none!important;float:none!important;width:auto!important;min-width:0!important;max-width:100%!important;height:auto!important;min-height:44px!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important;box-sizing:border-box!important}
.dist-check-grid>.dist-check{display:flex!important;align-items:flex-start!important;line-height:1.65!important}
.dist-check input{flex-shrink:0!important;position:static!important}

/* Employee editor is a body portal, above application navigation. */
body>.oscar-employee-modal-overlay{position:fixed!important;inset:0!important;z-index:200000!important;padding:12px!important;align-items:center!important;height:100dvh!important;transform:none!important}
.oscar-employee-modal-overlay>.oscar-employee-modal-panel{position:relative!important;inset:auto!important;margin:0!important;max-height:calc(100dvh - 24px)!important;height:auto!important;display:flex!important;flex-direction:column!important;min-height:0!important}
.oscar-employee-modal-panel form{min-height:0!important;overflow-y:auto!important}
.oscar-employee-modal-overlay .oscar-employee-modal-panel .oscar-mobile-form-grid>div>label,.oscar-employee-modal-overlay .oscar-employee-modal-panel .dist-field>span{position:static!important;inset:auto!important;transform:none!important;display:block!important;background:transparent!important;margin:0 0 6px!important;padding:0!important;height:auto!important;line-height:1.6!important;pointer-events:auto!important}
.oscar-employee-modal-panel .oscar-mobile-form-grid input,.oscar-employee-modal-panel .oscar-mobile-form-grid select{padding:10px!important;height:44px!important;line-height:1.5!important}
.ct-login-code{position:fixed;inset:0;z-index:300000;background:#23113c80;display:flex;align-items:center;justify-content:center;padding:18px}.ct-login-code>section{background:white;color:#352745;border-radius:18px;padding:20px;width:min(480px,100%);max-height:90dvh;overflow:auto}.ct-login-code textarea{width:100%;min-height:160px;border:1px solid #ddd0ef;border-radius:12px;padding:12px;margin:12px 0;font:13px monospace;direction:ltr}.ct-login-code button{padding:10px;border-radius:10px;margin:4px;background:#7c3aed;color:white}.ct-audit-filters{display:flex;gap:10px;flex-wrap:wrap;padding:12px;background:#faf7ff;border:1px solid #eee0fa;border-radius:12px}.ct-audit-filters label{position:static!important;transform:none!important;display:flex;flex-direction:column;gap:5px;font-size:11px;flex:1;min-width:130px}.ct-audit-filters input,.ct-audit-filters select{padding:8px;border:1px solid #ddd0ef;border-radius:8px;min-width:0;width:100%;background:white}

.oscar-employee-modal-overlay .oscar-employee-modal-panel form.ct-employee-form{display:flex!important;flex-direction:column!important;overflow:hidden!important;padding:0!important;min-height:0!important;flex:1!important}
.ct-employee-fields{overflow-y:auto;min-height:0;flex:1;padding:16px;display:flex;flex-direction:column;gap:16px}.ct-employee-footer{flex:none;position:relative;z-index:10;background:#fff!important;border-top:1px solid #eee5f5;padding:14px 16px calc(14px + env(safe-area-inset-bottom,0px));margin:0!important;isolation:isolate}
.dist-modal-body:has(>.dist-fixed-form){overflow:hidden;padding:0;display:flex;flex-direction:column;min-height:0}.dist-fixed-form{display:flex;flex-direction:column;overflow:hidden;min-height:0;flex:1}.dist-form-scroll{padding:18px;overflow-y:auto;min-height:0;flex:1}.dist-fixed-form>.dist-footer{position:relative;bottom:auto;margin:0;padding:14px 18px calc(14px + env(safe-area-inset-bottom,0px));flex-shrink:0;background:#fff;z-index:10}
.ct-employee-filter{flex:1;min-width:160px}.dist-modal{animation:none}.ct-employee-fields>section{flex-shrink:0}

.ct-login-choices{display:flex;align-items:center;justify-content:center;gap:10px}.ct-login-code-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e8dcfa;border-radius:10px;background:white;color:#7c3aed;padding:7px;flex-shrink:0}.ct-login-code-icon:hover{background:#f3edff}

/* Device-font print + accessible empty screens */
.ct-empty-state{min-height:220px;width:100%;grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:32px 16px;text-align:center;color:#7c3aed}
.ct-empty-character{display:block;width:140px;height:126px;overflow:visible;flex-shrink:0}
.ct-empty-state strong{font-size:14px;font-weight:700}.ct-empty-state small{font-size:12px;color:#64748b}


@media print{html body,html body *{font-family:system-ui,-apple-system,Arial,Tahoma,sans-serif!important;animation:none!important}.ct-empty-state{display:none!important}}

/* Unified record filters: draft form, internal date labels, responsive dialog. */
.ct-record-filter-trigger{width:40px;height:40px;flex:0 0 40px;position:relative;display:inline-flex;align-items:center;justify-content:center;border:1px solid #ddd6fe;border-radius:12px;background:#fff;color:#7c3aed;cursor:pointer;vertical-align:middle;transition:background .15s}
.ct-record-filter-trigger:hover,.ct-record-filter-trigger.is-active{background:#f5f3ff;border-color:#a78bfa}.ct-record-filter-dot{position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:#7c3aed;border:1px solid white}
.ct-record-filter-overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f172a66;backdrop-filter:blur(3px);padding:16px}
.ct-record-filter-dialog{width:min(100%,520px);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:#fff;color:#0f172a;border:1px solid #ede9fe;border-radius:22px;box-shadow:0 24px 80px #0f172a33;overflow:hidden;text-align:right;outline:none}
.ct-record-filter-dialog>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;border-bottom:1px solid #ede9fe;flex-shrink:0}.ct-record-filter-dialog>header>div{display:flex;align-items:center;gap:9px;color:#7c3aed;font-size:15px}.ct-record-filter-dialog>header>button{border:0;background:#f8fafc;color:#64748b;border-radius:10px;padding:8px}
.ct-record-filter-content{padding:20px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.ct-record-filter-fields{display:grid;gap:16px;margin-bottom:16px}.ct-record-filter-fields:last-child{margin-bottom:0}
.ct-record-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ct-record-date-field{display:flex;flex-direction:column;gap:7px;min-width:0;padding:10px 12px 9px;border:1px solid #d8dce5;border-radius:12px;background:#fff}.ct-record-date-field>span{font-size:11px;font-weight:700;color:#64748b;line-height:1.4}.ct-record-date-field>input{display:block;width:100%;min-width:0;max-width:100%;padding:0!important;border:0!important;box-shadow:none!important;outline:none!important;background:transparent!important;font:inherit;font-size:12px;min-height:28px;color:inherit;color-scheme:light}.ct-record-date-field:focus-within{border-color:#8b5cf6;box-shadow:0 0 0 3px #ede9fe}
.ct-record-periods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.ct-record-periods button{padding:9px 5px;border:1px solid #e2e8f0;background:#f8fafc;border-radius:10px;font-size:12px;font-weight:700}.ct-record-periods button[aria-pressed=true]{color:#7c3aed;border-color:#c4b5fd;background:#f5f3ff}
.ct-record-filter-dialog>footer{display:flex;align-items:center;gap:8px;padding:14px 20px;border-top:1px solid #ede9fe;flex-shrink:0;background:#faf9ff}.ct-record-filter-dialog>footer button{border-radius:11px;font:inherit;font-size:12px;font-weight:700;padding:10px 18px}.ct-record-filter-reset{margin-left:auto;background:transparent;border:0;color:#64748b;padding-right:0!important;padding-left:0!important}.ct-record-filter-cancel{background:white;border:1px solid #e2e8f0;color:#475569}.ct-record-filter-apply{background:#7c3aed;border:1px solid #7c3aed;color:#fff}.ct-record-filter-error{font-size:12px;color:#be123c;background:#fff1f2;border-radius:10px;padding:10px}
.dark .ct-record-filter-dialog,.dark .ct-record-date-field,.dark .ct-record-filter-trigger{background:#0f172a;color:#f1f5f9;border-color:#334155}.dark .ct-record-filter-dialog>footer,.dark .ct-record-periods button{background:#1e293b}.dark .ct-record-date-field>input{color-scheme:dark}.dark .ct-record-filter-dialog>header,.dark .ct-record-filter-dialog>footer{border-color:#334155}
@media(max-width:440px){.ct-record-date-grid{grid-template-columns:1fr}.ct-record-filter-content{padding:16px}.ct-record-filter-dialog>footer{padding:12px 16px}.ct-record-filter-dialog>footer button{padding:10px 14px}}

.ct-loading-ring{width:66px!important;height:66px!important;border-width:6px!important}.ct-progress-person{width:155px;height:155px}.ct-progress-person>b{bottom:23px;font-size:16px}
