/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@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-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-duration: initial;
      --tw-ease: initial;
      --tw-animation-delay: 0s;
      --tw-animation-direction: normal;
      --tw-animation-duration: initial;
      --tw-animation-fill-mode: none;
      --tw-animation-iteration-count: 1;
      --tw-enter-blur: 0;
      --tw-enter-opacity: 1;
      --tw-enter-rotate: 0;
      --tw-enter-scale: 1;
      --tw-enter-translate-x: 0;
      --tw-enter-translate-y: 0;
      --tw-exit-blur: 0;
      --tw-exit-opacity: 1;
      --tw-exit-rotate: 0;
      --tw-exit-scale: 1;
      --tw-exit-translate-x: 0;
      --tw-exit-translate-y: 0;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-500: oklch(63.7% .237 25.331);
    --color-red-600: oklch(57.7% .245 27.325);
    --color-green-500: oklch(72.3% .219 149.579);
    --color-green-600: oklch(62.7% .194 149.214);
    --color-green-700: oklch(52.7% .154 150.069);
    --color-blue-500: oklch(62.3% .214 259.815);
    --color-blue-600: oklch(54.6% .245 262.881);
    --color-blue-800: oklch(42.4% .199 265.638);
    --color-gray-400: oklch(70.7% .022 261.325);
    --color-gray-600: oklch(44.6% .03 256.802);
    --color-neutral-50: oklch(98.5% 0 0);
    --color-neutral-100: oklch(97% 0 0);
    --color-neutral-200: oklch(92.2% 0 0);
    --color-neutral-300: oklch(87% 0 0);
    --color-neutral-400: oklch(70.8% 0 0);
    --color-neutral-500: oklch(55.6% 0 0);
    --color-neutral-600: oklch(43.9% 0 0);
    --color-neutral-700: oklch(37.1% 0 0);
    --color-neutral-800: oklch(26.9% 0 0);
    --color-neutral-900: oklch(20.5% 0 0);
    --color-white: #fff;
    --spacing: .25rem;
    --container-md: 28rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --font-weight-light: 300;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --tracking-widest: .1em;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --animate-spin: spin 1s linear infinite;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

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

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

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

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

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

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

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

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

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

  ::placeholder {
    opacity: 1;
  }

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

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  :root {
    --color-brand-indigo-50: #f0ecff;
    --color-brand-indigo-100: #ddd6fe;
    --color-brand-indigo-200: #b8a9fc;
    --color-brand-indigo-300: #8b73f7;
    --color-brand-indigo-400: #5c3fe0;
    --color-brand-indigo-500: #0f0069;
    --color-brand-indigo-600: #0c0054;
    --color-brand-indigo-700: #090040;
    --color-brand-indigo-800: #06002b;
    --color-brand-indigo-900: #030016;
    --color-primary: var(--color-brand-indigo-500);
    --color-primary-light: var(--color-brand-indigo-50);
    --color-primary-dark: var(--color-brand-indigo-600);
    --color-primary-hover: var(--color-brand-indigo-400);
    --color-brand-yellow-50: #fefee8;
    --color-brand-yellow-100: #fefccc;
    --color-brand-yellow-200: #fdfa99;
    --color-brand-yellow-300: #fbf87a;
    --color-brand-yellow-400: #fbe840;
    --color-brand-yellow-500: #e0e058;
    --color-brand-yellow-600: #c7c74e;
    --color-brand-yellow-700: #a5a541;
    --color-brand-yellow-800: #838334;
    --color-brand-yellow-900: #616127;
    --color-secondary: var(--color-brand-yellow-400);
    --color-secondary-light: var(--color-brand-yellow-100);
    --color-secondary-dark: var(--color-brand-yellow-600);
    --color-brand-green-100: #ecfdf5;
    --color-brand-green-200: #d1fae5;
    --color-brand-green-300: #6ee7b7;
    --color-brand-green-500: #0e503f;
    --color-brand-plum-100: #f3e8ff;
    --color-brand-plum-200: #e9d5ff;
    --color-brand-plum-300: #c084fc;
    --color-brand-plum-500: #7c3aed;
    --color-text: #1a1a2e;
    --color-text-light: #4a4a68;
    --color-text-muted: #8888a4;
    --color-neutral-0: #fff;
    --color-neutral-50: #f8f9fc;
    --color-neutral-100: #f1f3f8;
    --color-neutral-200: #e4e7ef;
    --color-neutral-300: #c8cdd9;
    --color-neutral-400: #8e95a9;
    --color-neutral-500: #1a1a2e;
    --color-neutral-600: #141425;
    --color-neutral-700: #0f0f1c;
    --color-neutral-800: #0a0a14;
    --color-neutral-900: #05050a;
    --color-white: var(--color-neutral-0);
    --color-black: var(--color-neutral-900);
    --color-gray-50: var(--color-neutral-50);
    --color-gray-100: var(--color-neutral-100);
    --color-gray-200: var(--color-neutral-200);
    --color-gray-300: var(--color-neutral-300);
    --color-gray-400: var(--color-neutral-400);
    --color-gray-500: var(--color-neutral-500);
    --color-gray-600: var(--color-neutral-600);
    --color-gray-700: var(--color-neutral-700);
    --color-gray-800: var(--color-neutral-800);
    --color-gray-900: var(--color-neutral-900);
    --color-success-100: #ecfdf5;
    --color-success-200: #d1fae5;
    --color-success-300: #a7f3d0;
    --color-success-400: #6ee7b7;
    --color-success-500: #10b981;
    --color-success-600: #059669;
    --color-success-700: #047857;
    --color-success-800: #065f46;
    --color-success-900: #064e3b;
    --color-success: var(--color-success-500);
    --color-success-light: var(--color-success-100);
    --color-success-dark: var(--color-success-600);
    --color-error-100: #fef2f2;
    --color-error-200: #fecaca;
    --color-error-300: #fca5a5;
    --color-error-400: #f87171;
    --color-error-500: #ef4444;
    --color-error-600: #dc2626;
    --color-error-700: #b91c1c;
    --color-error-800: #991b1b;
    --color-error-900: #7f1d1d;
    --color-error: var(--color-error-500);
    --color-error-light: var(--color-error-100);
    --color-error-dark: var(--color-error-600);
    --color-warning-100: #fffbeb;
    --color-warning-200: #fef3c7;
    --color-warning-300: #fde68a;
    --color-warning-400: #fbbf24;
    --color-warning-500: #f59e0b;
    --color-warning-600: #d97706;
    --color-warning-700: #b45309;
    --color-warning-800: #92400e;
    --color-warning-900: #78350f;
    --color-warning: var(--color-warning-500);
    --color-warning-light: var(--color-warning-100);
    --color-warning-dark: var(--color-warning-600);
    --color-info-100: #eff6ff;
    --color-info-200: #dbeafe;
    --color-info-300: #93c5fd;
    --color-info-400: #60a5fa;
    --color-info-500: #3b82f6;
    --color-info-600: #2563eb;
    --color-info-700: #1d4ed8;
    --color-info-800: #1e40af;
    --color-info-900: #1e3a8a;
    --color-info: var(--color-info-500);
    --color-info-light: var(--color-info-100);
    --color-info-dark: var(--color-info-600);
    --gradient-primary: linear-gradient(135deg, #0f0069 0%, #030016 100%);
    --gradient-secondary: linear-gradient(135deg, #fbe840 0%, #e0e058 100%);
    --gradient-tertiary: linear-gradient(135deg, #0f0069 0%, #4c1d95 100%);
    --gradient-brand-primary: var(--gradient-primary);
    --gradient-brand-secondary: var(--gradient-secondary);
    --gradient-brand-tertiary: var(--gradient-tertiary);
    --gradient-neutral: linear-gradient(135deg, var(--color-neutral-100), var(--color-neutral-200));
    --gradient-success: linear-gradient(135deg, var(--color-success-100), var(--color-success-300));
    --gradient-error: linear-gradient(135deg, var(--color-error-100), var(--color-error-300));
    --gradient-warning: linear-gradient(135deg, var(--color-warning-100), var(--color-warning-300));
    --gradient-info: linear-gradient(135deg, var(--color-info-100), var(--color-info-300));
    --gradient-primary-dark: linear-gradient(135deg, var(--color-primary) 0%, #030016 100%);
    --gradient-hero: var(--gradient-primary);
    --gradient-card: linear-gradient(135deg, #ffffff1a, #ffffff0d);
    --gradient-overlay: linear-gradient(180deg, #0006 0%, #000c 100%);
    --dark-bg: #fff;
    --dark-bg-light: #f8f9fc;
    --dark-bg-card: #f1f3f8;
    --dark-bg-input: #fff;
    --dark-card: #00000005;
    --dark-card-hover: #0000000a;
    --dark-border: #00000014;
    --dark-glow: #0f00691a;
    --dark-glow-strong: #0f006933;
    --dark-text: #1a1a2e;
    --dark-text-muted: #8888a4;
    --dark-text-accent: var(--color-primary);
    --overlay-subtle: #00000005;
    --overlay-light: #00000008;
    --overlay-medium: #0000000f;
    --overlay-strong: #0000001a;
    --overlay-hover: #0000000a;
    --overlay-active: #00000014;
    --overlay-brand-light: #0f00690a;
    --overlay-brand-medium: #0f006914;
    --overlay-brand-strong: #0f00691f;
    --shadow-dropdown: 0 8px 24px #0000001f;
  }

  @media (max-width: 640px) {
    :root {
      --color-text: #000;
      --color-text-light: #1f1f30;
      --color-text-muted: #4a4a68;
      --dark-text: #000;
      --dark-text-muted: #4a4a68;
    }
  }

  :root {
    --font-primary: "Fredoka", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-secondary: "Fredoka", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-family-inter: var(--font-primary);
    --font-size-h1: 70px;
    --font-size-h2: 52px;
    --font-size-h3: 24px;
    --font-size-h4: 20px;
    --font-size-body-large: 20px;
    --font-size-body-medium: 18px;
    --font-size-body-small: 16px;
    --font-size-caption: 12px;
    --line-height-h1: 1.1733;
    --line-height-h2: 1.1538;
    --line-height-h3: 1.3333;
    --line-height-h4: 1.4;
    --line-height-body-large: 1.6;
    --line-height-body-medium: 1.6667;
    --line-height-body-small: 1.5;
    --line-height-caption: 1.3333;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 800;
    --letter-spacing-tight: -.025em;
    --letter-spacing-normal: 0;
    --letter-spacing-wide: .01em;
    --letter-spacing-wider: .02em;
  }

  .text-h1, h1 {
    font-family: var(--font-primary);
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-h1);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-h2, h2 {
    font-family: var(--font-primary);
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-h2);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-h3, h3 {
    font-family: var(--font-secondary);
    font-size: var(--font-size-h3);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-h3);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-h4, h4 {
    font-family: var(--font-primary);
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-h4);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-body-large {
    font-family: var(--font-body);
    font-size: var(--font-size-body-large);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-large);
    letter-spacing: var(--letter-spacing-tight);
  }

  .text-body-medium, .text-body, p {
    font-family: var(--font-body);
    font-size: var(--font-size-body-medium);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-medium);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-body-small {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-caption {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-light {
    font-weight: var(--font-weight-light);
  }

  .text-regular {
    font-weight: var(--font-weight-regular);
  }

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

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

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

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

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

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

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

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

  .text-uppercase {
    text-transform: uppercase;
  }

  .text-lowercase {
    text-transform: lowercase;
  }

  .text-capitalize {
    text-transform: capitalize;
  }

  .text-hero {
    font-family: var(--font-primary);
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-h1);
    letter-spacing: var(--letter-spacing-normal);
  }

  .text-lead {
    font-family: var(--font-body);
    font-size: var(--font-size-body-large);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-large);
    letter-spacing: var(--letter-spacing-tight);
  }

  .text-subtitle {
    font-family: var(--font-body);
    font-size: var(--font-size-body-medium);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-body-medium);
    letter-spacing: var(--letter-spacing-wide);
  }

  .text-label {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-body-small);
    letter-spacing: var(--letter-spacing-wider);
    text-transform: uppercase;
  }

  @media (max-width: 1024px) {
    :root {
      --font-size-h1: 60px;
      --font-size-h2: 42px;
      --font-size-h3: 22px;
      --font-size-h4: 18px;
      --font-size-body-large: 18px;
      --font-size-body-medium: 16px;
      --font-size-body-small: 14px;
    }
  }

  @media (max-width: 768px) {
    :root {
      --font-size-h1: 48px;
      --font-size-h2: 36px;
      --font-size-h3: 20px;
      --font-size-h4: 18px;
      --font-size-body-large: 18px;
      --font-size-body-medium: 16px;
      --font-size-body-small: 14px;
    }
  }

  @media (max-width: 480px) {
    :root {
      --font-size-h1: 36px;
      --font-size-h2: 28px;
      --font-size-h3: 19px;
      --font-size-h4: 17px;
      --font-size-body-large: 17px;
      --font-size-body-medium: 16px;
      --font-size-body-small: 15px;
    }
  }

  @media (max-width: 640px) {
    :root {
      --font-weight-light: 400;
      --font-weight-regular: 500;
    }

    body {
      font-weight: 500;
    }
  }

  :root {
    --button-padding-large: 16px 24px;
    --button-padding-medium: 12px 20px;
    --button-padding-small: 8px 16px;
    --button-height-large: 56px;
    --button-height-medium: 48px;
    --button-height-small: 40px;
    --button-border-radius: 8px;
    --button-border-width: 2px;
    --button-transition: all .2s ease-in-out;
    --button-shadow: 0 2px 4px #0000001a;
    --button-shadow-hover: 0 4px 8px #00000026;
    --button-shadow-pressed: inset 0 2px 4px #0000001a;
  }

  .btn {
    font-family: var(--font-family-inter);
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
    border: var(--button-border-width) solid transparent;
    border-radius: var(--button-border-radius);
    cursor: pointer;
    transition: var(--button-transition);
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-decoration: none;
    display: inline-flex;
  }

  .btn:focus {
    outline: none;
    box-shadow: 0 0 0 3px #0f006933;
  }

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

  .btn-large {
    height: var(--button-height-large);
    padding: var(--button-padding-large);
    font-size: var(--font-size-body-medium);
    line-height: 1;
  }

  .btn-medium {
    height: var(--button-height-medium);
    padding: var(--button-padding-medium);
    font-size: var(--font-size-body-small);
    line-height: 1;
  }

  .btn-small {
    height: var(--button-height-small);
    padding: var(--button-padding-small);
    font-size: 14px;
    line-height: 1;
  }

  .btn-primary {
    background: var(--color-brand-indigo-500);
    color: var(--color-white);
    border-color: var(--color-brand-indigo-500);
    box-shadow: var(--button-shadow);
  }

  .btn-primary:hover:not(:disabled) {
    background: var(--color-brand-indigo-600);
    border-color: var(--color-brand-indigo-600);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-primary:active:not(:disabled) {
    background: var(--color-brand-indigo-700);
    border-color: var(--color-brand-indigo-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-primary:disabled {
    background: var(--color-neutral-300);
    border-color: var(--color-neutral-300);
    color: var(--color-neutral-500);
    box-shadow: none;
  }

  .btn-secondary {
    background: var(--color-white);
    color: var(--color-brand-indigo-500);
    border-color: var(--color-brand-indigo-500);
  }

  .btn-secondary:hover:not(:disabled) {
    background: var(--color-brand-indigo-100);
    border-color: var(--color-brand-indigo-600);
    color: var(--color-brand-indigo-600);
    box-shadow: var(--button-shadow);
    transform: translateY(-1px);
  }

  .btn-secondary:active:not(:disabled) {
    background: var(--color-brand-indigo-200);
    border-color: var(--color-brand-indigo-700);
    color: var(--color-brand-indigo-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-secondary:disabled {
    border-color: var(--color-neutral-300);
    color: var(--color-neutral-400);
    background: none;
  }

  .btn-tertiary {
    color: var(--color-brand-indigo-500);
    border-color: var(--color-brand-indigo-500);
    background: none;
  }

  .btn-tertiary:hover:not(:disabled) {
    background: var(--color-brand-indigo-100);
    color: var(--color-brand-indigo-600);
    transform: translateY(-1px);
  }

  .btn-tertiary:active:not(:disabled) {
    background: var(--color-brand-indigo-200);
    color: var(--color-brand-indigo-700);
    transform: translateY(0);
  }

  .btn-tertiary:disabled {
    color: var(--color-neutral-400);
    background: none;
  }

  .btn-tertiary-reverse {
    color: var(--color-neutral-500);
    border-color: var(--color-neutral-300);
    background: none;
  }

  .btn-tertiary-reverse:hover:not(:disabled) {
    background: var(--color-neutral-100);
    color: var(--color-brand-indigo-500);
    border-color: var(--color-brand-indigo-500);
    transform: translateY(-1px);
  }

  .btn-tertiary-reverse:active:not(:disabled) {
    background: var(--color-brand-indigo-100);
    color: var(--color-brand-indigo-500);
    transform: translateY(0);
  }

  .btn-tertiary-reverse:disabled {
    color: var(--color-neutral-400);
    background: none;
  }

  .btn-secondary-reverse {
    background: var(--color-white);
    color: var(--color-secondary);
    border-color: var(--color-secondary);
  }

  .btn-secondary-reverse:hover:not(:disabled) {
    background: var(--color-neutral-100);
    color: var(--color-secondary);
    border-color: var(--color-secondary);
    transform: translateY(-1px);
  }

  .btn-secondary-reverse:active:not(:disabled) {
    background: var(--color-white);
    color: var(--color-brand-indigo-500);
    transform: translateY(0);
  }

  .btn-secondary-reverse:disabled {
    background: var(--color-white);
    color: var(--color-neutral-400);
  }

  .btn-none {
    color: var(--color-brand-indigo-500);
    background: none;
    border-color: #0000;
  }

  .btn-gradient-primary {
    background: var(--gradient-primary) border-box;
    color: var(--color-white);
    box-shadow: var(--button-shadow);
  }

  .btn-gradient-primary:hover:not(:disabled) {
    background: var(--gradient-primary) border-box;
    filter: brightness(1.1);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-gradient-primary:active:not(:disabled) {
    filter: brightness(.95);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-gradient-primary:disabled {
    background: var(--color-neutral-300) border-box;
    filter: none;
    box-shadow: none;
  }

  .btn-secondary-orange {
    background: var(--color-brand-secondary-500);
    color: var(--color-white);
    border-color: var(--color-brand-secondary-500);
    box-shadow: var(--button-shadow);
  }

  .btn-secondary-orange:hover:not(:disabled) {
    background: var(--color-brand-secondary-600);
    border-color: var(--color-brand-secondary-600);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-secondary-orange:active:not(:disabled) {
    background: var(--color-brand-secondary-700);
    border-color: var(--color-brand-secondary-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-secondary-orange:disabled {
    background: var(--color-neutral-300);
    border-color: var(--color-neutral-300);
    color: var(--color-neutral-500);
    box-shadow: none;
  }

  .btn-gradient-secondary {
    background: var(--gradient-secondary) border-box;
    color: var(--color-white);
    box-shadow: var(--button-shadow);
  }

  .btn-gradient-secondary:hover:not(:disabled) {
    background: var(--gradient-secondary) border-box;
    filter: brightness(1.1);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-gradient-secondary:active:not(:disabled) {
    filter: brightness(.95);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-gradient-secondary:disabled {
    background: var(--color-neutral-300) border-box;
    filter: none;
    box-shadow: none;
  }

  .btn-destructive {
    background: var(--color-error-500);
    color: var(--color-white);
    border-color: var(--color-error-500);
    box-shadow: var(--button-shadow);
  }

  .btn-destructive:hover:not(:disabled) {
    background: var(--color-error-600);
    border-color: var(--color-error-600);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-destructive:active:not(:disabled) {
    background: var(--color-error-700);
    border-color: var(--color-error-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-destructive:disabled {
    background: var(--color-neutral-300);
    border-color: var(--color-neutral-300);
    color: var(--color-neutral-500);
    box-shadow: none;
  }

  .btn-success {
    background: var(--color-success-700);
    color: var(--color-white);
    border-color: var(--color-success-700);
    box-shadow: var(--button-shadow);
  }

  .btn-success:hover:not(:disabled) {
    background: var(--color-success-800);
    border-color: var(--color-success-800);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-success:active:not(:disabled) {
    background: var(--color-success-700);
    border-color: var(--color-success-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-success:disabled {
    background: var(--color-neutral-300);
    border-color: var(--color-neutral-300);
    color: var(--color-neutral-500);
    box-shadow: none;
  }

  .btn-oauth-google {
    background: var(--color-white);
    color: var(--color-neutral-500);
    border-color: var(--color-neutral-300);
    box-shadow: var(--button-shadow);
    font-weight: var(--font-weight-medium);
    justify-content: center;
    align-items: center;
    gap: 12px;
    display: inline-flex;
  }

  .btn-oauth-google:hover:not(:disabled) {
    background: var(--color-brand-indigo-100);
    border-color: var(--color-brand-indigo-500);
    color: var(--color-brand-indigo-600);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-oauth-google:active:not(:disabled) {
    background: var(--color-brand-indigo-200);
    border-color: var(--color-brand-indigo-600);
    color: var(--color-brand-indigo-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-oauth-google:disabled {
    background: var(--color-neutral-100);
    border-color: var(--color-neutral-200);
    color: var(--color-neutral-400);
    box-shadow: none;
  }

  .btn-oauth-google svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
  }

  .btn-oauth-email {
    background: var(--color-white);
    color: var(--color-neutral-500);
    border-color: var(--color-neutral-300);
    box-shadow: var(--button-shadow);
    font-weight: var(--font-weight-medium);
    justify-content: center;
    align-items: center;
    gap: 12px;
    display: inline-flex;
  }

  .btn-oauth-email:hover:not(:disabled) {
    background: var(--color-brand-indigo-100);
    border-color: var(--color-brand-indigo-500);
    color: var(--color-brand-indigo-600);
    box-shadow: var(--button-shadow-hover);
    transform: translateY(-1px);
  }

  .btn-oauth-email:active:not(:disabled) {
    background: var(--color-brand-indigo-200);
    border-color: var(--color-brand-indigo-600);
    color: var(--color-brand-indigo-700);
    box-shadow: var(--button-shadow-pressed);
    transform: translateY(0);
  }

  .btn-oauth-email:disabled {
    background: var(--color-neutral-100);
    border-color: var(--color-neutral-200);
    color: var(--color-neutral-400);
    box-shadow: none;
  }

  .btn-oauth-email svg {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
  }

  .btn-multiline {
    white-space: normal;
    height: auto;
    min-height: var(--button-height-medium);
    text-align: center;
    padding-top: 8px;
    padding-bottom: 8px;
    line-height: 1.3;
  }

  .btn-multiline.btn-large {
    min-height: var(--button-height-large);
  }

  .btn-multiline.btn-small {
    min-height: var(--button-height-small);
  }

  .btn-icon {
    width: var(--button-height-medium);
    height: var(--button-height-medium);
    padding: 0;
  }

  .btn-icon.btn-large {
    width: var(--button-height-large);
    height: var(--button-height-large);
  }

  .btn-icon.btn-small {
    width: var(--button-height-small);
    height: var(--button-height-small);
  }

  .btn-icon svg {
    width: 20px;
    height: 20px;
  }

  .btn-icon.btn-large svg {
    width: 24px;
    height: 24px;
  }

  .btn-icon.btn-small svg {
    width: 16px;
    height: 16px;
  }

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

  .btn-group .btn {
    border-right-width: 0;
    border-radius: 0;
  }

  .btn-group .btn:first-child {
    border-top-left-radius: var(--button-border-radius);
    border-bottom-left-radius: var(--button-border-radius);
  }

  .btn-group .btn:last-child {
    border-top-right-radius: var(--button-border-radius);
    border-bottom-right-radius: var(--button-border-radius);
    border-right-width: var(--button-border-width);
  }

  .btn-group .btn:not(:first-child):not(:last-child) {
    border-radius: 0;
  }

  @media (max-width: 768px) {
    .btn-large {
      height: var(--button-height-medium);
      padding: var(--button-padding-medium);
      font-size: var(--font-size-body-small);
    }

    .btn-medium {
      height: var(--button-height-small);
      padding: var(--button-padding-small);
      font-size: 14px;
    }
  }

  .btn-loading {
    position: relative;
  }

  .btn-loading:after {
    content: "";
    vertical-align: middle;
    border: 2px solid;
    border-top-color: #0000;
    border-radius: 50%;
    width: 16px;
    height: 16px;
    margin-left: 8px;
    animation: 1s linear infinite spin;
    display: inline-block;
  }

  .btn-loading.btn-large:after {
    width: 20px;
    height: 20px;
  }

  .btn-loading.btn-small:after {
    width: 14px;
    height: 14px;
  }

  .btn-loading.btn-primary:disabled {
    color: var(--color-white);
  }

  .btn-loading.btn-primary:disabled:after {
    border-color: var(--color-white);
    border-top-color: #0000;
  }

  @keyframes spin {
    to {
      transform: translate(-50%, -50%) rotate(360deg);
    }
  }

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

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

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

  .text-gradient-primary {
    background: var(--gradient-primary);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
  }

  .text-gradient-secondary {
    background: var(--gradient-secondary);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
  }

  .text-gradient-tertiary {
    background: var(--gradient-tertiary);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
  }

  .icon-button {
    cursor: pointer;
    width: 36px;
    height: 36px;
    transition: var(--button-transition);
    background: none;
    border: none;
    border-radius: 50%;
    outline: none;
    justify-content: center;
    align-items: center;
    padding: 0;
    display: inline-flex;
  }

  .icon-button:hover {
    background: var(--color-neutral-100);
  }

  .icon-button:active {
    background: var(--color-neutral-200);
    transform: scale(.95);
  }

  .icon-button:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
  }

  .icon-button:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  .icon-button img, .icon-button svg {
    pointer-events: none;
    width: 24px;
    height: 24px;
  }

  .form-label {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-500);
    margin-bottom: 4px;
    display: block;
  }

  .form-label--required {
    font-weight: var(--font-weight-medium);
    color: var(--color-neutral-600);
  }

  .form-label-required:before {
    content: "*";
    color: var(--color-error-500);
    font-weight: var(--font-weight-bold);
    margin-right: 4px;
    font-size: 1.1em;
  }

  .form-label-optional:after {
    content: "(optionnel)";
    color: var(--color-neutral-400);
    margin-left: 6px;
    font-size: .9em;
    font-style: italic;
  }

  .form-label--dark, .form-label--dark.form-label--required, .form-label--dark.form-label-required {
    color: #fff;
  }

  .form-label--dark.form-label-optional:after {
    color: #cbd5e1;
  }

  .form-input {
    border: 1px solid var(--color-neutral-200);
    background-color: var(--color-neutral-0);
    width: 100%;
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    transition: var(--button-transition);
    color: var(--color-neutral-500);
    appearance: none;
    border-radius: 8px;
    padding: 12px;
  }

  .form-input:focus {
    border-color: var(--color-brand-blue-500);
    box-shadow: 0 0 0 3px var(--color-brand-blue-500);
    outline: none;
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-input:focus {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-blue-500) 20%, transparent);
    }
  }

  .form-input::placeholder {
    color: var(--color-neutral-400);
  }

  .form-input--filled {
    color: var(--color-neutral-500);
  }

  .form-input--error {
    border-color: var(--color-error-500);
    box-shadow: 0 0 0 3px var(--color-error-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-input--error {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-error-500) 20%, transparent);
    }
  }

  .form-input--valid {
    border-color: var(--color-success-800);
    box-shadow: 0 0 0 3px var(--color-success-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-input--valid {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-success-500) 20%, transparent);
    }
  }

  .form-textarea {
    resize: none;
  }

  .form-select {
    cursor: pointer;
  }

  .form-select option {
    padding: 8px;
  }

  .form-error {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    color: var(--color-error-600);
    margin-top: 4px;
  }

  .form-error-message {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-caption);
    color: var(--color-error-600);
    margin-top: 4px;
    position: absolute;
    left: 0;
    right: 0;
  }

  .form-group {
    margin-bottom: 24px;
    position: relative;
  }

  .form-group--error.form-group--shake, .form-group--error:focus-within {
    animation: .5s ease-in-out shake;
  }

  @keyframes shake {
    0%, 100% {
      transform: translateX(0);
    }

    25% {
      transform: translateX(-4px);
    }

    75% {
      transform: translateX(4px);
    }
  }

  .form-group--error .form-label {
    color: var(--color-error-700);
    font-weight: var(--font-weight-medium);
  }

  .form-grid {
    gap: 16px;
    display: grid;
  }

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

  @media (min-width: 768px) {
    .form-grid--2-cols {
      grid-template-columns: repeat(2, 1fr);
    }
  }

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

  @media (min-width: 768px) {
    .form-grid--3-cols {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .form-section {
    border: 1px solid var(--color-neutral-200);
    background-color: var(--color-neutral-0);
    border-radius: 16px;
    margin-bottom: 24px;
    padding: 24px;
  }

  .form-section-header {
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
    display: flex;
  }

  .form-section-icon {
    border-radius: 8px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    display: flex;
  }

  .form-section-title {
    font-family: var(--font-primary);
    font-size: var(--font-size-h4);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-h4);
    color: var(--color-neutral-800);
    margin: 0;
  }

  .form-section-description {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-500);
    margin: 0;
  }

  .form-section-highlighted {
    background-color: var(--color-neutral-100);
    border-radius: 12px;
    margin: 16px 0;
    padding: 16px;
  }

  .form-checkbox-group {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
    display: grid;
  }

  @media (min-width: 768px) {
    .form-checkbox-group {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .form-checkbox-item {
    cursor: pointer;
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .form-checkbox {
    border: 2px solid var(--color-neutral-300);
    cursor: pointer;
    width: 20px;
    height: 20px;
    transition: var(--button-transition);
    background-color: #0000;
    border-radius: 4px;
    position: relative;
  }

  .form-checkbox:checked {
    border-color: var(--color-brand-blue-500);
    background-color: var(--color-brand-blue-500);
  }

  .form-checkbox-icon {
    pointer-events: none;
    filter: brightness(0) invert();
    width: 12px;
    height: 12px;
    position: absolute;
    top: 2px;
    left: 2px;
  }

  .form-checkbox-label {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-600);
    cursor: pointer;
  }

  .form-badge {
    background-color: var(--color-brand-blue-100);
    color: var(--color-brand-blue-800);
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    border-radius: 20px;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    display: inline-flex;
  }

  .form-badge-remove {
    cursor: pointer;
    color: var(--color-brand-blue-600);
    background: none;
    border: none;
    padding: 0;
    transition: opacity .2s;
  }

  .form-badge-remove:hover {
    opacity: .7;
  }

  .form-badge-remove img {
    filter: brightness(0) saturate() invert(41%) sepia(88%) saturate(1151%) hue-rotate(192deg) brightness(95%) contrast(101%);
    width: 12px;
    height: 12px;
  }

  .form-help {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    color: var(--color-neutral-400);
    margin-top: 8px;
  }

  .form-select--placeholder {
    color: var(--color-neutral-400) !important;
  }

  .form-select--filled {
    color: var(--color-neutral-500) !important;
  }

  .form-select option[value=""] {
    color: var(--color-neutral-400);
  }

  .form-file-dropzone {
    border: 2px dashed var(--color-neutral-200);
    background-color: var(--color-neutral-0);
    cursor: pointer;
    border-radius: 12px;
    outline: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    min-height: 160px;
    padding: 24px;
    transition: border-color .2s, background-color .2s;
    display: flex;
  }

  .form-file-dropzone:hover {
    border-color: var(--color-neutral-300);
    background-color: var(--color-neutral-100);
  }

  .form-file-dropzone:focus-visible {
    border-color: var(--color-brand-blue-500);
    box-shadow: 0 0 0 3px var(--color-brand-blue-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-dropzone:focus-visible {
      box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-brand-blue-500) 20%, transparent);
    }
  }

  .form-file-dropzone--dragover {
    border-color: var(--color-brand-blue-500);
    background-color: var(--color-brand-blue-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-dropzone--dragover {
      background-color: color-mix(in srgb, var(--color-brand-blue-500) 5%, transparent);
    }
  }

  .form-file-dropzone--error {
    border-color: var(--color-error-500);
  }

  .form-file-dropzone--valid {
    border-color: var(--color-success-800);
  }

  .form-file-dropzone--disabled {
    opacity: .5;
    cursor: not-allowed;
    pointer-events: none;
  }

  .form-file-dropzone-icon {
    width: 40px;
    height: 40px;
    color: var(--color-neutral-300);
    transition: color .2s;
  }

  .form-file-dropzone--dragover .form-file-dropzone-icon {
    color: var(--color-brand-blue-500);
  }

  .form-file-dropzone-label {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-400);
    text-align: center;
    margin-top: 12px;
  }

  .form-file-dropzone-link {
    color: var(--color-brand-blue-500);
    font-weight: var(--font-weight-medium);
    cursor: pointer;
    text-decoration: underline;
  }

  .form-file-dropzone-link:hover {
    color: var(--color-brand-blue-700);
  }

  .form-file-dropzone-help {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    color: var(--color-neutral-300);
    text-align: center;
    margin-top: 8px;
  }

  .form-file-list {
    flex-direction: column;
    gap: 8px;
    margin-top: 12px;
    display: flex;
  }

  .form-file-item {
    border: 1px solid var(--color-neutral-200);
    background-color: var(--color-neutral-0);
    border-radius: 8px;
    align-items: center;
    gap: 12px;
    padding: 8px 12px;
    transition: border-color .2s;
    display: flex;
  }

  .form-file-item--error {
    border-color: var(--color-error-500);
    background-color: var(--color-error-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-item--error {
      background-color: color-mix(in srgb, var(--color-error-500) 5%, transparent);
    }
  }

  .form-file-item--success {
    border-color: var(--color-success-800);
  }

  .form-file-item--uploading {
    border-color: var(--color-brand-blue-300);
  }

  .form-file-thumbnail {
    object-fit: cover;
    border-radius: 6px;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
  }

  .form-file-type-icon {
    background-color: var(--color-neutral-100);
    width: 40px;
    height: 40px;
    color: var(--color-neutral-400);
    border-radius: 6px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .form-file-info {
    flex: 1;
    min-width: 0;
  }

  .form-file-name {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-500);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .form-file-size {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    color: var(--color-neutral-300);
  }

  .form-file-error {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-caption);
    color: var(--color-error-600);
  }

  .form-file-status {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-caption);
    border-radius: 12px;
    flex-shrink: 0;
    padding: 2px 8px;
  }

  .form-file-status--success {
    color: var(--color-success-800);
    background-color: var(--color-success-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-status--success {
      background-color: color-mix(in srgb, var(--color-success-500) 15%, transparent);
    }
  }

  .form-file-status--error {
    color: var(--color-error-600);
    background-color: var(--color-error-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-status--error {
      background-color: color-mix(in srgb, var(--color-error-500) 15%, transparent);
    }
  }

  .form-file-status--uploading {
    color: var(--color-brand-blue-600);
    background-color: var(--color-brand-blue-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-status--uploading {
      background-color: color-mix(in srgb, var(--color-brand-blue-500) 15%, transparent);
    }
  }

  .form-file-remove {
    cursor: pointer;
    width: 28px;
    height: 28px;
    color: var(--color-neutral-300);
    background: none;
    border: none;
    border-radius: 6px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    transition: color .2s, background-color .2s;
    display: flex;
  }

  .form-file-remove:hover {
    color: var(--color-error-500);
    background-color: var(--color-error-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-remove:hover {
      background-color: color-mix(in srgb, var(--color-error-500) 10%, transparent);
    }
  }

  .form-file-progress {
    background-color: var(--color-neutral-200);
    border-radius: 2px;
    height: 3px;
    margin-top: 4px;
    overflow: hidden;
  }

  .form-file-progress-bar {
    background-color: var(--color-brand-blue-500);
    border-radius: 2px;
    height: 100%;
    transition: width .3s;
  }

  .form-file-add-error {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-caption);
    color: var(--color-error-600);
    margin-top: 8px;
  }

  .form-file-compact {
    border-radius: 8px;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    padding: 8px;
    transition: background-color .2s;
    display: flex;
  }

  .form-file-compact--dragover {
    background-color: var(--color-brand-blue-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-compact--dragover {
      background-color: color-mix(in srgb, var(--color-brand-blue-500) 5%, transparent);
    }
  }

  .form-file-compact--error {
    outline: 1px solid var(--color-error-500);
  }

  .form-file-compact--valid {
    outline: 1px solid var(--color-success-800);
  }

  .form-file-compact-placeholder {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-body-small);
    color: var(--color-neutral-400);
  }

  .form-file-compact-badge {
    background-color: var(--color-brand-blue-100);
    color: var(--color-brand-blue-800);
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-regular);
    line-height: var(--line-height-caption);
    border-radius: 16px;
    align-items: center;
    gap: 6px;
    max-width: 200px;
    padding: 4px 10px;
    display: inline-flex;
  }

  .form-file-compact-badge--error {
    background-color: var(--color-error-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-compact-badge--error {
      background-color: color-mix(in srgb, var(--color-error-500) 15%, transparent);
    }
  }

  .form-file-compact-badge--error {
    color: var(--color-error-600);
  }

  .form-file-compact-badge--uploading {
    background-color: var(--color-brand-blue-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-compact-badge--uploading {
      background-color: color-mix(in srgb, var(--color-brand-blue-500) 15%, transparent);
    }
  }

  .form-file-compact-badge--uploading {
    color: var(--color-brand-blue-600);
  }

  .form-file-compact-badge--success {
    background-color: var(--color-success-500);
  }

  @supports (color: color-mix(in lab, red, red)) {
    .form-file-compact-badge--success {
      background-color: color-mix(in srgb, var(--color-success-500) 15%, transparent);
    }
  }

  .form-file-compact-badge--success {
    color: var(--color-success-800);
  }

  .form-file-compact-badge-name {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .form-file-compact-badge-remove {
    cursor: pointer;
    color: inherit;
    opacity: .7;
    background: none;
    border: none;
    align-items: center;
    padding: 0;
    transition: opacity .2s;
    display: flex;
  }

  .form-file-compact-badge-remove:hover {
    opacity: 1;
  }

  @media (max-width: 640px) {
    .form-file-dropzone {
      min-height: 120px;
      padding: 16px;
    }

    .form-file-dropzone-icon {
      width: 32px;
      height: 32px;
    }

    .form-file-item {
      gap: 8px;
      padding: 6px 8px;
    }

    .form-file-thumbnail, .form-file-type-icon {
      width: 32px;
      height: 32px;
    }
  }

  :root {
    --landing-tint: #eff5f1;
    --landing-tint-soft: #f5f9f6;
  }

  .landing-container {
    max-width: 1200px;
    margin: 0 auto;
  }

  .hero-section {
    background-color: var(--color-neutral-0);
    align-items: flex-start;
    padding: 96px 24px 64px;
    display: flex;
    position: relative;
    overflow: hidden;
  }

  .hero-bg-pattern {
    pointer-events: none;
    background-image: linear-gradient(#0e503f26 1px, #0000 1px), linear-gradient(90deg, #0e503f26 1px, #0000 1px);
    background-size: 60px 60px;
    position: absolute;
    inset: 0;
  }

  .hero-highlight {
    background: #fbe84073;
    border-radius: 8px;
    padding: 0 10px;
    line-height: 1.05;
    display: inline-block;
    position: relative;
  }

  .section-label {
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: var(--font-weight-semibold);
    letter-spacing: .05em;
    text-transform: uppercase;
    border-radius: 100px;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    padding: 6px 16px;
    display: inline-flex;
  }

  .landing-eyebrow {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: var(--font-weight-bold);
    letter-spacing: .12em;
    color: var(--color-brand-green-500);
    text-transform: uppercase;
    margin: 0 0 var(--eyebrow-margin-bottom, 16px) 0;
    align-items: center;
    gap: 8px;
    display: inline-flex;
  }

  .landing-eyebrow-dot {
    background: var(--color-brand-yellow-400);
    border-radius: 50%;
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    box-shadow: 0 0 0 3px #fbe84038;
  }

  .landing-section-header {
    max-width: var(--header-max-width, 720px);
    text-align: center;
    margin: 0 auto 56px;
  }

  .landing-section-title {
    color: var(--color-text);
    margin: 0 0 16px;
    line-height: 1.15;
  }

  .landing-section-subtitle {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: var(--font-weight-medium);
    color: var(--color-text-light);
    margin: 0;
    line-height: 1.55;
  }

  .landing-tile {
    background: var(--color-neutral-0);
    border: 1px solid var(--color-neutral-200);
    border-radius: 16px;
    padding: 28px 24px;
    transition: transform .18s, box-shadow .18s, border-color .18s;
  }

  .landing-tile:hover {
    border-color: var(--color-brand-indigo-500);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px -8px #0f006926, 0 4px 8px -2px #0f006914;
  }

  .landing-icon-tile {
    --icon-size: 52px;
    width: var(--icon-size);
    height: var(--icon-size);
    font-size: calc(var(--icon-size) * .5);
    background: linear-gradient(135deg, #f4f1ff 0%, #e8e2ff 100%);
    border-radius: 14px;
    justify-content: center;
    align-items: center;
    line-height: 1;
    display: flex;
  }

  .cta-section {
    background: var(--color-brand-green-500);
    color: var(--color-neutral-0);
    text-align: center;
    padding: 100px 24px;
    position: relative;
    overflow: hidden;
  }

  .cta-bg-circle {
    pointer-events: none;
    border: 1px solid #ffffff1a;
    border-radius: 50%;
    position: absolute;
  }

  .landing-header {
    z-index: 100;
    -webkit-backdrop-filter: blur(12px);
    background: #ffffffe6;
    border-bottom: 1px solid #0000;
    padding: 16px 24px;
    transition: border-color .3s;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
  }

  .landing-header--transparent {
    -webkit-backdrop-filter: none;
    pointer-events: none;
    background: none;
    border-bottom: none;
  }

  .landing-header--transparent a {
    pointer-events: auto;
  }

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

  .landing-logo {
    color: var(--color-text);
    align-items: center;
    gap: 10px;
    text-decoration: none;
    display: flex;
  }

  .landing-header--transparent .landing-logo {
    background: var(--color-neutral-0);
    border-radius: 100px;
    padding: 6px 14px 6px 10px;
    box-shadow: 0 1px 4px #0f00691a;
  }

  .landing-logo-img {
    object-fit: contain;
    width: 32px;
    height: 32px;
  }

  .landing-logo-text {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-bold);
  }

  .landing-nav {
    align-items: center;
    gap: 32px;
    display: flex;
  }

  .landing-nav-link {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--font-weight-medium);
    color: var(--color-text-light);
    text-decoration: none;
    transition: color .2s;
  }

  .landing-nav-link:hover {
    color: var(--color-brand-green-500);
  }

  .landing-nav-signin, .landing-mobile-signin {
    background: var(--color-primary);
    color: var(--color-neutral-0);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: var(--font-weight-bold);
    white-space: nowrap;
    border-radius: 100px;
    padding: 9px 20px;
    text-decoration: none;
    transition: background .12s linear, color .12s linear, transform .15s;
  }

  .landing-nav-signin:hover, .landing-mobile-signin:hover {
    background: var(--color-primary-hover);
    color: var(--color-neutral-0);
    transform: translateY(-1px);
  }

  .landing-header--signin-on-dark .landing-nav-signin, .landing-header--signin-on-dark .landing-mobile-signin {
    background: var(--color-brand-yellow-400);
    color: var(--color-brand-green-500);
  }

  .landing-header--signin-on-dark .landing-nav-signin:hover, .landing-header--signin-on-dark .landing-mobile-signin:hover {
    background: var(--color-brand-yellow-300);
    color: var(--color-brand-green-500);
  }

  .landing-nav-signin {
    align-items: center;
    display: inline-flex;
  }

  .landing-mobile-signin {
    display: none;
  }

  .landing-footer {
    background: var(--color-neutral-50);
    border-top: 1px solid var(--color-neutral-200);
    padding: 48px 24px;
  }

  .landing-footer-inner {
    justify-content: space-between;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
  }

  @media (max-width: 1024px) {
    .hero-section {
      padding: 88px 24px 48px;
    }
  }

  @media (max-width: 768px) {
    .hero-section {
      padding: 76px 16px 24px;
    }

    .landing-nav {
      display: none;
    }

    .landing-mobile-signin {
      align-items: center;
      display: inline-flex;
    }

    .landing-header-inner {
      justify-content: space-between;
    }

    .cta-section {
      padding: 56px 16px;
    }

    .landing-footer-inner {
      text-align: center;
      flex-direction: column;
      gap: 16px;
    }

    .landing-section-header {
      margin-bottom: 28px;
    }

    .landing-section-title {
      text-wrap: balance;
      line-height: 1.12;
    }

    .landing-section-subtitle {
      font-size: 16px;
      font-weight: 600;
      line-height: 1.45;
    }

    .landing-eyebrow {
      letter-spacing: .08em;
      font-size: 13px;
      font-weight: 800;
    }

    .hero-bg-pattern {
      opacity: .45;
      background-size: 44px 44px;
      -webkit-mask-image: linear-gradient(#000 55%, #0000 100%);
      mask-image: linear-gradient(#000 55%, #0000 100%);
    }
  }

  .share-qr-fab {
    background: var(--color-brand-indigo-500);
    width: 56px;
    height: 56px;
    color: var(--color-neutral-0);
    cursor: pointer;
    z-index: 60;
    border: none;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: transform .2s, background-color .2s, box-shadow .2s;
    display: flex;
    position: fixed;
    bottom: 24px;
    right: 24px;
    box-shadow: 0 8px 20px -4px #0f006959, 0 4px 8px -2px #0f00692e;
  }

  .share-qr-fab:hover {
    background: var(--color-brand-indigo-600);
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 12px 28px -4px #0f006973, 0 6px 12px -2px #0f006938;
  }

  .share-qr-fab:focus-visible {
    outline: 3px solid var(--color-brand-yellow-500);
    outline-offset: 3px;
  }

  .share-qr-fab:active {
    transform: translateY(0) scale(.98);
  }

  .share-qr-overlay {
    z-index: 100;
    background: #0f00698c;
    justify-content: center;
    align-items: center;
    padding: 24px;
    animation: .2s ease-out share-qr-overlay-in;
    display: flex;
    position: fixed;
    inset: 0;
  }

  @keyframes share-qr-overlay-in {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .share-qr-panel {
    background: var(--color-neutral-0);
    text-align: center;
    border-radius: 20px;
    width: 100%;
    max-width: 360px;
    padding: 36px 28px 28px;
    animation: .25s ease-out share-qr-panel-in;
    position: relative;
    box-shadow: 0 24px 48px -12px #00000059;
  }

  @keyframes share-qr-panel-in {
    from {
      opacity: 0;
      transform: translateY(8px) scale(.98);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  .share-qr-close {
    width: 36px;
    height: 36px;
    color: var(--color-text-muted);
    cursor: pointer;
    background: none;
    border: none;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: background-color .15s, color .15s;
    display: flex;
    position: absolute;
    top: 12px;
    right: 12px;
  }

  .share-qr-close:hover {
    background: var(--color-neutral-100);
    color: var(--color-text);
  }

  .share-qr-close:focus-visible {
    outline: 2px solid var(--color-brand-indigo-500);
    outline-offset: 2px;
  }

  .share-qr-title {
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    margin: 0 0 6px;
  }

  .share-qr-subtitle {
    font-family: var(--font-body);
    color: var(--color-text-muted);
    margin: 0 0 20px;
    font-size: 14px;
  }

  .share-qr-code-wrap {
    background: var(--color-neutral-0);
    border: 1px solid var(--color-neutral-200);
    border-radius: 12px;
    margin-bottom: 18px;
    padding: 12px;
    display: inline-block;
  }

  .share-qr-url {
    font-family: var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);
    color: var(--color-text-light);
    background: var(--color-neutral-50, #f7f7fa);
    text-overflow: ellipsis;
    white-space: nowrap;
    -webkit-user-select: all;
    user-select: all;
    border-radius: 8px;
    margin: 0 0 18px;
    padding: 8px 10px;
    font-size: 12px;
    overflow: hidden;
  }

  .share-qr-copy {
    background: var(--color-brand-indigo-500);
    width: 100%;
    color: var(--color-neutral-0);
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: var(--font-weight-semibold);
    cursor: pointer;
    border: none;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    transition: background-color .15s;
    display: flex;
  }

  .share-qr-copy:hover {
    background: var(--color-brand-indigo-600);
  }

  .share-qr-copy:focus-visible {
    outline: 2px solid var(--color-brand-yellow-500);
    outline-offset: 2px;
  }

  @media (max-width: 640px) {
    .share-qr-fab {
      opacity: .82;
      width: 42px;
      height: 42px;
      bottom: 10px;
      right: 10px;
      box-shadow: 0 4px 12px -3px #0f00694d;
    }

    .share-qr-fab svg {
      width: 20px;
      height: 20px;
    }

    .share-qr-panel {
      padding: 32px 20px 22px;
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .share-qr-overlay, .share-qr-panel {
      animation: none;
    }

    .share-qr-fab {
      transition: none;
    }
  }

  :root {
    --app-sidebar-width: 260px;
    --app-topbar-height: 64px;
    --app-content-padding: 32px;
    --app-card-radius: 16px;
    --app-card-shadow: 0 1px 3px #0000000a, 0 1px 2px #0000000f;
    --app-card-shadow-hover: 0 4px 12px #00000014;
    --app-transition: all .2s ease-in-out;
    --help-fab-size: 44px;
    --help-fab-offset: 20px;
    --help-fab-gap: 20px;
    --help-chat-bottom: calc(var(--help-fab-offset) + var(--help-fab-size) + var(--help-fab-gap));
    --help-fab-safezone: calc(var(--help-fab-offset) + var(--help-fab-size) + 32px);
  }

  .app-sidebar {
    width: var(--app-sidebar-width);
    background: var(--color-white);
    border-right: 1px solid var(--color-neutral-200);
    z-index: 40;
    flex-direction: column;
    transition: transform .3s ease-in-out;
    display: flex;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    overflow: hidden;
  }

  .app-sidebar-logo {
    border-bottom: 1px solid var(--color-neutral-200);
    flex-shrink: 0;
    align-items: center;
    gap: 12px;
    padding: 24px 20px;
    display: flex;
  }

  .app-sidebar-logo img {
    width: auto;
    height: 32px;
  }

  .app-sidebar-close-btn {
    cursor: pointer;
    color: var(--color-neutral-500);
    background: none;
    border: none;
    border-radius: 6px;
    padding: 4px;
    transition: color .15s, background .15s;
    display: inline-flex;
  }

  .app-sidebar-close-btn:hover {
    color: var(--color-neutral-800);
    background: var(--color-neutral-100);
  }

  #sidebar-toggle-btn {
    cursor: pointer;
    color: #0e503f;
    background: none;
    border: 1.5px solid #0e503f;
    border-radius: 8px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    padding: 0;
    transition: color .15s, background .15s, border-color .15s;
    display: inline-flex;
  }

  #sidebar-toggle-btn:hover {
    color: #0a3b2e;
    background: #0e503f14;
    border-color: #0a3b2e;
  }

  #sidebar-toggle-btn svg {
    width: 20px;
    height: 20px;
  }

  .app-sidebar-nav {
    flex-direction: column;
    flex: 1;
    gap: 4px;
    min-height: 0;
    padding: 16px 12px;
    display: flex;
    overflow-y: auto;
  }

  .app-sidebar-item {
    height: 40px;
    font-family: var(--font-body);
    color: #4a4a68;
    transition: var(--app-transition);
    cursor: pointer;
    text-align: left;
    background: none;
    border: none;
    border-left: 4px solid #0000;
    border-radius: 8px;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 0 12px;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
    display: flex;
  }

  .app-sidebar-item:hover {
    color: var(--color-text);
    background: #f1f3f8;
  }

  .app-sidebar-item--active {
    color: #0f0069;
    background: #f0ecff;
    border-left: 4px solid #0f0069;
    font-weight: 500;
  }

  .app-sidebar-item--active:hover {
    color: #0f0069;
    background: #f0ecff;
  }

  .app-sidebar-item svg, .app-sidebar-item img {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
  }

  .app-sidebar-section {
    flex-direction: column;
    gap: 2px;
    margin-bottom: 12px;
    display: flex;
  }

  .app-sidebar-section:last-child {
    margin-bottom: 0;
  }

  .app-sidebar-section-label {
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--color-text-muted);
    -webkit-user-select: none;
    user-select: none;
    padding: 12px 12px 6px;
    font-size: 12px;
    font-weight: 600;
  }

  .app-sidebar-badge {
    border-radius: 9999px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    min-width: 18px;
    height: 18px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 500;
    line-height: 1;
    display: inline-flex;
  }

  .app-sidebar-badge--count {
    color: #fff;
    background: #f59e0b;
  }

  .app-sidebar-badge--green {
    color: #fff;
    background: #10b981;
    padding: 2px 6px;
  }

  .app-sidebar-badge--ai {
    color: #fff;
    background: #0e503f;
    padding: 2px 7px;
  }

  .app-sidebar-live-dot {
    border-radius: 50%;
    flex-shrink: 0;
    width: 8px;
    height: 8px;
    animation: 1.6s ease-in-out infinite app-sidebar-live-pulse;
    display: inline-block;
  }

  @keyframes app-sidebar-live-pulse {
    0%, 100% {
      box-shadow: 0 0 #10b98199;
    }

    50% {
      box-shadow: 0 0 0 6px #10b98100;
    }
  }

  .app-sidebar-item--locked {
    color: var(--color-text-tertiary, #94a3b8);
    cursor: pointer;
  }

  .app-sidebar-item--locked:hover {
    background: var(--color-neutral-100);
    color: var(--color-text-secondary, #64748b);
  }

  .app-sidebar-item--locked .app-sidebar-badge {
    opacity: .65;
  }

  .app-sidebar-lock {
    color: var(--color-text-tertiary, #94a3b8);
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .app-sidebar-lock svg {
    width: 12px !important;
    height: 12px !important;
  }

  .app-sidebar-footer {
    border-top: 1px solid var(--color-neutral-200);
    flex-shrink: 0;
    padding: 16px 12px;
  }

  .app-sidebar-user {
    margin-top: 0;
    position: relative;
  }

  .app-sidebar-user-btn {
    cursor: pointer;
    text-align: left;
    background: none;
    border: none;
    border-radius: 8px;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 8px;
    display: flex;
  }

  .app-sidebar-user-btn:hover {
    background: #f1f3f8;
  }

  .app-sidebar-user-avatar {
    color: #fff;
    background: #5c3fe0;
    border-radius: 50%;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
  }

  .app-sidebar-user-name {
    color: #1a1a2e;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1;
    font-size: 13px;
    font-weight: 500;
    overflow: hidden;
  }

  .app-sidebar-user-chev {
    color: var(--color-text-muted);
    flex-shrink: 0;
  }

  .app-sidebar-user-menu {
    z-index: 60;
    background: #fff;
    border: 1px solid #e4e7ef;
    border-radius: 10px;
    padding: 6px;
    position: absolute;
    bottom: calc(100% + 6px);
    left: 0;
    right: 0;
    box-shadow: 0 12px 30px -8px #0f00692e;
  }

  .app-sidebar-user-menu button, .app-sidebar-user-menu a {
    color: #1a1a2e;
    cursor: pointer;
    text-align: left;
    background: none;
    border: none;
    border-radius: 6px;
    align-items: center;
    gap: 10px;
    width: 100%;
    padding: 9px 10px;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    display: flex;
  }

  .app-sidebar-user-menu button:hover, .app-sidebar-user-menu a:hover {
    background: #f1f3f8;
  }

  .app-sidebar-user-menu .app-sidebar-user-menu-danger {
    color: #ef4444;
  }

  .app-sidebar-user-menu a.is-current {
    color: #5c3fe0;
    background: #eef0ff;
    font-weight: 600;
  }

  .app-main {
    margin-left: var(--app-sidebar-width);
    background: var(--color-neutral-50);
    min-height: 100vh;
    transition: margin-left .3s ease-in-out;
  }

  body.app-sidebar-hidden .app-sidebar {
    transform: translateX(-100%);
  }

  body.app-sidebar-hidden .app-main {
    margin-left: 0;
  }

  .app-topbar-stack {
    z-index: 95;
    background: var(--color-white);
    position: sticky;
    top: 0;
  }

  .app-topbar {
    height: var(--app-topbar-height);
    background: var(--color-white);
    border-bottom: 1px solid var(--color-neutral-200);
    padding: 0 var(--app-content-padding);
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    display: flex;
  }

  .app-topbar-mode-switcher {
    align-items: center;
    margin-left: auto;
    display: flex;
  }

  .app-sidebar-tab-group {
    flex-direction: column;
    gap: 2px;
    display: flex;
  }

  .app-sidebar-item svg.app-sidebar-chev {
    color: var(--color-text-muted);
    flex-shrink: 0;
    width: 14px;
    height: 14px;
  }

  .app-sidebar-item--in-tab {
    color: #0f0069;
    font-weight: 500;
  }

  .app-sidebar-item--in-tab .app-sidebar-chev {
    color: #0f0069;
  }

  .app-sidebar-children {
    flex-direction: column;
    gap: 1px;
    margin-top: 2px;
    margin-bottom: 4px;
    padding-left: 28px;
    display: flex;
  }

  .app-sidebar-children .app-sidebar-item {
    border-left: none;
    gap: 10px;
    height: 32px;
    padding: 0 10px;
    font-size: 13px;
  }

  .app-sidebar-children .app-sidebar-item--active {
    color: #0f0069;
    background: #f0ecff;
    border-left: none;
  }

  .app-sidebar--school {
    --side-purple: #5b4baa;
    --side-purple-dark: #2a1f5c;
    --side-active-bg: #eaf1ec;
    --side-active-fg: #0e503f;
    --side-green: #10b981;
    --side-divider: #e5e7eb;
    --side-help-red: #e94a5c;
  }

  .app-sidebar--school .app-sidebar-item--tab {
    height: 44px;
    color: var(--side-purple-dark);
    border-left: none;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 600;
  }

  .app-sidebar--school .app-sidebar-item--tab:hover {
    color: var(--side-purple-dark);
    background: #f7f5ff;
  }

  .app-sidebar--school .app-sidebar-item--tab svg:not(.app-sidebar-chev) {
    color: var(--side-purple);
    width: 20px;
    height: 20px;
  }

  .app-sidebar--school .app-sidebar-item--tab[data-nav-key="school-management"] svg:not(.app-sidebar-chev) {
    color: var(--side-green);
  }

  .app-sidebar--school .app-sidebar-item--tab .app-sidebar-chev {
    color: var(--color-text-muted);
  }

  .app-sidebar--school .app-sidebar-children {
    gap: 2px;
    margin-top: 2px;
    padding-left: 44px;
  }

  .app-sidebar--school .app-sidebar-children .app-sidebar-item {
    height: 32px;
    color: var(--side-purple);
    border-radius: 6px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 400;
  }

  .app-sidebar--school .app-sidebar-children .app-sidebar-item:hover {
    color: var(--side-purple-dark);
    background: #f4f2fa;
  }

  .app-sidebar--school .app-sidebar-children .app-sidebar-item--active {
    background: var(--side-active-bg);
    color: var(--side-active-fg);
    font-weight: 600;
  }

  .app-sidebar--school .app-sidebar-footer {
    border-top: 1px solid var(--side-divider);
    padding-top: 12px;
  }

  .app-sidebar--school .app-sidebar-user {
    border-top: 1px solid var(--side-divider);
    margin-top: 12px;
    padding-top: 8px;
  }

  .app-sidebar--school .app-sidebar-footer > .app-sidebar-item {
    height: 40px;
    color: var(--side-purple);
    border-left: none;
    font-size: 14px;
  }

  .app-sidebar--school .app-sidebar-footer > .app-sidebar-item svg {
    color: var(--side-purple);
  }

  .app-sidebar--school .app-sidebar-footer > .app-sidebar-item:hover {
    color: var(--side-purple-dark);
    background: #f4f2fa;
  }

  .app-sidebar--school .app-sidebar-footer > .app-sidebar-item--active {
    background: var(--side-active-bg);
    color: var(--side-active-fg);
  }

  .app-sidebar--school .app-sidebar-user-name {
    color: var(--side-purple);
    font-weight: 500;
  }

  .app-sidebar--school .app-sidebar-user-btn:hover .app-sidebar-user-name {
    color: var(--side-purple-dark);
  }

  .app-sidebar--school .app-sidebar-user-avatar {
    color: var(--side-purple-dark) !important;
    background: #ede8fb !important;
  }

  .app-sidebar--school .app-sidebar-user-chev {
    display: none;
  }

  .app-sidebar-help-btn {
    width: 26px;
    height: 26px;
    color: var(--side-help-red, #e94a5c);
    cursor: pointer;
    background: none;
    border: none;
    border-radius: 50%;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    padding: 0;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    transition: background .15s, color .15s;
    display: inline-flex;
  }

  .app-sidebar-help-btn:hover {
    background: #e94a5c1f;
  }

  .app-sidebar-icon-chip {
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .app-sidebar--personal {
    --pers-navy: #0f0069;
    --pers-yellow: #fdd504;
    --pers-green: #0e503f;
    --pers-coral: #e0562f;
    --pers-green-bg: #e6efec;
    --pers-yellow-bg: #fdf3d3;
    --pers-navy-bg: #e9e6f7;
    --pers-gray-bg: #f1f2ef;
    --pers-line: #e2e4e0;
  }

  .app-sidebar--personal .app-sidebar-nav {
    gap: 2px;
    padding: 8px 12px;
  }

  .app-sidebar--personal .app-sidebar-section {
    gap: 1px;
    margin-bottom: 4px;
  }

  .app-sidebar--personal .app-sidebar-logo {
    border-bottom: 1px solid var(--pers-line);
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-item {
    height: auto;
    color: #1c231f !important;
    border-left: none !important;
    border-radius: 12px !important;
    gap: 10px !important;
    padding: 5px 9px !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-item:hover {
    background: var(--pers-gray-bg) !important;
    color: #1c231f !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-icon-chip {
    background: var(--pers-navy-bg);
    color: var(--pers-navy);
    opacity: 1;
    border-radius: 9px;
    transition: transform .15s, background .15s;
    transform: rotate(-6deg);
    box-shadow: 0 2px 5px #00000014;
    width: 28px !important;
    height: 28px !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-icon-chip svg {
    opacity: 1;
    width: 16px !important;
    height: 16px !important;
    color: inherit !important;
  }

  .app-sidebar--personal .app-sidebar-nav [data-nav-key="all-students"] .app-sidebar-icon-chip, .app-sidebar--personal .app-sidebar-nav [data-nav-key="lessons-studio"] .app-sidebar-icon-chip, .app-sidebar--personal .app-sidebar-nav [data-nav-key="payments"] .app-sidebar-icon-chip {
    background: var(--pers-yellow-bg);
    color: var(--pers-green);
  }

  .app-sidebar--personal .app-sidebar-nav [data-nav-key="schedule"] .app-sidebar-icon-chip, .app-sidebar--personal .app-sidebar-nav [data-nav-key="resources"] .app-sidebar-icon-chip, .app-sidebar--personal .app-sidebar-nav [data-nav-key="leads"] .app-sidebar-icon-chip {
    background: var(--pers-green-bg);
    color: var(--pers-green);
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-item--active {
    background: var(--pers-yellow) !important;
    color: var(--pers-navy) !important;
    border-left: none !important;
    font-weight: 700 !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-item--active:hover {
    background: var(--pers-yellow) !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-item--active .app-sidebar-icon-chip {
    transform: rotate(6deg);
    color: var(--pers-navy) !important;
    background: #fff !important;
  }

  .app-sidebar--personal .app-sidebar-section-label {
    letter-spacing: .05em !important;
    color: #8b929a !important;
    padding: 6px 8px 2px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
  }

  .app-sidebar--personal .app-sidebar-nav .app-sidebar-badge--ai {
    background: var(--pers-green);
    color: #fff;
  }

  .app-sidebar--personal .app-sidebar-footer {
    background: var(--pers-green);
    border-top: none;
    flex-direction: column;
    gap: 2px;
    padding: 8px 12px 10px;
    display: flex;
  }

  .app-sidebar--personal .app-sidebar-footer .app-sidebar-item {
    color: #cfe0d8;
    background: none;
    border-left: none;
    border-radius: 6px;
    gap: 9px;
    height: auto;
    padding: 4px;
    font-size: 12px;
    font-weight: 600;
  }

  .app-sidebar--personal .app-sidebar-footer .app-sidebar-item:hover {
    color: #fff;
    background: #ffffff0f;
  }

  .app-sidebar--personal .app-sidebar-footer .app-sidebar-item--active {
    color: #fff;
    background: #ffffff1a;
  }

  .app-sidebar--personal .app-sidebar-user {
    border-top: none;
    margin-top: 0;
    padding-top: 0;
  }

  .app-sidebar--personal .app-sidebar-user-btn:hover {
    background: #ffffff0f;
  }

  .app-sidebar--personal .app-sidebar-user-avatar {
    font-size: 12px;
    font-weight: 800;
    background: var(--pers-yellow) !important;
    width: 28px !important;
    height: 28px !important;
    color: var(--pers-navy) !important;
  }

  .app-sidebar--personal .app-sidebar-user-name {
    color: #fff;
    font-size: 12.5px;
    font-weight: 600;
  }

  .app-sidebar--personal .app-sidebar-user-chev {
    display: none;
  }

  .app-sidebar--personal .app-sidebar-help-btn {
    background: var(--pers-coral);
    color: #fff;
    width: 22px;
    height: 22px;
    font-size: 11px;
    font-weight: 800;
    transform: translateY(-50%) rotate(-8deg);
  }

  .app-sidebar--personal .app-sidebar-help-btn:hover {
    background: var(--pers-coral);
    filter: brightness(1.08);
  }

  .app-content {
    padding: var(--app-content-padding);
    padding-bottom: var(--help-fab-safezone);
    max-width: 1400px;
  }

  .app-card {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--app-card-radius);
    box-shadow: var(--app-card-shadow);
    transition: var(--app-transition);
  }

  .app-card:hover {
    box-shadow: var(--app-card-shadow-hover);
  }

  .app-card-header {
    border-bottom: 1px solid var(--color-neutral-200);
    justify-content: space-between;
    align-items: center;
    padding: 20px 24px;
    display: flex;
  }

  .app-card-header h3, .app-card-header h4 {
    color: var(--color-text);
    margin: 0;
  }

  .app-card-body {
    padding: 24px;
  }

  .app-stat-card {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--app-card-radius);
    box-shadow: var(--app-card-shadow);
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    display: flex;
  }

  .app-stat-number {
    font-family: var(--font-primary);
    font-size: 32px;
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    line-height: 1.2;
  }

  .app-stat-label {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    color: var(--color-text-muted);
    font-weight: var(--font-weight-medium);
  }

  .app-table {
    border-collapse: collapse;
    width: 100%;
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
  }

  .app-table th {
    text-align: left;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text-muted);
    font-size: var(--font-size-caption);
    text-transform: uppercase;
    letter-spacing: var(--letter-spacing-wider);
    border-bottom: 1px solid var(--color-neutral-200);
    background: var(--color-neutral-50);
    padding: 12px 16px;
  }

  .app-table td {
    color: var(--color-text);
    border-bottom: 1px solid var(--color-neutral-100);
    vertical-align: middle;
    padding: 12px 16px;
  }

  .app-table tr:hover td {
    background: var(--color-neutral-50);
  }

  .app-table tr:last-child td {
    border-bottom: none;
  }

  .app-badge {
    font-family: var(--font-body);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-semibold);
    white-space: nowrap;
    border-radius: 9999px;
    align-items: center;
    padding: 4px 10px;
    line-height: 1.2;
    display: inline-flex;
  }

  .app-badge--success {
    background: var(--color-success-100);
    color: var(--color-success-700);
  }

  .app-badge--warning {
    background: var(--color-warning-100);
    color: var(--color-warning-700);
  }

  .app-badge--error {
    background: var(--color-error-100);
    color: var(--color-error-700);
  }

  .app-badge--info {
    background: var(--color-info-100);
    color: var(--color-info-700);
  }

  .app-badge--neutral {
    background: var(--color-neutral-100);
    color: var(--color-neutral-400);
  }

  .app-format-badge {
    width: 24px;
    height: 24px;
    font-family: var(--font-primary);
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
  }

  .app-format-badge--group {
    color: #1d4ed8;
    background: #dbeafe;
  }

  .app-format-badge--individual {
    color: #dc2626;
    background: #fee2e2;
  }

  .app-format-badges {
    align-items: center;
    gap: 4px;
    display: inline-flex;
  }

  .app-format-legend {
    font-family: var(--font-body);
    color: var(--color-text-muted);
    align-items: center;
    gap: 12px;
    font-size: 11px;
    display: inline-flex;
  }

  .app-format-legend-item {
    align-items: center;
    gap: 4px;
    display: inline-flex;
  }

  .app-level-badge {
    font-family: var(--font-primary);
    font-size: var(--font-size-caption);
    font-weight: var(--font-weight-bold);
    letter-spacing: var(--letter-spacing-wider);
    text-transform: uppercase;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    padding: 4px 12px;
    line-height: 1.2;
    display: inline-flex;
  }

  .app-level-badge--a1 {
    color: #047857;
    background: #ecfdf5;
  }

  .app-level-badge--a2 {
    color: #0e7490;
    background: #e0fdff;
  }

  .app-level-badge--b1 {
    background: var(--color-info-100);
    color: var(--color-info-700);
  }

  .app-level-badge--b2 {
    background: var(--color-brand-indigo-50);
    color: var(--color-brand-indigo-500);
  }

  .app-level-badge--c1 {
    color: #6b21a8;
    background: #f3e8ff;
  }

  .app-level-badge--c2 {
    color: #4c1d95;
    background: #ede9fe;
  }

  .app-insight-box {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-left: 4px solid var(--color-brand-indigo-300);
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    color: var(--color-text);
    line-height: var(--line-height-body-small);
    border-radius: 12px;
    padding: 20px 24px;
  }

  .app-insight-box--alert {
    border-left-color: var(--color-warning-400);
    background: var(--color-warning-100);
  }

  .app-insight-box--suggestion {
    border-left-color: var(--color-brand-indigo-400);
    background: var(--color-brand-indigo-50);
  }

  .app-insight-box--progress {
    border-left-color: var(--color-success-400);
    background: var(--color-success-100);
  }

  .app-panel {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: 12px;
    overflow: hidden;
  }

  .app-panel-header {
    background: var(--color-neutral-50);
    border-bottom: 1px solid var(--color-neutral-200);
    font-family: var(--font-primary);
    font-weight: var(--font-weight-semibold);
    font-size: var(--font-size-body-small);
    color: var(--color-text);
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    display: flex;
  }

  .app-panel-body {
    padding: 20px;
  }

  .app-search {
    background: var(--color-neutral-100);
    border: 1px solid var(--color-neutral-200);
    transition: var(--app-transition);
    border-radius: 8px;
    align-items: center;
    gap: 8px;
    width: 100%;
    max-width: 400px;
    padding: 8px 12px;
    display: flex;
  }

  .app-search:focus-within {
    border-color: var(--color-brand-indigo-300);
    background: var(--color-white);
    box-shadow: 0 0 0 3px #0f00691a;
  }

  .app-search input {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    color: var(--color-text);
    background: none;
    border: none;
    outline: none;
    width: 100%;
  }

  .app-search input::placeholder {
    color: var(--color-text-muted);
  }

  .app-search svg {
    width: 18px;
    height: 18px;
    color: var(--color-text-muted);
    flex-shrink: 0;
  }

  .app-filter-bar {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .app-progress {
    background: var(--color-neutral-200);
    border-radius: 9999px;
    width: 100%;
    height: 8px;
    overflow: hidden;
  }

  .app-progress-bar {
    background: var(--color-brand-indigo-500);
    border-radius: 9999px;
    height: 100%;
    transition: width .4s ease-in-out;
  }

  .app-calendar {
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    grid-template-columns: repeat(7, 1fr);
    gap: 2px;
    display: grid;
  }

  .app-calendar-day {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    cursor: pointer;
    min-height: 80px;
    transition: var(--app-transition);
    border-radius: 4px;
    padding: 8px;
  }

  .app-calendar-day:hover {
    background: var(--color-neutral-50);
    border-color: var(--color-brand-indigo-300);
  }

  .app-calendar-event {
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    background: var(--color-brand-indigo-50);
    color: var(--color-brand-indigo-500);
    white-space: nowrap;
    text-overflow: ellipsis;
    border-radius: 4px;
    margin-top: 4px;
    padding: 2px 6px;
    display: block;
    overflow: hidden;
  }

  .app-empty-state {
    text-align: center;
    color: var(--color-text-muted);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 64px 32px;
    display: flex;
  }

  .app-empty-state svg, .app-empty-state img {
    opacity: .5;
    width: 80px;
    height: 80px;
    margin-bottom: 24px;
  }

  .app-empty-state p {
    max-width: 400px;
    margin: 0;
  }

  .app-quick-action {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: var(--app-card-radius);
    box-shadow: var(--app-card-shadow);
    cursor: pointer;
    transition: var(--app-transition);
    font-family: var(--font-body);
    font-size: var(--font-size-body-small);
    font-weight: var(--font-weight-medium);
    color: var(--color-text);
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 24px 16px;
    text-decoration: none;
    display: flex;
  }

  .app-quick-action:hover {
    border-color: var(--color-brand-indigo-300);
    box-shadow: var(--app-card-shadow-hover);
    transform: translateY(-2px);
  }

  .app-quick-action:active {
    transform: translateY(0);
  }

  .app-quick-action svg, .app-quick-action img {
    width: 32px;
    height: 32px;
    color: var(--color-brand-indigo-500);
  }

  @media (max-width: 768px) {
    :root {
      --app-content-padding: 16px;
    }

    .app-sidebar {
      z-index: 50;
      transition: transform .3s ease-in-out;
      transform: translateX(-100%);
    }

    .app-sidebar--open {
      transform: translateX(0);
    }

    .app-main {
      margin-left: 0;
      overflow-x: hidden;
    }

    .app-topbar {
      padding: 0 16px;
    }

    .app-stat-number {
      font-size: 24px;
    }

    .app-calendar-day {
      min-height: 48px;
      padding: 4px;
      font-size: 12px;
    }

    .app-calendar-event {
      padding: 1px 4px;
      font-size: 10px;
    }

    .app-table {
      -webkit-overflow-scrolling: touch;
      display: block;
      overflow-x: auto;
    }

    .app-card-header, .app-card-body {
      padding: 16px;
    }
  }

  .app-sidebar-overlay {
    z-index: 45;
    background: #0006;
    display: none;
    position: fixed;
    inset: 0;
  }

  .app-sidebar-overlay--visible {
    display: block;
  }

  .dashboard-lang-tags {
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    max-width: 50%;
    display: flex;
    position: absolute;
    top: 16px;
    right: 20px;
  }

  .dashboard-lang-tag {
    color: #fff;
    white-space: nowrap;
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    background: #fff3;
    border-radius: 12px;
    padding: 3px 10px;
    font-size: 12px;
    font-weight: 500;
    display: inline-block;
  }

  @media (max-width: 600px) {
    .dashboard-lang-tags {
      justify-content: flex-start;
      max-width: 100%;
      margin-top: 12px;
      position: static;
    }
  }

  .app-mode-switcher {
    flex-shrink: 0;
    gap: 4px;
    padding: 12px 12px 0;
    display: flex;
  }

  .app-mode-btn {
    color: var(--color-text-muted);
    font-family: var(--font-body);
    cursor: pointer;
    white-space: nowrap;
    background: none;
    border: none;
    border-radius: 8px;
    flex: 1;
    justify-content: center;
    align-items: center;
    gap: 6px;
    padding: 8px 10px;
    font-size: 14px;
    font-weight: 400;
    transition: all .2s;
    display: flex;
  }

  .app-mode-btn:hover {
    background: var(--color-neutral-100);
    color: var(--color-text);
  }

  .app-mode-btn--active {
    color: #fff;
    background: #0f0069;
    font-weight: 600;
    box-shadow: 0 8px 30px -8px #0f006959;
  }

  .app-mode-btn--active:hover {
    color: #fff;
    background: #0c0054;
  }

  .app-welcome-banner {
    color: #fff;
    border-radius: 20px;
    padding: 32px 36px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px -8px #0f006959, 0 2px 6px #0f00691a;
  }

  .app-welcome-banner--indigo {
    background: radial-gradient(circle at 100% 0, #ffffff2e 0%, #0000 50%), linear-gradient(135deg, #1e0a8a 0%, #0f0069 55%, #2d1b80 100%);
  }

  .app-welcome-banner--teal {
    background: radial-gradient(circle at 100% 0, #fff3 0%, #0000 50%), linear-gradient(135deg, #0f766e 0%, #0d9488 60%, #14b8a6 100%);
    box-shadow: 0 10px 30px -8px #0d948859, 0 2px 6px #0d94881a;
  }

  .app-welcome-banner--blue {
    background: radial-gradient(circle at 100% 0, #fff3 0%, #0000 50%), linear-gradient(135deg, #0d47a1 0%, #1565c0 55%, #1e88e5 100%);
    box-shadow: 0 10px 30px -8px #0d47a159, 0 2px 6px #0d47a11a;
  }

  .app-welcome-banner:before {
    content: "";
    pointer-events: none;
    opacity: .6;
    background-image: radial-gradient(circle, #ffffff14 1px, #0000 1px);
    background-size: 22px 22px;
    position: absolute;
    inset: 0;
  }

  .app-welcome-banner > * {
    z-index: 1;
    position: relative;
  }

  .app-welcome-eyebrow {
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #fffffff5;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #ffffff24;
    border-radius: 999px;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    padding: 6px 12px;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex;
  }

  .app-welcome-eyebrow:before {
    content: "";
    background: #4ade80;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    box-shadow: 0 0 0 3px #4ade804d;
  }

  .app-welcome-title {
    color: #fff;
    letter-spacing: -.01em;
    margin: 0 0 6px;
    font-size: 26px;
    font-weight: 700;
  }

  .app-welcome-subtitle {
    color: #fffffff2;
    text-shadow: 0 1px 2px #00000047;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
  }

  .app-stat-card--premium {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: 16px;
    flex-direction: column;
    gap: 14px;
    padding: 22px 22px 20px;
    transition: transform .2s, box-shadow .2s, border-color .2s;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .app-stat-card--premium:hover {
    border-color: var(--color-neutral-300);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px -6px #0f172a1f, 0 2px 6px #0f172a0d;
  }

  .app-stat-card--premium:before {
    content: "";
    background: var(--accent, #6366f1);
    opacity: .9;
    height: 3px;
    position: absolute;
    inset: 0 0 auto;
  }

  .app-stat-top {
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    display: flex;
  }

  .app-stat-icon {
    background: var(--accent-bg, #6366f11a);
    width: 42px;
    height: 42px;
    color: var(--accent, #6366f1);
    border-radius: 12px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .app-stat-icon svg {
    width: 22px;
    height: 22px;
  }

  .app-stat-number--premium {
    font-family: var(--font-primary);
    color: var(--color-text);
    letter-spacing: -.02em;
    font-size: 34px;
    font-weight: 800;
    line-height: 1;
  }

  .app-stat-label--premium {
    font-family: var(--font-body);
    color: var(--color-text-muted);
    margin-top: 4px;
    font-size: 13px;
    font-weight: 500;
  }

  .app-stat-trend {
    color: var(--color-success-700, #15803d);
    background: var(--color-success-100, #dcfce7);
    border-radius: 999px;
    align-items: center;
    gap: 4px;
    width: fit-content;
    margin-top: 8px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    display: inline-flex;
  }

  .stat--indigo, .qa--indigo {
    --accent: #4f46e5;
    --accent-bg: #4f46e51a;
  }

  .stat--green, .qa--green {
    --accent: #16a34a;
    --accent-bg: #16a34a1a;
  }

  .stat--amber, .qa--amber {
    --accent: #d97706;
    --accent-bg: #d977061f;
  }

  .stat--blue, .qa--blue {
    --accent: #2563eb;
    --accent-bg: #2563eb1a;
  }

  .stat--teal, .qa--teal {
    --accent: #0d9488;
    --accent-bg: #0d94881a;
  }

  .stat--coral, .qa--coral {
    --accent: #e11d48;
    --accent-bg: #e11d481a;
  }

  .stat--plum, .qa--plum {
    --accent: #7c3aed;
    --accent-bg: #7c3aed1a;
  }

  .app-section-eyebrow {
    text-transform: uppercase;
    letter-spacing: .1em;
    color: var(--color-text-muted);
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    display: inline-block;
  }

  .app-section-title {
    color: var(--color-text);
    letter-spacing: -.01em;
    margin: 0;
    font-size: 18px;
    font-weight: 700;
  }

  .app-card--premium {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    border-radius: 16px;
    transition: box-shadow .2s, border-color .2s;
    overflow: hidden;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .app-card--premium:hover {
    box-shadow: 0 4px 16px -4px #0f172a14;
  }

  .app-card--premium .app-card-header {
    border-bottom: 1px solid var(--color-neutral-100);
    padding: 18px 22px;
  }

  .app-card--premium .app-card-body {
    padding: 8px 8px 12px;
  }

  .app-avatar {
    color: #fff;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border-radius: 50%;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
  }

  .app-avatar--sm {
    width: 28px;
    height: 28px;
    font-size: 12px;
  }

  .app-avatar--teal {
    background: linear-gradient(135deg, #0d9488, #14b8a6);
  }

  .app-avatar--blue {
    background: linear-gradient(135deg, #2563eb, #3b82f6);
  }

  .app-avatar--amber {
    background: linear-gradient(135deg, #d97706, #f59e0b);
  }

  .app-avatar--green {
    background: linear-gradient(135deg, #16a34a, #22c55e);
  }

  .app-avatar--coral {
    background: linear-gradient(135deg, #e11d48, #f43f5e);
  }

  .app-avatar--purple {
    background: linear-gradient(135deg, #7c3aed, #a855f7);
  }

  .app-cell-with-avatar {
    align-items: center;
    gap: 10px;
    display: inline-flex;
  }

  .app-cell-with-avatar-text {
    flex-direction: column;
    line-height: 1.3;
    display: flex;
  }

  .app-cell-with-avatar-text small {
    color: var(--color-text-muted);
    font-size: 11px;
  }

  .app-table--premium th {
    border-bottom: 1px solid var(--color-neutral-200);
    color: var(--color-text-muted);
    letter-spacing: .08em;
    background: none;
    padding: 14px 20px;
    font-size: 11px;
  }

  .app-table--premium td {
    border-bottom: 1px solid var(--color-neutral-100);
    padding: 14px 20px;
  }

  .app-table--premium tr:hover td {
    background: var(--color-neutral-50);
  }

  .app-quick-action--premium {
    background: var(--color-white);
    border: 1px solid var(--color-neutral-200);
    color: var(--color-text);
    border-radius: 14px;
    align-items: center;
    gap: 14px;
    padding: 14px 18px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: transform .18s, box-shadow .18s, border-color .18s;
    display: flex;
    position: relative;
  }

  .app-quick-action--premium:hover {
    border-color: var(--color-brand-indigo-300);
    transform: translateY(-1px);
    box-shadow: 0 6px 18px -6px #0f00692e;
  }

  .app-quick-action--premium .qa-icon {
    background: var(--accent-bg, #4f46e51a);
    width: 38px;
    height: 38px;
    color: var(--accent, #4f46e5);
    border-radius: 10px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .app-quick-action--premium .qa-icon svg {
    width: 20px;
    height: 20px;
  }

  .app-quick-action--premium .qa-chevron {
    color: var(--color-neutral-400);
    margin-left: auto;
    transition: transform .2s, color .2s;
  }

  .app-quick-action--premium:hover .qa-chevron {
    color: var(--color-brand-indigo-500);
    transform: translateX(2px);
  }

  .app-team-row {
    border-bottom: 1px solid var(--color-neutral-100);
    color: inherit;
    justify-content: space-between;
    align-items: center;
    padding: 14px 22px;
    text-decoration: none;
    transition: background .12s;
    display: flex;
  }

  .app-team-row:last-child {
    border-bottom: none;
  }

  .app-team-row:hover {
    background: var(--color-neutral-50);
  }

  .app-team-row-info {
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .app-team-row-stats {
    color: var(--color-text-muted);
    align-items: center;
    gap: 22px;
    font-size: 13px;
    display: flex;
  }

  .app-team-row-stat {
    text-align: center;
  }

  .app-team-row-stat-num {
    color: #0d9488;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.1;
  }

  .app-team-row-stat-lbl {
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted);
    font-size: 11px;
  }

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

  .app-mini-day {
    text-align: center;
    background: var(--color-neutral-50);
    border: 1px solid var(--color-neutral-100);
    border-radius: 12px;
    flex-direction: column;
    align-items: center;
    min-height: 100px;
    padding: 12px 6px 10px;
    transition: border-color .15s, background .15s;
    display: flex;
  }

  .app-mini-day:hover {
    border-color: var(--color-neutral-200);
    background: #fff;
  }

  .app-mini-day--today {
    background: linear-gradient(135deg, #1e88e514, #0d47a114);
    border: 1px solid #1e88e559;
    box-shadow: 0 2px 8px -2px #1e88e52e;
  }

  .app-mini-day-name {
    text-transform: uppercase;
    letter-spacing: .08em;
    color: var(--color-text-muted);
    font-size: 11px;
    font-weight: 700;
  }

  .app-mini-day--today .app-mini-day-name {
    color: #1565c0;
  }

  .app-mini-day-num {
    color: var(--color-text);
    margin: 2px 0 8px;
    font-size: 18px;
    font-weight: 700;
  }

  .app-mini-day--today .app-mini-day-num {
    color: #0d47a1;
  }

  .app-mini-day-pill {
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #0d47a1;
    background: #0d47a11a;
    border-radius: 6px;
    width: 100%;
    margin-top: 3px;
    padding: 2px 6px;
    font-size: 10px;
    font-weight: 600;
    overflow: hidden;
  }

  .app-mini-day-pill--cancelled {
    background: var(--color-error-100, #fee2e2);
    color: var(--color-error-700, #b91c1c);
    text-decoration: line-through;
  }

  .app-mini-day-empty {
    color: var(--color-neutral-300);
    margin-top: 4px;
    font-size: 18px;
  }

  .dashboard-two-cols {
    grid-template-columns: 1fr;
    gap: 24px;
    display: grid;
  }

  @media (min-width: 1024px) {
    .dashboard-two-cols {
      grid-template-columns: 2fr 1fr;
    }
  }

  .dashboard-two-cols-even {
    grid-template-columns: 1fr;
    gap: 24px;
    display: grid;
  }

  @media (min-width: 768px) {
    .dashboard-two-cols-even {
      grid-template-columns: 1fr 1fr;
    }
  }

  .dashboard-three-cols {
    grid-template-columns: 1fr;
    gap: 16px;
    display: grid;
  }

  @media (min-width: 900px) {
    .dashboard-three-cols {
      grid-template-columns: 1fr 1fr 1fr;
    }
  }

  .teacher-dash-two-cols {
    grid-template-columns: 1fr;
    gap: 24px;
    display: grid;
  }

  @media (min-width: 1024px) {
    .teacher-dash-two-cols {
      grid-template-columns: 1fr 1fr;
    }
  }

  .app-stat-earnings {
    color: var(--color-success-700, #15803d);
  }

  .app-finance-page {
    flex-direction: column;
    gap: 18px;
    display: flex;
  }

  .app-finance-page__picker {
    z-index: 3;
    background: var(--color-surface, #fff);
    border-bottom: 1px solid var(--color-neutral-100, #f3f4f6);
    padding: 6px 0 10px;
    position: sticky;
    top: 0;
  }

  .app-period-picker {
    flex-direction: column;
    gap: 10px;
    display: flex;
  }

  .app-period-picker__chips {
    flex-wrap: wrap;
    gap: 6px;
    display: flex;
  }

  .app-period-picker__custom {
    background: var(--color-neutral-50, #f9fafb);
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    border-radius: 10px;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
    padding: 10px 12px;
    display: flex;
  }

  .app-period-picker__field {
    color: var(--color-text-muted, #6b7280);
    flex-direction: column;
    gap: 4px;
    font-size: 12px;
    display: flex;
  }

  .app-period-picker__field input {
    border: 1px solid var(--color-neutral-300, #d1d5db);
    color: var(--color-text, #111827);
    background: #fff;
    border-radius: 6px;
    padding: 6px 10px;
    font-family: inherit;
    font-size: 13px;
  }

  .app-period-picker__field input:focus {
    outline-offset: 1px;
    outline: 2px solid #0f0069;
  }

  .app-period-picker__error {
    width: 100%;
    color: var(--color-error-700, #b91c1c);
    margin-top: 2px;
    font-size: 12px;
  }

  .app-period-chip:disabled {
    opacity: .55;
    cursor: not-allowed;
  }

  .app-period-chip {
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    color: var(--color-text, #111827);
    cursor: pointer;
    background: #fff;
    border-radius: 999px;
    padding: 7px 14px;
    font-size: 13px;
    font-weight: 600;
    transition: background .12s, color .12s, border-color .12s, transform .12s;
  }

  .app-period-chip:hover {
    background: var(--color-neutral-50, #f9fafb);
    border-color: var(--color-neutral-300, #d1d5db);
  }

  .app-period-chip.is-active {
    color: #fff;
    background: #0f0069;
    border-color: #0f0069;
    box-shadow: 0 1px 4px #0f006940;
  }

  .app-finance-layout {
    flex-direction: column;
    gap: 18px;
    display: flex;
  }

  .app-finance-hero {
    grid-template-columns: 1fr;
    gap: 14px;
    display: grid;
  }

  @media (min-width: 720px) {
    .app-finance-hero {
      grid-template-columns: repeat(3, 1fr);
    }
  }

  .app-finance-card {
    border: 1px solid var(--color-neutral-100, #f3f4f6);
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
  }

  .app-finance-chart {
    flex-direction: column;
    gap: 8px;
    display: flex;
  }

  .app-finance-chart__header {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    display: flex;
  }

  .app-finance-chart__title {
    color: var(--color-text, #111827);
    margin: 0;
    font-size: 14px;
    font-weight: 700;
  }

  .app-finance-chart__legend {
    color: var(--color-text-muted, #6b7280);
    align-items: center;
    gap: 6px;
    font-size: 12px;
    display: inline-flex;
  }

  .app-finance-chart__legend-dot {
    border-radius: 2px;
    width: 10px;
    height: 10px;
    display: inline-block;
  }

  .app-finance-chart__svg-wrap {
    width: 100%;
    position: relative;
    overflow-x: auto;
  }

  .app-finance-chart__svg-wrap svg {
    width: 100%;
    min-width: 560px;
    height: 220px;
    display: block;
  }

  .app-finance-chart__empty {
    color: var(--color-text-muted, #6b7280);
    pointer-events: none;
    background: #ffffffd9;
    justify-content: center;
    align-items: center;
    font-size: 13px;
    display: flex;
    position: absolute;
    inset: 0;
  }

  .app-finance-collapse {
    border: 1px solid var(--color-neutral-100, #f3f4f6);
    background: #fff;
    border-radius: 14px;
    overflow: hidden;
  }

  .app-finance-collapse__summary {
    cursor: pointer;
    color: var(--color-text, #111827);
    -webkit-user-select: none;
    user-select: none;
    align-items: center;
    gap: 12px;
    padding: 14px 18px;
    font-weight: 600;
    list-style: none;
    transition: background .12s;
    display: flex;
  }

  .app-finance-collapse__summary::-webkit-details-marker {
    display: none;
  }

  .app-finance-collapse__summary:hover {
    background: var(--color-neutral-50, #f9fafb);
  }

  .app-finance-collapse__title {
    align-items: center;
    gap: 10px;
    font-size: 15px;
    display: inline-flex;
  }

  .app-finance-collapse__icon {
    font-size: 18px;
    line-height: 1;
  }

  .app-finance-collapse__subtitle {
    color: var(--color-text-muted, #6b7280);
    margin-left: auto;
    font-size: 12px;
    font-weight: 500;
  }

  .app-finance-collapse__chevron {
    color: var(--color-text-muted, #6b7280);
    font-size: 14px;
    transition: transform .16s;
  }

  .app-finance-collapse[open] .app-finance-collapse__chevron {
    transform: rotate(180deg);
  }

  .app-finance-collapse__body {
    border-top: 1px solid var(--color-neutral-100, #f3f4f6);
    padding: 4px 0 0;
  }

  .app-finance-table-wrap {
    overflow-x: auto;
  }

  .app-finance-empty {
    text-align: center;
    color: var(--color-text-muted, #6b7280);
    padding: 36px 20px;
    font-size: 14px;
  }

  .app-finance-badge {
    letter-spacing: .2px;
    border-radius: 10px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    display: inline-block;
  }

  .app-finance-badge--subscription {
    color: #1d4ed8;
    background: #2563eb1a;
  }

  .app-finance-badge--package {
    color: #6d28d9;
    background: #7c3aed1a;
  }

  .app-finance-badge--per_class {
    color: #15803d;
    background: #16a34a1a;
  }

  .app-avatar--indigo {
    background: linear-gradient(135deg, #0f0069, #4338ca);
  }

  .sched-hub {
    box-sizing: border-box;
    flex-direction: column;
    gap: 22px;
    width: 100%;
    max-width: 1400px;
    margin: 0 auto;
    padding: 24px 24px 40px;
    display: flex;
  }

  @media (max-width: 768px) {
    .sched-hub {
      gap: 18px;
      padding: 16px 14px 32px;
    }
  }

  .sched-hero {
    color: #fff;
    background: radial-gradient(circle at 100% 0, #fff3 0%, #0000 55%), radial-gradient(circle at 0 100%, #fbe8402e 0%, #0000 50%), linear-gradient(135deg, #1e0a8a 0%, #0f0069 55%, #2d1b80 100%);
    border-radius: 22px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 24px;
    padding: 30px 34px;
    display: flex;
    position: relative;
    overflow: hidden;
    box-shadow: 0 14px 36px -10px #0f006973, 0 2px 6px #0f00691f;
  }

  .sched-hero:before {
    content: "";
    pointer-events: none;
    opacity: .5;
    background-image: radial-gradient(circle, #ffffff14 1px, #0000 1px);
    background-size: 22px 22px;
    position: absolute;
    inset: 0;
  }

  .sched-hero > * {
    z-index: 1;
    position: relative;
  }

  .sched-hero-left {
    max-width: 640px;
  }

  .sched-hero-eyebrow {
    text-transform: uppercase;
    letter-spacing: .14em;
    color: #ffffffeb;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #ffffff29;
    border-radius: 999px;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    display: inline-flex;
  }

  .sched-hero-eyebrow:before {
    content: "";
    background: #4ade80;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    animation: 2s ease-in-out infinite schedPulseDot;
    box-shadow: 0 0 0 3px #4ade804d;
  }

  @keyframes schedPulseDot {
    0%, 100% {
      box-shadow: 0 0 0 3px #4ade804d;
    }

    50% {
      box-shadow: 0 0 0 5px #4ade8026;
    }
  }

  .sched-hero-title {
    letter-spacing: -.01em;
    margin: 0 0 6px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.2;
  }

  .sched-hero-subtitle {
    color: #fffffff2;
    text-shadow: 0 1px 2px #00000047;
    margin: 0;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.55;
  }

  .sched-hero-cta {
    color: #0f0069;
    cursor: pointer;
    white-space: nowrap;
    background: #fbe840;
    border: none;
    border-radius: 12px;
    align-items: center;
    gap: 10px;
    padding: 13px 22px;
    font-size: 15px;
    font-weight: 700;
    transition: transform .16s, box-shadow .16s, background .16s;
    display: inline-flex;
    box-shadow: 0 8px 22px -6px #fbe8408c, 0 2px 4px #00000014;
  }

  .sched-hero-cta:hover {
    background: #fff04a;
    transform: translateY(-1px);
    box-shadow: 0 12px 28px -8px #fbe840a6, 0 3px 6px #0000001a;
  }

  .sched-hero-cta:active {
    transform: translateY(0);
  }

  .sched-hero-cta-icon {
    background: #0f00691a;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    width: 22px;
    height: 22px;
    font-size: 13px;
    display: inline-flex;
  }

  .sched-stats {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    display: grid;
  }

  @media (max-width: 1024px) {
    .sched-stats {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  @media (max-width: 520px) {
    .sched-stats {
      grid-template-columns: 1fr;
    }
  }

  .sched-tabs-row {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    display: flex;
  }

  .sched-tabs {
    background: var(--color-neutral-100, #f3f4f6);
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    border-radius: 14px;
    gap: 6px;
    padding: 6px;
    display: inline-flex;
  }

  .sched-tab {
    color: var(--color-text-muted, #6b7280);
    font-family: var(--font-body);
    cursor: pointer;
    white-space: nowrap;
    background: none;
    border: none;
    border-radius: 10px;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 600;
    transition: background .15s, color .15s, box-shadow .15s;
    display: inline-flex;
  }

  .sched-tab:hover {
    color: #0f0069;
    background: #0f00690f;
  }

  .sched-tab[aria-selected="true"] {
    color: #0f0069;
    background: #fff;
    box-shadow: 0 2px 6px #0f172a14, 0 1px 2px #0f172a0a;
  }

  .sched-tab-icon {
    font-size: 16px;
    line-height: 1;
  }

  .sched-tab-badge {
    color: #fff;
    background: #e11d48;
    border-radius: 10px;
    justify-content: center;
    align-items: center;
    min-width: 22px;
    height: 20px;
    margin-left: 2px;
    padding: 0 7px;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    display: inline-flex;
    box-shadow: 0 1px 2px #e11d484d;
  }

  .sched-tab[aria-selected="true"] .sched-tab-badge {
    background: #e11d48;
  }

  .sched-body {
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    background: #fff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .sched-body--flush {
    padding: 0;
  }

  .sched-body--padded {
    padding: 22px 24px;
  }

  @media (max-width: 768px) {
    .sched-body--padded {
      padding: 16px 14px;
    }
  }

  .sched-empty {
    text-align: center;
    color: var(--color-text-muted, #6b7280);
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 48px 24px;
    display: flex;
  }

  .sched-empty-icon {
    background: linear-gradient(135deg, #eef2ff, #ede9fe);
    border-radius: 18px;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    margin-bottom: 16px;
    font-size: 34px;
    display: flex;
    box-shadow: 0 6px 18px -6px #4f46e52e;
  }

  .sched-empty-title {
    color: var(--color-text, #1f2937);
    margin: 0 0 6px;
    font-size: 17px;
    font-weight: 700;
  }

  .sched-empty-text {
    max-width: 380px;
    margin: 0;
    font-size: 14px;
    line-height: 1.5;
  }

  .sched-layout {
    grid-template-columns: 240px 1fr;
    align-items: start;
    gap: 20px;
    display: grid;
  }

  .sched-layout--solo {
    grid-template-columns: 1fr;
  }

  @media (max-width: 900px) {
    .sched-layout {
      grid-template-columns: 1fr;
      gap: 14px;
    }

    .sched-rail {
      gap: 10px;
      padding: 12px;
      position: static;
    }

    .sched-rail-greeting-line1 {
      font-size: 14px;
    }

    .sched-rail-greeting-line2 {
      font-size: 12px;
    }

    .sched-rail-cta {
      padding: 11px 12px;
      font-size: 14px;
    }

    .sched-rail-action {
      padding: 10px 12px;
      font-size: 13px;
    }
  }

  .sched-rail {
    border: 1px solid var(--color-border, #e5e7eb);
    background: #fff;
    border-radius: 14px;
    flex-direction: column;
    gap: 18px;
    padding: 18px 16px;
    display: flex;
    position: sticky;
    top: 12px;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .sched-rail-greeting {
    padding: 2px 4px 0;
  }

  .sched-rail-greeting-line1 {
    color: var(--color-text, #111827);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.25;
  }

  .sched-rail-greeting-line2 {
    color: var(--color-text-muted, #6b7280);
    margin-top: 2px;
    font-size: 12.5px;
    line-height: 1.4;
  }

  .sched-rail-cta {
    background: var(--color-secondary-400, #fbe840);
    width: 100%;
    color: var(--color-text, #111827);
    cursor: pointer;
    border: none;
    border-radius: 12px;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 12px 14px;
    font-size: 14.5px;
    font-weight: 700;
    transition: transform 80ms, box-shadow .12s, background .12s;
    display: flex;
    box-shadow: 0 1px 2px #0f172a14;
  }

  .sched-rail-cta:hover {
    background: #fde047;
    box-shadow: 0 4px 10px -2px #fbbf2473;
  }

  .sched-rail-cta:active {
    transform: translateY(1px);
  }

  .sched-rail-cta > span:first-child {
    font-size: 18px;
    line-height: 1;
  }

  .sched-rail-section {
    border-top: 1px solid var(--color-border, #e5e7eb);
    flex-direction: column;
    gap: 4px;
    padding-top: 14px;
    display: flex;
  }

  .sched-rail-heading {
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--color-text-muted, #6b7280);
    margin: 0 0 6px;
    padding: 0 4px;
    font-size: 11px;
    font-weight: 700;
  }

  .sched-tiles {
    display: none;
  }

  .sched-rail-action {
    width: 100%;
    color: var(--color-text, #111827);
    font: inherit;
    text-align: left;
    cursor: pointer;
    background: none;
    border: none;
    border-radius: 9px;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    font-size: 13.5px;
    transition: background .1s;
    display: flex;
  }

  .sched-rail-action:hover {
    background: #f3f4f6;
  }

  .sched-rail-action--active {
    color: var(--color-primary-700, #4338ca);
    background: #eef2ff;
    font-weight: 600;
  }

  .sched-rail-action-icon {
    flex: none;
    font-size: 16px;
    line-height: 1;
  }

  .sched-rail-action-label {
    flex: auto;
  }

  .sched-rail-badge {
    background: var(--color-primary-500, #6366f1);
    color: #fff;
    border-radius: 999px;
    flex: none;
    justify-content: center;
    align-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
  }

  .sched-rail-tags {
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 0 4px;
    list-style: none;
    display: flex;
  }

  .sched-rail-tag {
    color: var(--color-text, #111827);
    align-items: center;
    gap: 8px;
    font-size: 13px;
    display: flex;
  }

  .sched-rail-tag-dot {
    border-radius: 3px;
    flex: none;
    width: 12px;
    height: 12px;
  }

  .sched-rail-tag-dot--individual {
    background: #a5b4fc;
  }

  .sched-rail-tag-dot--group {
    background: #fde68a;
  }

  .sched-rail-tag-dot--cancelled {
    background: repeating-linear-gradient(45deg, #d1d5db 0 4px, #f3f4f6 4px 8px);
  }

  .sched-main {
    border: 1px solid var(--color-border, #e5e7eb);
    background: #fff;
    border-radius: 14px;
    min-width: 0;
    padding: 12px 14px 18px;
    box-shadow: 0 1px 2px #0f172a0a;
  }

  .sched-back-link {
    border: 1px solid var(--color-border, #e5e7eb);
    color: var(--color-primary-700, #4338ca);
    font: inherit;
    cursor: pointer;
    background: #fff;
    border-radius: 8px;
    align-items: center;
    gap: 6px;
    margin: 4px 0 14px;
    padding: 6px 10px;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
  }

  .sched-back-link:hover {
    background: #f3f4f6;
  }

  .sched-flexible-hint {
    border: 1px dashed var(--color-border, #d1d5db);
    background: var(--color-surface-2, #f9fafb);
    width: 100%;
    color: var(--color-text, #1f2937);
    text-align: left;
    font: inherit;
    cursor: pointer;
    border-radius: 12px;
    align-items: center;
    gap: 14px;
    margin: 16px 0 0;
    padding: 14px 18px;
    transition: background .12s, border-color .12s;
    display: flex;
  }

  .sched-flexible-hint:hover {
    background: #eef2ff;
    border-color: #c7d2fe;
  }

  .sched-flexible-hint-icon {
    flex: none;
    font-size: 22px;
    line-height: 1;
  }

  .sched-flexible-hint-text {
    flex: auto;
    font-size: 14px;
    line-height: 1.4;
  }

  .sched-flexible-hint-text strong {
    color: var(--color-text, #1f2937);
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 700;
    display: block;
  }

  .sched-flexible-hint-text > span {
    color: var(--color-text-muted, #6b7280);
  }

  .sched-flexible-hint-arrow {
    color: var(--color-primary-700, #4338ca);
    flex: none;
    font-size: 18px;
  }

  .app-back-button {
    color: var(--color-text-muted, #64748b);
    cursor: pointer;
    background: none;
    border: 1px solid #0000;
    border-radius: 9999px;
    align-items: center;
    gap: 6px;
    margin-bottom: 12px;
    padding: 6px 12px 6px 8px;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: background .15s, color .15s, border-color .15s, transform .15s;
    display: inline-flex;
  }

  .app-back-button:hover {
    color: var(--color-text, #0f172a);
    border-color: var(--color-border, #e2e8f0);
    background: #fff;
    transform: translateX(-2px);
  }

  .app-back-button:focus-visible {
    outline: 2px solid var(--color-primary, #0f0069);
    outline-offset: 2px;
  }

  .app-back-button-arrow {
    width: 20px;
    height: 20px;
    color: var(--color-primary, #0f0069);
    background: #0f00690f;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .app-back-button:hover .app-back-button-arrow {
    background: #0f00691f;
  }

  .cal-week {
    background: var(--color-white, #fff);
    border: 1px solid var(--color-neutral-100, #e7e7ee);
    border-radius: 14px;
    flex-direction: column;
    display: flex;
    overflow: clip;
    box-shadow: 0 1px 2px #0f00690a;
  }

  .cal-week-header {
    border-bottom: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-neutral-50, #f7f7fb);
    top: var(--app-header-stack-height, var(--app-topbar-height, 64px));
    z-index: 5;
    grid-template-columns: 64px repeat(7, 1fr);
    display: grid;
    position: sticky;
  }

  .cal-week-corner {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
  }

  .cal-week-day-header {
    text-align: center;
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    padding: 10px 8px 12px;
  }

  .cal-week-day-header:last-child {
    border-right: none;
  }

  .cal-week-day-name {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted, #71718a);
  }

  .cal-week-day-num {
    font-family: var(--font-primary);
    font-size: 22px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text, #1a1a2e);
    margin-top: 2px;
    line-height: 1.1;
  }

  .cal-week-day-header.is-today .cal-week-day-name {
    color: var(--color-primary, #0f0069);
  }

  .cal-week-day-header.is-today .cal-week-day-num {
    color: var(--color-white, #fff);
    background: var(--color-primary, #0f0069);
    width: 32px;
    height: 32px;
    font-weight: var(--font-weight-bold);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .cal-week-body {
    grid-template-columns: 64px repeat(7, 1fr);
    height: 840px;
    display: grid;
    position: relative;
  }

  .cal-week-hours {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-white, #fff);
    flex-direction: column;
    display: flex;
  }

  .cal-week-hour-label {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--font-weight-medium);
    color: var(--color-text-muted, #71718a);
    flex: 1 1 0;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 4px 8px 0 0;
    display: flex;
    position: relative;
  }

  .cal-week-hour-label > span {
    transform: translateY(-6px);
  }

  .cal-week-day-col {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-white, #fff);
    position: relative;
  }

  .cal-week-day-col:last-child {
    border-right: none;
  }

  .cal-week-day-col.is-today {
    background: linear-gradient(#0f006906, #0f006903);
  }

  .cal-week-day-col.is-pickable {
    cursor: crosshair;
  }

  .cal-week-drag-preview {
    z-index: 3;
    pointer-events: none;
    background: #4f46e52e;
    border: 2px dashed #4f46e58c;
    border-radius: 6px;
    justify-content: center;
    align-items: flex-start;
    padding: 4px 6px;
    display: flex;
    position: absolute;
    left: 3px;
    right: 3px;
  }

  .cal-week-drag-preview-label {
    font-family: var(--font-body);
    color: #3730a3;
    white-space: nowrap;
    background: #ffffffe6;
    border-radius: 4px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 600;
  }

  .cal-week-grid-lines {
    background-image: linear-gradient(to bottom, var(--color-neutral-100, #e7e7ee) 1px, transparent 1px);
    pointer-events: none;
    background-size: 100% 6.66667%;
    position: absolute;
    inset: 0;
  }

  .cal-week-now {
    z-index: 2;
    pointer-events: none;
    background: #e85a4f;
    height: 2px;
    position: absolute;
    left: 0;
    right: 0;
  }

  .cal-week-now:before {
    content: "";
    background: #e85a4f;
    border-radius: 999px;
    width: 8px;
    height: 8px;
    position: absolute;
    top: -3px;
    left: -4px;
  }

  .cal-event {
    background: var(--color-white, #fff);
    text-align: left;
    cursor: pointer;
    z-index: 1;
    font-family: var(--font-body);
    color: var(--color-text, #1a1a2e);
    border: 1px solid #0000;
    border-radius: 8px;
    flex-direction: column;
    gap: 1px;
    min-height: 24px;
    padding: 4px 7px 4px 9px;
    font-size: 12px;
    line-height: 1.2;
    transition: transform .12s, box-shadow .12s, filter .12s;
    display: flex;
    position: absolute;
    left: 3px;
    right: 3px;
    overflow: hidden;
    box-shadow: 0 1px 3px #0f00690f;
  }

  .cal-event > * {
    flex-shrink: 0;
  }

  .cal-event:before {
    content: "";
    opacity: .65;
    background: currentColor;
    border-radius: 3px;
    width: 3px;
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 0;
  }

  .cal-event:hover {
    filter: brightness(1.02);
    z-index: 3;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px #0f00691f;
  }

  .cal-event:focus-visible {
    outline: 2px solid var(--color-primary, #0f0069);
    outline-offset: 2px;
  }

  .cal-event--individual {
    background: var(--color-brand-indigo-50, #f0f0fa);
    border-color: var(--color-brand-indigo-200, #c7c7e0);
    color: var(--color-brand-indigo-500, #0f0069);
  }

  .cal-event--group {
    background: var(--color-brand-yellow-100, #fefccc);
    border-color: var(--color-brand-yellow-300, #fbf87a);
    color: #c79100;
  }

  .cal-event.is-cancelled {
    background: var(--color-neutral-100, #ecedf3);
    border-color: var(--color-neutral-200, #d8d9e2);
    color: var(--color-text-muted, #71718a);
  }

  .cal-event.is-cancelled .cal-event-who {
    text-decoration: line-through;
  }

  .cal-event.is-completed {
    filter: saturate(1.1) brightness(.96);
  }

  .cal-event.is-compact {
    flex-direction: row;
    align-items: center;
    gap: 6px;
    padding: 2px 6px 2px 8px;
  }

  .cal-event.is-compact .cal-event-who {
    flex: auto;
    min-width: 0;
  }

  .cal-event.is-compact .cal-event-tutor-name {
    margin-top: 0;
  }

  .cal-event.is-compact .cal-event-tutor-label {
    display: none;
  }

  .cal-event.is-tall .cal-event-who {
    -webkit-line-clamp: 2;
  }

  .cal-event-top {
    align-items: center;
    min-width: 0;
    line-height: 13px;
    display: flex;
  }

  .cal-event-time {
    font-variant-numeric: tabular-nums;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text, #1a1a2e);
    letter-spacing: -.01em;
    font-size: 11px;
    line-height: 13px;
  }

  .cal-event.is-cancelled .cal-event-time {
    color: var(--color-text-muted, #71718a);
  }

  .cal-event-who {
    font-family: var(--font-primary);
    font-size: 12.5px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text, #1a1a2e);
    -webkit-line-clamp: 1;
    word-break: break-word;
    -webkit-box-orient: vertical;
    line-height: 14px;
    display: -webkit-box;
    overflow: hidden;
  }

  .cal-event.is-cancelled .cal-event-who {
    color: var(--color-text-muted, #71718a);
  }

  .cal-event-tutor-name {
    color: var(--color-text-muted, #5a5a72);
    font-size: 10.5px;
    line-height: 14px;
    font-weight: var(--font-weight-medium);
    align-items: center;
    gap: 4px;
    min-width: 0;
    display: flex;
  }

  .cal-event-tutor-label {
    text-overflow: ellipsis;
    white-space: nowrap;
    min-width: 0;
    overflow: hidden;
  }

  .cal-event-tutor {
    width: 14px;
    height: 14px;
    font-size: 9px;
    font-weight: var(--font-weight-bold);
    border-radius: 999px;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  @media (max-width: 720px) {
    .cal-week-header, .cal-week-body {
      grid-template-columns: 44px repeat(7, 1fr);
    }

    .cal-week-body {
      height: 900px;
    }

    .cal-week-day-name {
      font-size: 9px;
    }

    .cal-week-day-num {
      font-size: 16px;
    }

    .cal-week-day-header.is-today .cal-week-day-num {
      width: 26px;
      height: 26px;
    }

    .cal-week-hour-label {
      padding-right: 4px;
      font-size: 9px;
    }

    .cal-event {
      min-height: 26px;
      left: 1px;
      right: 1px;
    }

    .cal-event-top, .cal-event-time {
      line-height: 14px;
    }

    .cal-event-who {
      line-height: 15px;
    }

    .cal-event-tutor-name {
      line-height: 14px;
    }
  }

  .avail-grid {
    -webkit-user-select: none;
    user-select: none;
    touch-action: none;
    background: var(--color-white, #fff);
    border: 1px solid var(--color-neutral-100, #e7e7ee);
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 1px 2px #0f00690a;
  }

  .avail-grid-header {
    background: var(--color-neutral-50, #f7f7fb);
    border-bottom: 1px solid var(--color-neutral-100, #e7e7ee);
    grid-template-columns: 60px repeat(7, 1fr);
    display: grid;
  }

  .avail-grid-corner {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
  }

  .avail-grid-day-header {
    text-align: center;
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    padding: 8px 6px 10px;
  }

  .avail-grid-day-header:last-child {
    border-right: none;
  }

  .avail-grid-day-header.is-weekend {
    background: #0f006904;
  }

  .avail-grid-day-name {
    font-family: var(--font-body);
    font-size: 11px;
    font-weight: var(--font-weight-semibold);
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--color-text-muted, #71718a);
  }

  .avail-grid-day-num {
    font-family: var(--font-primary);
    font-size: 18px;
    font-weight: var(--font-weight-semibold);
    color: var(--color-text, #1a1a2e);
    margin-top: 2px;
    line-height: 1.1;
  }

  .avail-grid-day-header.is-today .avail-grid-day-name {
    color: var(--color-primary, #0f0069);
  }

  .avail-grid-day-header.is-today .avail-grid-day-num {
    color: var(--color-white, #fff);
    background: var(--color-primary, #0f0069);
    width: 28px;
    height: 28px;
    font-weight: var(--font-weight-bold);
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    display: inline-flex;
  }

  .avail-grid-body {
    grid-template-columns: 60px repeat(7, 1fr);
    height: clamp(540px, 100vh - 360px, 820px);
    display: grid;
    position: relative;
  }

  .avail-grid-hours {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-white, #fff);
    flex-direction: column;
    display: flex;
  }

  .avail-grid-hour-label {
    font-family: var(--font-body);
    font-size: 10.5px;
    font-weight: var(--font-weight-medium);
    color: var(--color-text-muted, #71718a);
    flex: 1 1 0;
    justify-content: flex-end;
    align-items: flex-start;
    padding: 2px 6px 0 0;
    display: flex;
  }

  .avail-grid-hour-label > span {
    transform: translateY(-5px);
  }

  .avail-grid-col {
    border-right: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-white, #fff);
    flex-direction: column;
    display: flex;
  }

  .avail-grid-col:last-child {
    border-right: none;
  }

  .avail-grid-col.is-weekend {
    background: #0f006904;
  }

  .avail-grid-col.is-today {
    background: linear-gradient(#0f006906, #0f006903);
  }

  .avail-grid-cell {
    cursor: crosshair;
    flex: 1 1 0;
    min-height: 0;
    position: relative;
  }

  .avail-grid[style*="0.55"] .avail-grid-cell {
    cursor: not-allowed;
  }

  .avail-grid-cell.is-hour {
    border-top: 1px solid var(--color-neutral-200, #d8d9e2);
  }

  .avail-grid-cell.is-half {
    border-top: 1px dashed var(--color-neutral-100, #e7e7ee);
  }

  .avail-grid-cell-fill {
    background: none;
    border-radius: 0;
    transition: background 80ms, box-shadow 80ms;
    position: absolute;
    inset: 1px 3px;
  }

  .avail-grid-cell.is-hover .avail-grid-cell-fill {
    background: var(--color-brand-indigo-50, #f0f0fa);
  }

  .avail-grid-cell.is-selected .avail-grid-cell-fill {
    background: linear-gradient(180deg, var(--color-brand-indigo-400, #4a4a8a), var(--color-brand-indigo-500, #0f0069));
    box-shadow: inset 0 1px #ffffff2e, 0 1px 3px #0f006940;
  }

  .avail-grid-cell.is-run-start .avail-grid-cell-fill {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
  }

  .avail-grid-cell.is-run-end .avail-grid-cell-fill {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }

  .avail-grid-footer {
    border-top: 1px solid var(--color-neutral-100, #e7e7ee);
    background: var(--color-neutral-50, #f7f7fb);
    font-family: var(--font-body);
    color: var(--color-text-muted, #71718a);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    font-size: 12px;
    line-height: 1.45;
    display: flex;
  }

  .avail-grid-hint {
    align-items: center;
    gap: 6px;
    display: inline-flex;
  }

  .avail-grid-total {
    background: var(--color-white, #fff);
    border: 1px solid var(--color-neutral-200, #d8d9e2);
    color: var(--color-text, #1a1a2e);
    font-weight: var(--font-weight-semibold);
    border-radius: 999px;
    align-items: center;
    padding: 4px 10px;
    font-size: 12px;
    display: inline-flex;
  }

  @media (max-width: 720px) {
    .avail-grid-header, .avail-grid-body {
      grid-template-columns: 40px repeat(7, 1fr);
    }

    .avail-grid-body {
      height: clamp(480px, 100vh - 320px, 720px);
    }

    .avail-grid-day-name {
      font-size: 9px;
    }

    .avail-grid-day-num {
      font-size: 14px;
    }

    .avail-grid-day-header.is-today .avail-grid-day-num {
      width: 22px;
      height: 22px;
    }

    .avail-grid-hour-label {
      padding-right: 3px;
      font-size: 9px;
    }

    .avail-grid-hint {
      display: none;
    }

    .avail-grid-footer {
      justify-content: center;
    }
  }

  .page-header {
    color: #fff;
    background: radial-gradient(circle at 100% 0, #ffffff2e 0%, #0000 50%), linear-gradient(135deg, #1e0a8a 0%, #0f0069 55%, #2d1b80 100%);
    border-radius: 20px;
    margin-bottom: 24px;
    padding: 28px 32px 22px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 10px 30px -8px #0f006959, 0 2px 6px #0f00691a;
  }

  .page-header:before {
    content: "";
    pointer-events: none;
    opacity: .55;
    background-image: radial-gradient(circle, #ffffff14 1px, #0000 1px);
    background-size: 22px 22px;
    position: absolute;
    inset: 0;
  }

  .page-header > * {
    z-index: 1;
    position: relative;
  }

  .page-header-row--top {
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 24px;
    display: flex;
  }

  .page-header-titles {
    flex: 320px;
    min-width: 0;
  }

  .page-header-eyebrow {
    text-transform: uppercase;
    letter-spacing: .09em;
    color: #fffffff5;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #ffffff24;
    border-radius: 999px;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
    padding: 5px 11px;
    font-size: 12px;
    font-weight: 800;
    display: inline-flex;
  }

  .page-header-eyebrow:before {
    content: "";
    background: #4ade80;
    border-radius: 50%;
    width: 6px;
    height: 6px;
    box-shadow: 0 0 0 3px #4ade804d;
  }

  .page-header-title {
    color: #fff;
    letter-spacing: -.01em;
    margin: 0 0 4px;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.2;
  }

  .page-header-subtitle {
    color: #fffffff2;
    text-shadow: 0 1px 2px #00000047;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
  }

  .page-header-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    display: flex;
  }

  .page-header-btn {
    font-family: var(--font-body);
    cursor: pointer;
    white-space: nowrap;
    border: none;
    border-radius: 10px;
    align-items: center;
    gap: 8px;
    padding: 9px 16px;
    font-size: 14px;
    font-weight: 600;
    transition: transform .15s, box-shadow .15s, background .15s;
    display: inline-flex;
  }

  .page-header-btn--primary {
    color: #0f0069;
    background: #fbe840;
    box-shadow: 0 4px 12px #fbe84059;
  }

  .page-header-btn--primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px #fbe84073;
  }

  .page-header-btn--ghost {
    color: #fff;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
    background: #ffffff1f;
    border: 1px solid #ffffff40;
  }

  .page-header-btn--ghost:hover {
    background: #fff3;
    transform: translateY(-1px);
  }

  .page-header-stats {
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
    display: grid;
  }

  .page-header-stat {
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
    background: #ffffff1a;
    border: 1px solid #ffffff2e;
    border-radius: 12px;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    transition: background .15s, transform .15s;
    display: flex;
  }

  .page-header-stat:hover {
    background: #ffffff29;
  }

  .page-header-stat--highlight {
    background: #fbe8402e;
    border-color: #fbe8408c;
    box-shadow: 0 0 0 1px #fbe84059, 0 6px 18px -6px #fbe8404d;
  }

  .page-header-stat--link {
    cursor: pointer;
    padding: 0;
  }

  .page-header-stat--link:hover {
    background: #ffffff2e;
    transform: translateY(-1px);
  }

  .page-header-stat-link {
    width: 100%;
    height: 100%;
    color: inherit;
    border-radius: 12px;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    text-decoration: none;
    display: flex;
  }

  .page-header-stat-link:focus-visible {
    outline-offset: 2px;
    outline: 2px solid #ffffffb3;
  }

  .page-header-stat-icon {
    font-size: 18px;
    line-height: 1;
  }

  .page-header-stat-number {
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }

  .page-header-stat-label {
    color: #ffffffc7;
    text-align: right;
    margin-left: auto;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.2;
  }

  .page-header-tabs {
    background: #ffffff14;
    border: 1px solid #ffffff26;
    border-radius: 14px;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin-top: 18px;
    padding: 6px;
    display: flex;
    overflow-x: auto;
  }

  .page-header-tab {
    color: #ffffffc7;
    font-family: var(--font-body);
    cursor: pointer;
    white-space: nowrap;
    background: none;
    border: none;
    border-radius: 10px;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    font-size: 14px;
    font-weight: 500;
    transition: background .15s, color .15s, transform .15s;
    display: inline-flex;
  }

  .page-header-tab:hover:not(.page-header-tab--active) {
    color: #fff;
    background: #ffffff14;
  }

  .page-header-tab--active {
    color: #0f0069;
    background: #fff;
    font-weight: 600;
    box-shadow: 0 4px 10px #0000002e;
  }

  .page-header-tab-icon {
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
  }

  .page-header-tab-badge {
    color: #fff;
    background: #ef4444;
    border-radius: 999px;
    justify-content: center;
    align-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    display: inline-flex;
  }

  .page-header-tab--active .page-header-tab-badge {
    background: #dc2626;
  }

  @media (max-width: 640px) {
    .page-header {
      border-radius: 16px;
      padding: 22px 20px 18px;
    }

    .page-header-title {
      font-size: 22px;
    }

    .page-header-subtitle {
      font-size: 13px;
    }

    .page-header-row--top {
      gap: 14px;
    }

    .page-header-actions {
      width: 100%;
    }

    .page-header-actions .page-header-btn {
      flex: auto;
      justify-content: center;
    }

    .page-header-stats {
      grid-template-columns: repeat(2, 1fr);
    }

    .page-header-stat-number {
      font-size: 18px;
    }

    .page-header-stat, .page-header-stat-link {
      flex-direction: column;
      align-items: flex-start;
      gap: 4px;
    }

    .page-header-stat-label {
      text-align: left;
      margin-left: 0;
    }

    .page-header-tabs {
      width: 100%;
    }
  }

  .verify-email-banner-mobile {
    display: none;
  }

  .verify-email-banner-desktop {
    display: inline;
  }

  @media (max-width: 640px) {
    .verify-email-banner-mobile {
      display: inline;
    }

    .verify-email-banner-desktop {
      display: none;
    }
  }

  .set-password-banner-mobile {
    display: none;
  }

  .set-password-banner-desktop {
    display: inline;
  }

  @media (max-width: 640px) {
    .set-password-banner-mobile {
      display: inline;
    }

    .set-password-banner-desktop {
      display: none;
    }
  }

  .page-section {
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    background: #fff;
    border-radius: 16px;
    margin-bottom: 20px;
    overflow: hidden;
    box-shadow: 0 1px 3px #0000000a;
  }

  .page-section-header {
    border-bottom: 1px solid var(--color-neutral-100, #f3f4f6);
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 24px;
    display: flex;
  }

  .page-section-titles {
    min-width: 0;
  }

  .page-section-title {
    color: var(--color-text, #1a1a2e);
    letter-spacing: -.005em;
    margin: 0;
    font-size: 17px;
    font-weight: 600;
  }

  .page-section-caption {
    color: var(--color-text-muted, #8888a4);
    margin: 2px 0 0;
    font-size: 13px;
    line-height: 1.45;
  }

  .page-section-actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    display: flex;
  }

  .page-section-body {
    padding: 20px 24px;
  }

  .page-section--flush .page-section-body {
    padding: 0;
  }

  @media (max-width: 640px) {
    .page-section-header, .page-section-body {
      padding: 14px 16px;
    }
  }

  .help-fab {
    bottom: var(--help-fab-offset);
    z-index: 9000;
    width: var(--help-fab-size);
    height: var(--help-fab-size);
    cursor: pointer;
    opacity: .55;
    border: none;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    transition: transform .15s, box-shadow .15s, opacity .18s;
    display: inline-flex;
    position: fixed;
    box-shadow: 0 4px 12px #0f172a26, 0 2px 4px #0f172a14;
  }

  .help-fab:hover, .help-fab:focus-visible, .help-fab--open {
    opacity: 1;
  }

  .help-fab:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px #0f172a33, 0 3px 6px #0f172a1a;
  }

  .help-fab:focus-visible {
    outline: 3px solid var(--color-primary-300, #a5b4fc);
    outline-offset: 3px;
  }

  .help-fab--left {
    left: var(--help-fab-offset);
    background: var(--color-primary-600, #4f46e5);
    color: #fff;
  }

  .help-fab--left .help-fab-icon {
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }

  .help-fab--open {
    transform: scale(.94);
  }

  .help-chat {
    bottom: var(--help-chat-bottom);
    left: var(--help-fab-offset);
    z-index: 9001;
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    width: 360px;
    max-width: calc(100vw - 32px);
    height: 520px;
    max-height: calc(100vh - 120px);
    font-family: var(--font-body, system-ui, sans-serif);
    background: #fff;
    border-radius: 14px;
    flex-direction: column;
    animation: .16s ease-out helpChatIn;
    display: flex;
    position: fixed;
    overflow: hidden;
    box-shadow: 0 24px 60px -12px #0f172a40, 0 10px 20px -6px #0f172a1a;
  }

  @keyframes helpChatIn {
    from {
      opacity: 0;
      transform: translateY(8px) scale(.98);
    }

    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }

  .help-chat-head {
    background: var(--color-primary-600, #4f46e5);
    color: #fff;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    display: flex;
  }

  .help-chat-avatar {
    object-fit: cover;
    background: #fff;
    border-radius: 50%;
    flex: none;
    width: 40px;
    height: 40px;
    box-shadow: 0 0 0 2px #ffffff8c;
  }

  .help-chat-head-text {
    flex-direction: column;
    flex: auto;
    min-width: 0;
    line-height: 1.15;
    display: flex;
  }

  .help-chat-name {
    letter-spacing: .01em;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 700;
    display: inline-flex;
  }

  .help-chat-online {
    background: #34d399;
    border-radius: 50%;
    width: 8px;
    height: 8px;
    display: inline-block;
    box-shadow: 0 0 0 2px #34d39959;
  }

  .help-chat-title {
    letter-spacing: .01em;
    opacity: .82;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 500;
    overflow: hidden;
  }

  .help-chat-close {
    width: 28px;
    height: 28px;
    color: inherit;
    cursor: pointer;
    background: none;
    border: none;
    border-radius: 6px;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    line-height: 1;
    display: inline-flex;
  }

  .help-chat-close:hover {
    background: #ffffff2e;
  }

  .help-chat-body {
    background: #fafbfc;
    flex-direction: column;
    flex: auto;
    gap: 10px;
    padding: 14px;
    display: flex;
    overflow-y: auto;
  }

  .help-chat-msg {
    white-space: pre-wrap;
    word-wrap: break-word;
    border-radius: 12px;
    max-width: 88%;
    padding: 9px 12px;
    font-size: 13.5px;
    line-height: 1.5;
  }

  .help-chat-msg--assistant {
    color: var(--color-text, #1f2937);
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    background: #fff;
    border-bottom-left-radius: 4px;
    align-self: flex-start;
  }

  .help-chat-msg--user {
    background: var(--color-primary-600, #4f46e5);
    color: #fff;
    border-bottom-right-radius: 4px;
    align-self: flex-end;
  }

  .help-chat-text {
    display: inline;
  }

  .help-chat-dots {
    align-items: center;
    gap: 4px;
    display: inline-flex;
  }

  .help-chat-dots span {
    background: var(--color-neutral-400, #94a3b8);
    border-radius: 50%;
    width: 6px;
    height: 6px;
    animation: 1.2s ease-in-out infinite both helpDots;
  }

  .help-chat-dots span:nth-child(2) {
    animation-delay: .15s;
  }

  .help-chat-dots span:nth-child(3) {
    animation-delay: .3s;
  }

  @keyframes helpDots {
    0%, 80%, 100% {
      opacity: .3;
      transform: scale(.85);
    }

    40% {
      opacity: 1;
      transform: scale(1);
    }
  }

  .help-chat-suggestions {
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 4px;
    display: flex;
  }

  .help-chat-suggestion {
    border: 1px solid var(--color-primary-200, #c7d2fe);
    color: var(--color-primary-700, #4338ca);
    cursor: pointer;
    background: #fff;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 12.5px;
    font-weight: 500;
    transition: background .12s, border-color .12s;
  }

  .help-chat-suggestion:hover:not(:disabled) {
    background: var(--color-primary-50, #eef2ff);
    border-color: var(--color-primary-400, #818cf8);
  }

  .help-chat-suggestion:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  .help-chat-rate {
    border-top: 1px solid var(--color-neutral-200, #e5e7eb);
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    padding-top: 6px;
    display: flex;
  }

  .help-chat-rate-label, .help-chat-rate-thanks {
    color: var(--color-neutral-500, #6b7280);
    font-size: 11.5px;
  }

  .help-chat-rate-btn {
    cursor: pointer;
    opacity: .65;
    background: none;
    border: none;
    border-radius: 6px;
    padding: 2px 4px;
    font-size: 15px;
    line-height: 1;
    transition: opacity .12s, background .12s;
  }

  .help-chat-rate-btn:hover {
    opacity: 1;
    background: var(--color-neutral-100, #f3f4f6);
  }

  .help-chat-new {
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    background: #ffffff29;
    border: none;
    border-radius: 999px;
    margin-left: auto;
    padding: 4px 9px;
    font-size: 11px;
    font-weight: 600;
    transition: background .12s;
  }

  .help-chat-new:hover {
    background: #ffffff4d;
  }

  .help-chat-retry {
    border: 1px solid var(--color-primary-300, #a5b4fc);
    color: var(--color-primary-700, #4338ca);
    cursor: pointer;
    background: #fff;
    border-radius: 999px;
    margin-top: 8px;
    padding: 5px 12px;
    font-size: 12.5px;
    font-weight: 600;
    display: inline-block;
  }

  .help-chat-retry:hover:not(:disabled) {
    background: var(--color-primary-50, #eef2ff);
  }

  .help-chat-retry:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  .help-chat-actions {
    background: #fff;
    gap: 8px;
    padding: 8px 12px 0;
    display: flex;
  }

  .help-chat-action {
    cursor: pointer;
    border: 1.5px solid #0000;
    border-radius: 8px;
    flex: 1;
    padding: 8px 10px;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.2;
    transition: background .12s, border-color .12s, color .12s;
  }

  .help-chat-action--primary {
    color: #fff;
    background: #0e503f;
    border-color: #0e503f;
  }

  .help-chat-action--primary:hover {
    background: #0a3b2e;
    border-color: #0a3b2e;
  }

  .help-chat-action--danger {
    color: #a33232;
    background: #fff;
    border-color: #a33232;
  }

  .help-chat-action--danger:hover {
    background: #fbe8e8;
  }

  .help-chat-report {
    background: #fff;
    flex-direction: column;
    flex: 1;
    gap: 10px;
    min-height: 0;
    padding: 14px;
    display: flex;
    overflow-y: auto;
  }

  .help-chat-report-head {
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .help-chat-report-title {
    color: var(--color-text, #1f2937);
    font-size: 14px;
    font-weight: 700;
  }

  .help-chat-report-cancel {
    color: var(--color-neutral-500, #6b7280);
    cursor: pointer;
    background: none;
    border: none;
    padding: 2px 4px;
    font-size: 12.5px;
    font-weight: 600;
  }

  .help-chat-report-cancel:hover:not(:disabled) {
    color: var(--color-text, #1f2937);
    text-decoration: underline;
  }

  .help-chat-report-cancel:disabled {
    opacity: .4;
    cursor: not-allowed;
  }

  .help-chat-report-intro {
    color: var(--color-neutral-500, #6b7280);
    margin: 0;
    font-size: 12.5px;
    line-height: 1.45;
  }

  .help-chat-report-text {
    resize: vertical;
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    width: 100%;
    min-height: 120px;
    color: var(--color-text, #1f2937);
    background: #fafbfc;
    border-radius: 10px;
    flex: 1;
    padding: 10px 12px;
    font-family: inherit;
    font-size: 13.5px;
    line-height: 1.5;
  }

  .help-chat-report-text:focus {
    background: #fff;
    border-color: #0e503f;
    outline: none;
  }

  .help-chat-report-check {
    color: var(--color-text, #1f2937);
    cursor: pointer;
    align-items: flex-start;
    gap: 8px;
    font-size: 12.5px;
    display: flex;
  }

  .help-chat-report-check input {
    accent-color: #0e503f;
    cursor: pointer;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    margin-top: 2px;
  }

  .help-chat-report-check small {
    color: var(--color-neutral-500, #6b7280);
    font-size: 11.5px;
    display: block;
  }

  .help-chat-report-error {
    color: #a33232;
    background: #fbe8e8;
    border-radius: 8px;
    margin: 0;
    padding: 8px 10px;
    font-size: 12.5px;
    line-height: 1.4;
  }

  .help-chat-report-submit {
    color: #fff;
    cursor: pointer;
    background: #0e503f;
    border: none;
    border-radius: 9px;
    padding: 10px 14px;
    font-size: 13.5px;
    font-weight: 600;
    transition: background .12s;
  }

  .help-chat-report-submit:hover:not(:disabled) {
    background: #0a3b2e;
  }

  .help-chat-report-submit:disabled {
    opacity: .5;
    cursor: not-allowed;
  }

  .help-chat-report--done {
    text-align: center;
    justify-content: center;
    align-items: center;
    gap: 8px;
    padding: 28px 20px;
  }

  .help-chat-report-tick {
    color: #0e503f;
    background: #e6f4ee;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    font-size: 22px;
    font-weight: 700;
    line-height: 44px;
  }

  .help-chat-report-sent {
    color: var(--color-text, #1f2937);
    margin: 0;
    font-size: 14px;
    font-weight: 600;
  }

  .help-chat-report-hint {
    color: var(--color-neutral-500, #6b7280);
    margin: 0;
    font-size: 12.5px;
    line-height: 1.45;
  }

  .help-chat-report-back {
    border: 1.5px solid var(--color-neutral-200, #e5e7eb);
    color: var(--color-text, #1f2937);
    cursor: pointer;
    background: #fff;
    border-radius: 999px;
    margin-top: 6px;
    padding: 8px 16px;
    font-size: 12.5px;
    font-weight: 600;
  }

  .help-chat-report-back:hover {
    background: var(--color-neutral-50, #f9fafb);
  }

  .help-chat-input {
    border-top: 1px solid var(--color-neutral-200, #e5e7eb);
    background: #fff;
    align-items: flex-end;
    gap: 8px;
    padding: 10px 12px;
    display: flex;
  }

  .help-chat-input textarea {
    resize: none;
    border: 1px solid var(--color-neutral-200, #e5e7eb);
    min-height: 36px;
    max-height: 120px;
    color: var(--color-text, #1f2937);
    background: #fafbfc;
    border-radius: 18px;
    flex: 1;
    padding: 8px 12px;
    font-family: inherit;
    font-size: 13.5px;
    line-height: 1.4;
  }

  .help-chat-input textarea:focus {
    border-color: var(--color-primary-400, #818cf8);
    background: #fff;
    outline: none;
  }

  .help-chat-send {
    cursor: pointer;
    background: var(--color-primary-600, #4f46e5);
    color: #fff;
    border: none;
    border-radius: 50%;
    flex: none;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    font-size: 16px;
    font-weight: 700;
    transition: background .12s;
    display: inline-flex;
  }

  .help-chat-send:hover:not(:disabled) {
    background: var(--color-primary-700, #4338ca);
  }

  .help-chat-send:disabled {
    opacity: .4;
    cursor: not-allowed;
  }

  @media (max-width: 480px) {
    .help-chat {
      width: calc(100vw - 24px);
      height: 65vh;
      bottom: 78px;
      left: 12px !important;
      right: 12px !important;
    }
  }

  [role="button"]:hover > .editable-title-pencil, [role="button"]:focus > .editable-title-pencil {
    opacity: 1;
    color: var(--color-primary, #0f0069);
  }

  @media (max-width: 640px) {
    .app-sidebar .app-sidebar-nav .app-sidebar-item {
      font-weight: 600 !important;
    }

    .app-sidebar .app-sidebar-nav .app-sidebar-children .app-sidebar-item {
      font-weight: 500 !important;
    }

    .app-sidebar .app-sidebar-section-label {
      color: #3f4a54 !important;
      font-weight: 600 !important;
    }

    .app-sidebar .app-sidebar-user-name, .app-sidebar .app-sidebar-badge, .app-sidebar-footer .app-sidebar-item {
      font-weight: 700 !important;
    }

    .app-topbar-mode-switcher button[aria-pressed="false"] span {
      display: none;
    }

    .app-topbar-mode-switcher button[aria-pressed="false"] {
      padding: 5px 8px !important;
    }

    .app-topbar-mode-switcher button {
      font-size: 14px !important;
    }

    .app-topbar {
      gap: 8px !important;
      padding: 0 12px !important;
    }

    .cal-nav-label {
      white-space: nowrap;
      min-width: 0 !important;
    }

    .cal-toolbar-nav {
      flex-wrap: wrap;
      justify-content: center;
      row-gap: 10px;
      width: 100%;
    }

    .cal-week-day-header {
      padding-left: 2px;
      padding-right: 2px;
    }
  }

  .help-chat-pending {
    flex-direction: column;
    gap: 6px;
    display: inline-flex;
  }

  .help-chat-thinking {
    color: #6b7280;
    overflow-wrap: normal;
    font-size: 12px;
    line-height: 1.4;
  }

  @media (max-width: 640px) {
    :root {
      --font-size-caption: 13px !important;
      --ui-font-eyebrow: 12px !important;
      --ui-font-micro: 13px !important;
    }

    .ptv2-qf-label {
      font-size: 12px !important;
    }

    .ptv2-qf-customize {
      font-size: 13px !important;
    }

    .ptv2-stat-card .ptv2-stat-k {
      font-size: 12px !important;
    }

    .ptv2-cp-count {
      font-size: 13px !important;
    }

    .ptv2-tbl th {
      font-size: 12px !important;
    }

    .ptv2-period-custom input, .ptv2-period-custom .ptv2-period-custom-sep, .ptv2-lesson-num {
      font-size: 13px !important;
    }

    .ptv2-upcoming-tag {
      font-size: 12px !important;
    }

    .ptv2-paid-pill, .ptv2-pay-edit-btn, .ptv2-inv-school-sub {
      font-size: 13px !important;
    }

    .ptv2-inv-tag, .ptv2-inv-summary-block .k, .ptv2-inv-table th {
      font-size: 12px !important;
    }

    .ptv2-inv-table td, .ptv2-inv-note, .ptv2-btn.sm, .af-field-error, .af-fineprint, .sc-note, .auth-field-error, .auth-google-hint, .auth-fineprint, .app-sidebar-badge, .app-sidebar--personal .app-sidebar-nav .app-sidebar-item {
      font-size: 13px !important;
    }

    .app-sidebar--personal .app-sidebar-section-label {
      font-size: 12px !important;
    }

    .app-sidebar--personal .app-sidebar-footer .app-sidebar-item, .app-sidebar--personal .app-sidebar-user-avatar, .app-sidebar--personal .app-sidebar-user-name, .app-sidebar--personal .app-sidebar-help-btn, .app-format-badge, .app-format-legend {
      font-size: 13px !important;
    }

    .app-calendar-event {
      font-size: 12px !important;
    }

    .app-calendar-day, .dashboard-lang-tag, .app-stat-trend {
      font-size: 13px !important;
    }

    .app-section-eyebrow {
      font-size: 12px !important;
    }

    .app-avatar--sm, .app-cell-with-avatar-text small, .app-table--premium th {
      font-size: 13px !important;
    }

    .app-team-row-stat-lbl, .app-mini-day-name, .app-mini-day-pill {
      font-size: 12px !important;
    }

    .app-period-picker__field, .app-period-picker__error, .app-finance-chart__legend, .app-finance-collapse__subtitle, .app-finance-badge {
      font-size: 13px !important;
    }

    .sched-hero-eyebrow {
      font-size: 12px !important;
    }

    .sched-tab-badge, .sched-rail-greeting-line2 {
      font-size: 13px !important;
    }

    .sched-rail-heading {
      font-size: 12px !important;
    }

    .sched-rail-badge {
      font-size: 13px !important;
    }

    .cal-week-day-name, .cal-week-hour-label {
      font-size: 12px !important;
    }

    .cal-week-drag-preview-label {
      font-size: 13px !important;
    }

    .cal-event, .cal-event.is-compact .cal-event-time {
      font-size: 12px !important;
    }

    .cal-event.is-compact .cal-event-who {
      font-size: 13px !important;
    }

    .cal-event.is-compact .cal-event-tutor-name, .cal-event.is-compact .cal-event-tutor, .cal-event-time {
      font-size: 12px !important;
    }

    .cal-event-who {
      font-size: 12.5px !important;
    }

    .cal-event-tutor-name, .cal-event-tutor, .avail-grid-day-name, .avail-grid-hour-label {
      font-size: 12px !important;
    }

    .avail-grid-footer, .avail-grid-total, .page-header-stat-label, .page-header-tab-badge, .help-chat-title, .help-chat-suggestion, .help-chat-action, .help-chat-report-cancel, .help-chat-report-intro, .help-chat-report-check, .help-chat-report-check small, .help-chat-report-error, .help-chat-report-hint, .help-chat-report-back {
      font-size: 13px !important;
    }

    .dv2-bell-count, .dv2-popover-head {
      font-size: 12px !important;
    }

    .dv2-popover-meta, .dv2-popover-action, .dv2-popover-empty, .dv2-hero-tag {
      font-size: 13px !important;
    }

    .dv2-hero-popover-eyebrow {
      font-size: 12px !important;
    }

    .dv2-hero-popover-chip, .dv2-hero-popover-item-hint, .dv2-hero-popover-cta, .dv2-hero-popover-dismiss {
      font-size: 13px !important;
    }

    .dv2-stat-label {
      font-size: 12px !important;
    }

    .dv2-stat-sub, .dv2-reschedule-label, .dv2-reschedule-error, .dv2-lesson-avatar, .dv2-lesson-status {
      font-size: 13px !important;
    }

    .dv2-act-btn.confirm--cta, .dv2-confirmed-badge {
      font-size: 12px !important;
    }

    .dv2-act-btn.generate {
      font-size: 13px !important;
    }

    .dv2-cal-head {
      font-size: 12px !important;
    }

    .dv2-cal-head-num, .dv2-cal-head.today .dv2-cal-head-num {
      font-size: 13px !important;
    }

    .dv2-cal-time, .dv2-cal-block, .dv2-cal-block-time {
      font-size: 12px !important;
    }

    .dv2-cal-hint, .dlb-question, .dlb-yes, .dlb-no, .dlb-error, .financials-page .fp-hero-left .fp-hero-formula, .financials-page .fp-hero-margin .fp-hero-lbl, .financials-page .fp-stat-sub, .financials-page .fp-panel-sub, .financials-page .fp-range-label {
      font-size: 13px !important;
    }

    .financials-page .fp-insights-badge {
      font-size: 12px !important;
    }

    .financials-page .fp-series-btn {
      font-size: 13px !important;
    }

    .financials-page .fp-chart-yaxis {
      font-size: 12.5px !important;
    }

    .financials-page .fp-ip-empty, .financials-page .fp-ip-alert-sub {
      font-size: 13px !important;
    }

    .financials-page .fp-ip-footnote {
      font-size: 12.5px !important;
    }

    .financials-page .fp-by-teacher th, .financials-page .fp-dot-avatar {
      font-size: 12px !important;
    }

    .share-qr-url {
      font-size: 13px !important;
    }

    .leads-page .leads-table thead th {
      font-size: 12px !important;
    }

    .leads-page .lead-sub, .leads-page .cell-todo, .leads-page .sf-item {
      font-size: 13px !important;
    }

    .leads-page .status-pill, .leads-page .type-tag {
      font-size: 12px !important;
    }

    .leads-page .progress-text, .leads-page .next-contact {
      font-size: 12.5px !important;
    }

    .leads-page .placed-note {
      font-size: 13px !important;
    }

    .leads-page .lmb-verdict {
      font-size: 13.5px !important;
    }

    .leads-page .lmb-slot-alt, .leads-page .lmb-member, .leads-page .lmb-note {
      font-size: 12.5px !important;
    }

    .leads-page .lmb-footnote {
      font-size: 13px !important;
    }

    .leads-page .fu-dot {
      font-size: 12.5px !important;
    }

    .fgb-tile-meta {
      font-size: 12px !important;
    }

    .fgb-count-label {
      font-size: 11px !important;
    }

    .fgb-tile-time, .fgb-tile-teacher {
      font-size: 12.5px !important;
    }

    .trial-drawer .td-sub, .trial-drawer .td-label {
      font-size: 13px !important;
    }

    .trial-drawer .td-hint, .trial-drawer .td-trial-title {
      font-size: 12.5px !important;
    }

    .trial-drawer .td-pill, .trial-drawer .td-delete, .leads-page .incomplete-profile-inline {
      font-size: 13px !important;
    }

    .lsdrag-ghost-label {
      font-size: 12.5px !important;
    }

    .lsdrag-toast-undo, .lessons-stats-page .lsp-chip-tail, .lessons-stats-page .lsp-stat-see, .lessons-stats-page .lsp-stat-sub, .lessons-stats-page .lsp-panel-sub, .lessons-stats-page .lsp-range-label, .lessons-stats-page .lsp-split-ind, .lessons-stats-page .lsp-split-grp, .lessons-stats-page .lsp-split-empty, .lessons-stats-page .lsp-split-legend-link {
      font-size: 13px !important;
    }

    .lessons-stats-page .lsp-insights-badge {
      font-size: 12px !important;
    }

    .lessons-stats-page .lsp-series-btn {
      font-size: 13px !important;
    }

    .lessons-stats-page .lsp-chart-yaxis {
      font-size: 12.5px !important;
    }

    .lessons-stats-page .lsp-ip-empty, .lessons-stats-page .lsp-ip-alert-sub {
      font-size: 13px !important;
    }

    .lessons-stats-page .lsp-ip-footnote {
      font-size: 12.5px !important;
    }

    .lessons-stats-page .lsp-disruptor-rank, .lessons-stats-page .lsp-disruptor-breakdown, .lessons-stats-page .lsp-disruptor-empty, .lessons-stats-page .lsp-drawer-sub, .lessons-stats-page .lsp-drawer-empty, .lessons-stats-page .lsp-drawer-item-date, .lessons-stats-page .lsp-drawer-item-meta, .lessons-stats-page .lsp-drawer-item-reason, .lessons-stats-page .lsp-drawer-item-reschedule {
      font-size: 13px !important;
    }

    .lessons-stats-page .lsp-type-tag, .ls-eyebrow {
      font-size: 12px !important;
    }

    .ls-help {
      font-size: 13px !important;
    }

    .ls-flashcard-label {
      font-size: 12px !important;
    }

    .ls-flashcard-hint {
      font-size: 13px !important;
    }

    .ls-vocab-block-label, .ls-p3-badge, .ls-v2-eyebrow {
      font-size: 12px !important;
    }

    .ls-v2-chip, .ls-v2-folder-pill, .ls-v2-add-folder {
      font-size: 13px !important;
    }

    .ls-v2-badge {
      font-size: 12.5px !important;
    }

    .ls-v2-card-lasttopic, .ls-v2-card-stats, .ls-v2-empty-text, .ls-v2-modal-label, .ls-v2-type-label, .ls-v2-empty-action-desc, .ls-v2-ws-profile-item, .ls-v2-ws-edit-profile {
      font-size: 13px !important;
    }

    .ls-v2-ws-stat .k, .ls-v2-ws-ai-badge {
      font-size: 12px !important;
    }

    .ls-v2-ws-generate-sub, .ls-v2-ws-generate .ls-v2-btn-primary, .ls-v2-ws-btn-generate, .ls-v2-ws-generate-input, .ls-v2-ws-generate-warn {
      font-size: 13px !important;
    }

    .ls-v2-gen-label {
      font-size: 12px !important;
    }

    .ls-v2-gen-seg-btn, .ls-v2-gen-input, .ls-v2-gen-check {
      font-size: 13px !important;
    }

    .ls-v2-ws-generate-chip {
      font-size: 12.5px !important;
    }

    .ls-v2-ws-generate-note, .ls-v2-ws-generate-error, .ls-v2-ws-lesson-meta, .ls-v2-ws-lesson-date, .ls-v2-ws-lesson-hw-tag, .ls-v2-ws-lesson-hw-btn, .ls-v2-ws-lesson-hw-count, .ls-v2-ws-lesson-hw-error, .ls-lesson-image__placeholder-label {
      font-size: 13px !important;
    }

    .ls-lesson-image__credit {
      font-size: 12px !important;
    }

    .ls-lesson-audio__chip, .ls-lesson-audio__turn-counter, .ls-lesson-audio__timeline-btn {
      font-size: 13px !important;
    }

    .ls-lesson-audio__timeline-num {
      font-size: 12.5px !important;
    }

    .ls-lesson-audio__autoplay, .ls-lesson-audio__inline-error, .ls-syl-header-meta, .ls-syl-point, .ls-syl-unit-progress, .ls-syl-btn, .ls-syl-label, .ls-generating-elapsed, .ls-generating-note, .ls-generating-game-toggle, .ls-langgame-status, .ls-langgame-score, .ls-t4-hint, .ls-t4-tip-marker, .ls-t5-num, .ls-t8-kind-chip, .ls-t8-wrongright__badge {
      font-size: 13px !important;
    }

    .ls-t8-why__label, .ls-t8-prompt-banner__label, .ls-t8-answer__label, .ls-t8-auth-source {
      font-size: 12px !important;
    }

    .ls-t8-tasks__num, .ls-t8-dialogue__speaker, .ls-t8-recap__badge, .ls-t8-timeline__when, .ls-t8-la-card__num, .ls-t8-la-q__num {
      font-size: 13px !important;
    }

    .ls-t8-la-badge {
      font-size: 12.5px !important;
    }

    .ls-t8-la-opt__letter, .ls-t8-la-seq-num, .ls-t8-la-hint, .ls-hw-panel__sub time, .ls-vocab-acc__num, .wd-bar__count {
      font-size: 13px !important;
    }

    .wd-bar__field > span {
      font-size: 12px !important;
    }

    .wd-bar__jump a, .wd-family__id, .wd-family__n, .wd-family__shell, .wd-family__shell code, .wd-item__id, .mc-desc, .mc-field-label {
      font-size: 13px !important;
    }

    .mc-field-label .mc-opt, .mc-field-hint {
      font-size: 12.5px !important;
    }

    .mc-btn, .mc-accordion-label, .mc-accordion-chev, .mc-count-chip, .mc-box-label {
      font-size: 13px !important;
    }

    .mc-box-label .mc-opt {
      font-size: 12.5px !important;
    }

    .mc-edit-questions-link, .mc-alert {
      font-size: 13px !important;
    }

    .mc-link-block-label {
      font-size: 12px !important;
    }

    .mc-link-block-url, .mc-direction-note-text, .mc-section-icon, .mc-section-title {
      font-size: 13px !important;
    }

    .mc-section-note {
      font-size: 12.5px !important;
    }

    .mc-iban-box, .mc-pill, .mc-check-row, .xm-kind-label, .xm-kind-hint, .xm-preview, .ne-footer, .ppv3-period-pill {
      font-size: 13px !important;
    }

    .ppv3-stat-label {
      font-size: 12px !important;
    }

    .ppv3-stat-note, .ppv3-stat-breakdown, .ppv3-filter-pill {
      font-size: 13px !important;
    }

    .ppv3-filter-pill-count {
      font-size: 12px !important;
    }

    .ppv3-filter-select, .ppv3-search-input, .ppv3-tile-name {
      font-size: 13px !important;
    }

    .ppv3-tile-type, .ppv3-tile-note {
      font-size: 12px !important;
    }

    .ppv3-invoice-btn, .ppv3-invoice-toast, .ppv3-detail-rate {
      font-size: 13px !important;
    }

    .ppv3-balance-box-label {
      font-size: 12px !important;
    }

    .ppv3-form-input, .ppv3-method-chip, .ppv3-form-submit, .ppv3-form-secondary, .ppv3-form-toast {
      font-size: 13px !important;
    }

    .ppv3-txn-section-label {
      font-size: 12px !important;
    }

    .ppv3-month-label {
      font-size: 13px !important;
    }

    .ppv3-month-summary, .ppv3-lesson-date {
      font-size: 12.5px !important;
    }

    .ppv3-lesson-title {
      font-size: 13px !important;
    }

    .ppv3-lesson-sub {
      font-size: 12px !important;
    }

    .ppv3-lesson-price {
      font-size: 13px !important;
    }

    .ppv3-paid-tag {
      font-size: 12px !important;
    }

    .ppv3-back-to-group, .ppv3-group-meta {
      font-size: 13px !important;
    }

    .ppv3-group-summary-label, .ppv3-members-label {
      font-size: 12px !important;
    }

    .ppv3-member-name, .ppv3-member-balance, .ppv3-inline-loading, .ppv3-inline-error {
      font-size: 13px !important;
    }

    .pi-eyebrow {
      font-size: 12px !important;
    }

    .pi-contact, .pi-range {
      font-size: 13px !important;
    }

    .pi-amount-label {
      font-size: 12px !important;
    }

    .pi-amount-sub, .pi-lesson-check, .pi-lesson-date {
      font-size: 13px !important;
    }

    .pi-lesson-meta {
      font-size: 12.5px !important;
    }

    .pi-lesson-dur, .pi-empty, .pi-policy-note {
      font-size: 13px !important;
    }

    .pi-pay-field-label {
      font-size: 12px !important;
    }

    .pi-pay-field-value {
      font-size: 13px !important;
    }

    .pi-copy-toast {
      font-size: 12px !important;
    }

    .pi-instructions {
      font-size: 13px !important;
    }

    .pi-footer-note {
      font-size: 12.5px !important;
    }

    .pi-state-text, .spx-stat-label, .spx-pill-count {
      font-size: 13px !important;
    }

    .spx-table th {
      font-size: 12px !important;
    }

    .spx-cell-sub, .spx-status {
      font-size: 13px !important;
    }

    .spx-tile-type {
      font-size: 12.5px !important;
    }

    .spx-detail-meta {
      font-size: 13px !important;
    }

    .spx-balance-label {
      font-size: 12px !important;
    }

    .spx-balance-sub, .spx-record-sub {
      font-size: 13px !important;
    }

    .spx-history-label {
      font-size: 12px !important;
    }

    .spx-history-date, .spx-history-sub {
      font-size: 13px !important;
    }

    .spx-history-tag {
      font-size: 12.5px !important;
    }

    .spx-invoice-label {
      font-size: 12px !important;
    }

    .spx-invoice-url, .spx-invoice-hint, .spx-invoice-error, .spx-invoice-btn, .spx-invoice-rotate, .school-payroll .sp-date-fields label {
      font-size: 13px !important;
    }

    .school-payroll .sp-eyebrow {
      font-size: 12px !important;
    }

    .school-payroll .sp-stat-sub, .school-payroll .sp-stat-warn {
      font-size: 13px !important;
    }

    .school-payroll .sp-table thead th {
      font-size: 12px !important;
    }

    .school-payroll .sp-teacher-email, .school-payroll .sp-lessons-unconfirmed, .school-payroll .sp-lessons-scheduled, .school-payroll .sp-paid-pill, .school-payroll .sp-drawer-header p {
      font-size: 13px !important;
    }

    .school-payroll .sp-drawer-summary .sp-sum-l, .school-payroll .sp-section-title {
      font-size: 12px !important;
    }

    .school-payroll .sp-rules-edit-line, .school-payroll .sp-rules-edit {
      font-size: 13px !important;
    }

    .school-payroll .sp-lesson-table thead th {
      font-size: 12px !important;
    }

    .school-payroll .sp-reason-note, .school-payroll .sp-status-pill, .school-payroll .sp-pay-block-title, .school-payroll .sp-notes-cell {
      font-size: 13px !important;
    }

    .school-payroll .sp-collapse-btn {
      font-size: 12px !important;
    }

    .school-payroll .sp-collapse-chevron, .school-payroll .sp-lesson-count, .school-payroll .sp-include-toggle, .school-payroll .sp-btn-sm, .school-payroll .sp-extra-kind, .school-payroll .sp-extra-table tfoot td, .school-payroll .sp-extra-link, .school-payroll .sp-owed-split, .school-schedule .ss-legend {
      font-size: 13px !important;
    }

    .school-schedule .ss-teacher-dot, .school-schedule .ss-cal-day {
      font-size: 12px !important;
    }

    .school-schedule .ss-cal-dayname, .school-schedule .ss-hour-label-flex, .school-schedule .ss-lesson {
      font-size: 13px !important;
    }

    .school-schedule .ss-lesson-dot {
      font-size: 12px !important;
    }

    .school-schedule .ss-lesson-who {
      font-size: 13px !important;
    }

    .school-schedule .ss-lesson-sub {
      font-size: 12.5px !important;
    }

    .school-schedule .ss-month-dayname {
      font-size: 12px !important;
    }

    .school-schedule .ss-month-chip {
      font-size: 12.5px !important;
    }

    .school-schedule .ss-month-chip .ss-lesson-dot, .school-schedule .ss-month-chip-time {
      font-size: 12px !important;
    }

    .school-schedule .ss-month-more {
      font-size: 12.5px !important;
    }

    .school-schedule .ss-panel-sub {
      font-size: 13px !important;
    }

    .school-schedule .ss-panel-eyebrow {
      font-size: 12px !important;
    }

    .school-schedule .ss-stat-line .k, .school-schedule .ss-split-legend, .school-schedule .ss-free-slot, .school-schedule .ss-panel-empty {
      font-size: 13px !important;
    }

    .school-schedule .ss-drag-preview-label {
      font-size: 12.5px !important;
    }

    .school-schedule .ss-agg-label, .school-schedule .ss-agg-popover-head, .school-schedule .ss-agg-popover-item, .school-schedule .ss-agg-popover-who .name, .school-schedule .ss-agg-popover-who .meta {
      font-size: 13px !important;
    }

    .school-schedule .ss-agg-type-tag {
      font-size: 12px !important;
    }

    .school-schedule.student-schedule .ss-chip {
      font-size: 13px !important;
    }

    .school-schedule.student-schedule .ss-stat-lab {
      font-size: 12px !important;
    }

    .school-schedule.student-schedule .ss-enroll-row {
      font-size: 13px !important;
    }

    .school-schedule.student-schedule .ss-enroll-dot {
      font-size: 12px !important;
    }

    .school-schedule.student-schedule .ss-enroll-count .ind, .school-schedule.student-schedule .ss-enroll-count .grp {
      font-size: 12.5px !important;
    }

    .school-schedule.student-schedule .ss-tz-note, .pd-subtitle {
      font-size: 13px !important;
    }

    .pd-stat-eyebrow {
      font-size: 12px !important;
    }

    .pd-stat-sub {
      font-size: 13px !important;
    }

    .pd-section-title, .pd-history-date {
      font-size: 12px !important;
    }

    .pd-history-period {
      font-size: 13px !important;
    }

    .pd-pill, .sv2-ai-tag {
      font-size: 12px !important;
    }

    .sv2-count-pill, .sv2-filter-chip .sv2-n {
      font-size: 13px !important;
    }

    .sv2-learn-badge, .sv2-multi-badge {
      font-size: 12px !important;
    }

    .sv2-badge {
      font-size: 12.5px !important;
    }

    .sv2-lang-tag, .sv2-teacher-chip, .sv2-teacher-chip--assigned .sv2-change-hint {
      font-size: 13px !important;
    }

    .sv2-teacher-dot, .sv2-value-box .sv2-value-lbl, .sv2-group-students-title, .sv2-group-student-dot {
      font-size: 12px !important;
    }

    .sv2-group-student-level {
      font-size: 13px !important;
    }

    .sv2-popover-title {
      font-size: 12px !important;
    }

    .sv2-popover-actions button, .sv2-profile-title .sv2-badge, .sv2-level-menu-item, .sv2-stat-card .sv2-stat-label, .sv2-field-icon {
      font-size: 13px !important;
    }

    .sv2-field-item .sv2-v.is-note {
      font-size: 13px !important;
      font-weight: 500 !important;
    }

    .sv2-enr-tab {
      font-size: 13px !important;
    }

    .sv2-enr-tab .sv2-type-mark, .sv2-enr-teacher .sv2-teacher-dot, .sv2-enr-field .sv2-k {
      font-size: 12px !important;
    }

    .sv2-enr-field .sv2-dual-time small {
      font-size: 13px !important;
      font-weight: 500 !important;
    }

    .sv2-payment-terms-sub, .sv2-pt-inherited-tag {
      font-size: 13px !important;
    }

    .sv2-pt-prompt-tag {
      font-size: 12px !important;
    }

    .sv2-intake-missing-chip {
      font-size: 13px !important;
    }

    .sv2-needs-review-tag {
      font-size: 12px !important;
    }

    .sv2-folder-crumb-count, .sv2-folder-tile-count {
      font-size: 13px !important;
    }

    .pcd-history-now {
      font-size: 12px !important;
    }

    .tlh-root .tlh-today-btn, .tlh-root .tlh-summary, .tlh-root .tlh-pill {
      font-size: 13px !important;
    }

    .tlh-root .tlh-pill-count {
      font-size: 12px !important;
    }

    .tlh-root .tlh-search {
      font-size: 13px !important;
    }

    .tlh-root .tlh-col-headers {
      font-size: 12px !important;
    }

    .tlh-root .tlh-error, .tlh-root .tlh-col-note {
      font-size: 13px !important;
    }

    .tlh-root .tlh-col-headers .tlh-col-note {
      font-size: 12px !important;
    }

    .tlh-root .tlh-date {
      font-size: 13px !important;
    }

    .tlh-root .tlh-time {
      font-size: 12.5px !important;
    }

    .tlh-root .tlh-who-name {
      font-size: 13px !important;
    }

    .tlh-root .tlh-type-tag {
      font-size: 12px !important;
    }

    .tlh-root .tlh-subline, .tlh-root .tlh-attend, .tlh-root .tlh-status {
      font-size: 12.5px !important;
    }

    .tlh-root .tlh-member-chip, .teachers-stats-page .tsp-chip-tail, .teachers-stats-page .tsp-teacher-stats thead th, .teachers-stats-page .tsp-util-pct, .teachers-stats-page .tsp-flag-note, .teachers-stats-page .tsp-conv-pill, .teachers-stats-page .tsp-teacher-stats tbody td, .teachers-stats-page .tsp-panel-sub, .teachers-stats-page .tsp-range-label {
      font-size: 13px !important;
    }

    .teachers-stats-page .tsp-insights-badge {
      font-size: 12px !important;
    }

    .teachers-stats-page .tsp-series-btn, .teachers-stats-page .tsp-metric-btn {
      font-size: 13px !important;
    }

    .teachers-stats-page .tsp-chart-yaxis {
      font-size: 12.5px !important;
    }

    .teachers-stats-page .tsp-ip-empty, .teachers-stats-page .tsp-ip-alert-sub {
      font-size: 13px !important;
    }

    .teachers-stats-page .tsp-ip-footnote {
      font-size: 12.5px !important;
    }

    .team-profiles-v2 .tp-badge {
      font-size: 13px !important;
    }

    .team-profiles-v2 .tp-stat-label {
      font-size: 12px !important;
    }

    .team-profiles-v2 .tp-card-rate, .team-profiles-v2 .tp-card-langs {
      font-size: 13px !important;
    }

    .team-profiles-v2 .tp-eyebrow {
      font-size: 12px !important;
    }

    .team-profiles-v2 .tp-info-sub, .team-profiles-v2 .tp-rate-currency-label {
      font-size: 13px !important;
    }

    .team-profiles-v2 .tp-rate-table th {
      font-size: 12px !important;
    }

    .timeoff-row-length, .timeoff-kind, .timeoff-hint, .timeoff-strip, .timeoff-strip-total, .timeoff-cell-mark, .timeoff-legend {
      font-size: 13px !important;
    }

    .app-sidebar-section-label, .dash-mini-stat__lbl {
      font-size: 12px !important;
    }

    .acct-panel-sub, .acct-field label, .acct-row-sub, .acct-integration-sub, .acct-status, .acct-locked-note {
      font-size: 13px !important;
    }

    .acct-tag-template {
      font-size: 12px !important;
    }

    .acct-teach-banner .acct-teach-sub, .acct-plan-card .acct-plan-sub, .acct-avatar-edit, .acct-save-status, .acct-field-hint, .acct-doc-note, .acct-perm-chip {
      font-size: 13px !important;
    }

    .acct-btn {
      padding: 11px 16px !important;
      font-size: 15px !important;
    }

    .ui-empty, .res-empty, .ui-page-subtitle, body .acct-header > p, .leads-page .leads-empty, body .sv2-header p.sv2-subtitle, .acct-panel .acct-hint, .acct-hint {
      font-size: 11.5px !important;
      font-weight: 500 !important;
      line-height: 1.55 !important;
    }

    button:not([style*="absolute"]):not([style*="fixed"]), [role="button"]:not([style*="absolute"]), select, textarea, input:not([type="checkbox"]):not([type="radio"]):not([type="range"]) {
      min-height: 36px;
    }

    button:not([style*="absolute"]):has( > svg:only-child), a:not([style*="absolute"]):has( > svg:only-child) {
      min-width: 36px;
    }

    .acct-toggle:after, .auth-password-toggle, .cal-event, .cbx__chevron, .dv2-cal-block, .help-fab, .ls-jobcard-close, .ls-refine-fab, .ls-v2-quick-btn, .mc-pw-toggle, .school-schedule .ss-agg-chip, .school-schedule .ss-lesson, .share-qr-close, .share-qr-fab, .sv2-folder-tile-add {
      min-width: 0;
      min-height: 0;
    }

    :root {
      --app-content-padding: 14px !important;
      --app-card-radius: 10.4px !important;
    }

    .financials-page {
      --fp-radius-lg: 9.1px !important;
    }

    .leads-page {
      --lp-radius: 6.5px !important;
      --lp-radius-lg: 9.1px !important;
    }

    .lessons-stats-page {
      --lsp-radius-lg: 9.1px !important;
    }

    .ls-v2 {
      --v2-radius: 7.8px !important;
      --v2-radius-lg: 10.4px !important;
      --v2-radius-pill: 13px !important;
    }

    .school-payroll {
      --sp-radius: 6.5px !important;
      --sp-radius-lg: 9.1px !important;
    }

    .school-schedule {
      --ss-radius: 6.5px !important;
      --ss-radius-lg: 9.1px !important;
    }

    .sv2 {
      --sv2-radius: 6.5px !important;
      --sv2-radius-lg: 9.1px !important;
    }

    .teachers-stats-page {
      --tsp-radius-lg: 9.1px !important;
    }

    .team-profiles-v2 {
      --tp-radius: 6.5px !important;
      --tp-radius-lg: 9.1px !important;
    }

    :root {
      --font-size-h1: 19.9px !important;
      --font-size-h2: 17.5px !important;
      --font-size-h3: 14.8px !important;
      --font-size-h4: 14.2px !important;
      --font-size-body-large: 14.2px !important;
      --font-size-body-medium: 13.9px !important;
      --font-size-body-small: 13.6px !important;
      --ui-font-page-title: 15.7px !important;
      --ui-font-section-title: 13.6px !important;
      --ui-font-body: 13.3px !important;
      --ui-font-kpi: 16.9px !important;
      --ui-space-4: 14px !important;
      --ui-space-5: 14px !important;
      --ui-space-6: 15.6px !important;
      --ui-space-8: 20.8px !important;
      --ui-space-10: 26px !important;
      --ui-radius-md: 6.5px !important;
      --ui-radius-lg: 7.8px !important;
    }

    .onboarding-buttons {
      margin-top: 20.8px !important;
    }

    .app-welcome-banner.app-welcome-banner--indigo {
      margin-bottom: 14.3px !important;
    }

    .app-panel {
      border-radius: 7.8px !important;
      margin-top: 15.6px !important;
    }

    .onboarding-summary {
      border-radius: 7.8px !important;
      margin-top: 15.6px !important;
      margin-bottom: 15.6px !important;
      padding: 14px !important;
    }

    .onboarding-consent {
      border-radius: 7.8px !important;
      margin-top: 15.6px !important;
      padding: 14px !important;
    }

    .onboarding-tags {
      margin-top: 10.4px !important;
    }

    .btn.btn-none.btn-small {
      font-size: 13.3px !important;
    }

    .app-empty-state {
      padding: 20.8px !important;
    }

    .btn.btn-primary {
      margin-top: 10.4px !important;
      font-size: 13.3px !important;
    }

    .flex.items-start.justify-between.gap-3 {
      margin-bottom: 5.2px !important;
    }

    .btn.btn-tertiary-reverse.btn-small {
      margin-top: 10.4px !important;
    }

    .workspace-grid {
      gap: 15.6px !important;
    }

    .flex.flex-wrap.items-center.justify-between.gap-4 {
      margin-bottom: 15.6px !important;
    }

    .flex.gap-4 {
      margin-bottom: 13px !important;
    }

    .acct-panel-title {
      margin-top: 14.3px !important;
      font-size: 13.6px !important;
    }

    .acct-save-status.acct-save-status--success {
      margin-top: 4px !important;
    }

    .form-label {
      margin-bottom: 4px !important;
    }

    .set-password-banner {
      gap: 7.8px !important;
      font-size: 13.3px !important;
    }

    .app-card-body {
      gap: 10.4px !important;
      padding: 9.1px !important;
    }

    .onboarding-field {
      margin-top: 20.8px !important;
      margin-bottom: 14px !important;
    }

    .onboarding-input {
      border-radius: 6.5px !important;
      margin-top: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .app-card {
      min-height: 130px !important;
      margin-top: 10.4px !important;
      margin-bottom: 10.4px !important;
      padding: 13px !important;
    }

    .btn.btn-secondary {
      margin-top: 10.4px !important;
    }

    .tdp-panel-title {
      margin-bottom: 6.5px !important;
    }

    .verify-email-banner {
      gap: 7.8px !important;
      font-size: 13.3px !important;
    }

    .app-finance-chart__legend-dot {
      margin-left: 9.1px !important;
    }

    .flex.items-center.justify-between {
      border-radius: 6px !important;
      gap: 5.2px !important;
      margin-top: 5.2px !important;
      margin-bottom: 5.2px !important;
      padding-top: 5.2px !important;
    }

    .flex.justify-end {
      margin-top: 10.4px !important;
    }

    .app-card-header {
      gap: 7.8px !important;
      padding: 14px !important;
    }

    .sp-stat-value, .material-symbols-outlined {
      font-size: 14.5px !important;
    }

    .ptv2-header {
      margin-bottom: 14px !important;
    }

    .ptv2-header h2 {
      font-size: 15.1px !important;
    }

    .ptv2-stat-grid {
      margin-bottom: 15.6px !important;
    }

    .ptv2-stat-card {
      border-radius: 10.4px !important;
      min-height: 58.5px !important;
    }

    .ptv2-stat-card .ptv2-stat-v {
      font-size: 16.9px !important;
    }

    .ptv2-cp-item {
      padding: 5.2px 0 !important;
    }

    .ptv2-subtab-row {
      gap: 14.3px !important;
      margin-bottom: 14px !important;
    }

    .ptv2-subtab-btn {
      padding: 5.9px 0 !important;
      font-size: 13.2px !important;
    }

    .ptv2-card {
      border-radius: 10.4px !important;
    }

    .ptv2-tbl th {
      padding: 6.5px 14px !important;
    }

    .ptv2-tbl td {
      padding: 7.8px 14px !important;
      font-size: 13.2px !important;
    }

    .ptv2-to-pay-total {
      padding: 7.8px 14px !important;
    }

    .ptv2-section-title {
      font-size: 13.6px !important;
    }

    .ptv2-period-btn {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
    }

    .ptv2-period-menu {
      border-radius: 7.2px !important;
      padding: 4px !important;
    }

    .ptv2-period-item {
      padding: 5.9px 10px !important;
    }

    .ptv2-period-custom {
      border-radius: 6px !important;
      gap: 4px !important;
    }

    .ptv2-period-custom input {
      padding: 4px 8px !important;
    }

    .ptv2-num-col {
      padding: 7.8px 8px !important;
    }

    .ptv2-actions-col {
      padding: 5.2px 4px !important;
    }

    .ptv2-lesson-num {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ptv2-upcoming-tag {
      border-radius: 13px !important;
      padding: 2px 4.6px !important;
    }

    .ptv2-paid-pill {
      border-radius: 13px !important;
      gap: 4px !important;
    }

    .ptv2-payment-row td {
      padding: 7.2px 14px !important;
    }

    .ptv2-payment-row .ptv2-pay-date {
      gap: 4px !important;
    }

    .ptv2-inv-logo {
      border-radius: 6px !important;
      width: 26px !important;
      height: 26px !important;
      font-size: 13.9px !important;
    }

    .ptv2-inv-school-name {
      font-size: 13.5px !important;
    }

    .ptv2-inv-summary {
      border-radius: 7.8px !important;
      gap: 14px !important;
    }

    .ptv2-inv-summary-block .v {
      font-size: 13.2px !important;
    }

    .ptv2-inv-summary-block.total .v {
      font-size: 15.7px !important;
    }

    .ptv2-inv-table th {
      padding: 5.2px 4px !important;
    }

    .ptv2-inv-table td {
      padding: 5.9px 4px !important;
    }

    .ptv2-inv-total td {
      font-size: 13.3px !important;
    }

    .ptv2-btn {
      border-radius: 6px !important;
      gap: 4px !important;
      padding: 5.9px 14px !important;
    }

    .ptv2-btn.sm {
      padding: 4.6px 13px !important;
    }

    .sp-state.is-error {
      padding: 7.8px !important;
    }

    .sp-paid-pill.is-overpaid, .sp-paid-pill.is-paid, .sp-paid-pill.is-unpaid {
      margin-left: 4px !important;
    }

    .ui-loading, .ui-error {
      padding: 26px !important;
    }

    .tsp-est-badge {
      margin-left: 4px !important;
    }

    .app-insight-box--alert {
      border-radius: 6px !important;
      margin-bottom: 10.4px !important;
    }

    .flex.justify-end.gap-3 {
      margin-top: 5.2px !important;
    }

    .sv2-teacher-dot {
      width: 12px !important;
      height: 12px !important;
    }

    .sv2-v {
      gap: 4px !important;
    }

    .sv2 {
      padding: 26px !important;
    }

    .sv2-teacher-dot.sv2-dot {
      height: 12px !important;
    }

    .sv2-cell-input, .sv2-cell-select {
      font-size: 13.9px !important;
    }

    .sv2-include-school {
      gap: 5.2px !important;
    }

    .sv2-grid {
      margin-bottom: 11.7px !important;
    }

    .ss-modal-hint {
      margin-top: 4px !important;
    }

    .videocall-grid {
      gap: 7.8px !important;
      padding: 7.8px !important;
    }

    .af-page {
      padding: 15.6px 14px !important;
    }

    .af-card {
      border-radius: 7.8px !important;
      padding: 15.6px 14px 18.2px !important;
    }

    .af-brand {
      margin: 0 0 13px !important;
    }

    .af-logo {
      border-radius: 6px !important;
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .af-brand-name {
      font-size: 14.5px !important;
    }

    .af-title {
      margin: 0 0 5.2px !important;
      font-size: 15.1px !important;
    }

    .af-subtitle {
      margin: 0 0 15.6px !important;
      font-size: 13.3px !important;
    }

    .af-form {
      gap: 14px !important;
    }

    .af-field {
      gap: 4px !important;
    }

    .af-input {
      border-radius: 6.5px !important;
      padding: 7.2px 14px !important;
    }

    .af-submit {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
      font-size: 13.6px !important;
    }

    .af-submit-spinner {
      width: 12px !important;
      height: 12px !important;
    }

    .af-banner {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .af-fineprint {
      margin: 7.8px 0 0 !important;
    }

    .mx-auto.flex.items-center.justify-between.px-6.lg:px-10 {
      height: 46.8px !important;
    }

    .hidden.lg:block {
      height: 26px !important;
    }

    .block.lg:hidden {
      height: 23.4px !important;
    }

    .flex.items-center.justify-between.px-6 {
      height: 39px !important;
    }

    .flex.items-center.flex-shrink-0.px-4.transition-all.duration-300 {
      gap: 7.8px !important;
      height: 41.6px !important;
    }

    .flex-shrink-0 {
      height: 20.8px !important;
    }

    .flex-shrink-0.flex.items-center.justify-center {
      border-radius: 6px !important;
      height: 20.8px !important;
      font-size: 13.9px !important;
    }

    .flex.items-center.px-4.flex-shrink-0 {
      gap: 7.8px !important;
      height: 36.4px !important;
    }

    .lg:hidden.fixed.top-0.left-0.right-0.z-50 {
      height: 39px !important;
    }

    .lg:hidden {
      height: 39px !important;
    }

    .flex.items-center.gap-3.py-3 {
      font-size: 13.9px !important;
    }

    .cta-final-title {
      margin-bottom: 14px !important;
    }

    .cta-final-fineprint {
      margin: 10.4px 0 0 !important;
    }

    .cta-final-invite {
      margin: 6.5px 0 0 !important;
      font-size: 13.3px !important;
    }

    .cta-bg-circle--top-right {
      width: 260px !important;
      height: 260px !important;
    }

    .cta-bg-circle--bottom-left {
      width: 195px !important;
      height: 195px !important;
    }

    .hero-headline {
      margin: 0 0 13px !important;
    }

    .hero-subheadline {
      margin: 0 0 20.8px !important;
      font-size: 13.9px !important;
    }

    .hero-grid {
      gap: 14px !important;
    }

    .hero-cta-button {
      padding: 10.4px 20.8px !important;
      font-size: 13.9px !important;
    }

    .hero-cta-fineprint {
      margin: 9.1px 0 0 !important;
      font-size: 13.3px !important;
    }

    .hero-cta-invite {
      margin: 5.2px 0 0 !important;
      font-size: 13.3px !important;
    }

    .hw-steps {
      gap: 26px 14px !important;
    }

    .hw-step-num {
      width: 26px !important;
      height: 26px !important;
      margin: 0 auto 11.7px !important;
      font-size: 14.2px !important;
    }

    .hw-step-title {
      margin: 5.2px 0 4px !important;
      font-size: 14.5px !important;
    }

    .hw-step-text {
      font-size: 13.5px !important;
    }

    .hw-cta {
      margin-top: 20.8px !important;
    }

    .hw-cta-fineprint {
      margin: 9.1px 0 0 !important;
    }

    .landing-footer-credit {
      padding: 7.8px 15.6px 0 !important;
    }

    .ls-grid {
      gap: 31.2px !important;
    }

    .ls-feature-list {
      gap: 14.3px !important;
    }

    .ls-feature-icon {
      border-radius: 7.8px !important;
      width: 28.6px !important;
      height: 28.6px !important;
      font-size: 15.7px !important;
    }

    .ls-feature-title {
      font-size: 14.2px !important;
    }

    .ls-feature-text {
      font-size: 13.5px !important;
    }

    .pl-section:before {
      height: 65px !important;
    }

    .pl-showcase {
      margin: 0 auto 26px !important;
    }

    .pl-grid {
      gap: 14px !important;
    }

    .pl-tile-icon {
      margin-bottom: 14px !important;
    }

    .pl-tile-title {
      margin: 0 0 5.2px !important;
      font-size: 14.5px !important;
    }

    .pl-tile-text {
      font-size: 13.5px !important;
    }

    .pl-tile {
      padding: 14.3px 14px !important;
    }

    .wi-grid {
      gap: 14px !important;
    }

    .wi-card-icon {
      margin-bottom: 14px !important;
    }

    .wi-card-title {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .wi-card-tagline {
      margin: 0 0 13px !important;
      font-size: 13.3px !important;
    }

    .wi-card-item {
      font-size: 13.5px !important;
    }

    .wi-card-bullet {
      width: 13px !important;
      height: 13px !important;
    }

    .nf-page {
      padding: 41.6px 14px !important;
    }

    .nf-code {
      font-size: 28.3px !important;
    }

    .nf-title {
      margin: 7.8px 0 5.2px !important;
      font-size: 17.5px !important;
    }

    .nf-text {
      margin: 0 0 15.6px !important;
      font-size: 13.9px !important;
    }

    .nf-btn {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
      font-size: 13.6px !important;
    }

    .add-school-page {
      padding: 15.6px 14px !important;
    }

    .onboarding-container {
      border-radius: 10.4px !important;
      padding: 18.2px 14px !important;
    }

    .onboarding-step-label {
      margin: 0 0 15.6px !important;
    }

    .onboarding-title {
      margin: 0 0 5.2px !important;
      font-size: 15.7px !important;
    }

    .onboarding-subtitle {
      margin: 0 0 18.2px !important;
      font-size: 13.6px !important;
    }

    .onboarding-step {
      min-height: 130px !important;
    }

    .onboarding-label {
      margin-bottom: 4px !important;
      font-size: 13.3px !important;
    }

    .onboarding-tag {
      border-radius: 13px !important;
      padding: 4px 14px !important;
    }

    .onboarding-chip {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 4px 12px !important;
    }

    .onboarding-chip-remove {
      font-size: 13.3px !important;
    }

    .onboarding-summary-row {
      padding: 5.2px 0 !important;
    }

    .onboarding-summary-value {
      font-size: 13.3px !important;
    }

    .onboarding-error {
      border-radius: 6.5px !important;
      margin-bottom: 14px !important;
      padding: 7.8px 14px !important;
    }

    .onboarding-error p {
      font-size: 13.3px !important;
    }

    .onboarding-page {
      padding: 15.6px 14px !important;
    }

    .onboarding-textarea {
      border-radius: 6.5px !important;
      min-height: 52px !important;
      padding: 7.8px 14px !important;
    }

    .onboarding-profession-card {
      border-radius: 9.1px !important;
      padding: 10.4px 8px !important;
    }

    .onboarding-profession-icon {
      font-size: 18.7px !important;
    }

    .onboarding-profession-name {
      font-size: 13.3px !important;
    }

    .onboarding-hint {
      margin: 0 0 5.2px !important;
    }

    .dev-login-page {
      padding: 15.6px 14px !important;
    }

    .dev-login-card {
      border-radius: 7.8px !important;
      padding: 20.8px 15.6px !important;
    }

    .dev-login-brand {
      margin: 0 auto 13px !important;
    }

    .dev-login-logo {
      border-radius: 6px !important;
      width: 23.4px !important;
      height: 23.4px !important;
    }

    .dev-login-brand-name {
      font-size: 15.7px !important;
    }

    .dev-login-title {
      margin: 0 0 4px !important;
      font-size: 15.1px !important;
    }

    .dev-login-subtitle {
      margin: 0 0 13px !important;
    }

    .ds-root {
      padding: 15.6px 19.5px 39px !important;
    }

    .ds-bar h1 {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .ds-sub {
      margin: 0 0 7.8px !important;
      font-size: 13.2px !important;
    }

    .ds-form {
      margin-bottom: 14px !important;
    }

    .ds-form select {
      margin-left: 4px !important;
      padding: 4px !important;
    }

    .ds-tile {
      border-radius: 10.4px !important;
      min-height: 85.8px !important;
      padding: 10.4px 4px 6.5px !important;
    }

    .ds-blob {
      width: 59.8px !important;
      height: 59.8px !important;
    }

    .ds-credit {
      margin-top: 23.4px !important;
    }

    .auth-page {
      padding: 14px !important;
    }

    .auth-split {
      gap: 26px !important;
    }

    .auth-hero {
      padding: 5.2px 12px !important;
    }

    .auth-hero-logo {
      width: 46.8px !important;
      height: 46.8px !important;
    }

    .auth-hero-row {
      gap: 14px !important;
    }

    .auth-hero-card {
      padding: 5.9px 14px 5.9px 12px !important;
    }

    .auth-hero-card-icon {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .auth-brand-link--mobile {
      margin: 0 auto 6.5px !important;
    }

    .auth-brand-logo {
      border-radius: 6px !important;
      width: 23.4px !important;
      height: 23.4px !important;
    }

    .auth-brand-name {
      font-size: 16.3px !important;
    }

    .auth-card {
      border-radius: 7.8px !important;
      padding: 10.4px 14px 11.7px !important;
    }

    .auth-tabs {
      margin: 0 0 10.4px !important;
    }

    .auth-tab {
      padding: 4.6px 4px !important;
    }

    .auth-title {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .auth-subtitle {
      margin: 0 0 10.4px !important;
      font-size: 13.3px !important;
    }

    .auth-error-banner {
      border-radius: 6px !important;
      margin-bottom: 14px !important;
      padding: 6.5px 12px !important;
    }

    .auth-resume {
      border-radius: 7.8px !important;
      margin-bottom: 14px !important;
    }

    .auth-resume-text {
      margin: 0 0 6.5px !important;
      font-size: 13.3px !important;
    }

    .auth-resume-btn {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.6px !important;
    }

    .auth-resume-alt {
      margin: 6.5px 0 0 !important;
    }

    .auth-label {
      font-size: 13.3px !important;
    }

    .auth-input {
      border-radius: 6.5px !important;
      padding: 5.9px 12px !important;
    }

    .auth-select {
      border-radius: 6.5px !important;
      padding: 5.9px 23.4px 5.9px 12px !important;
    }

    .auth-password-wrap .auth-input {
      padding-right: 28.6px !important;
    }

    .auth-password-toggle {
      padding: 4px !important;
    }

    .auth-submit {
      border-radius: 6.5px !important;
      padding: 7.2px 14px !important;
      font-size: 13.6px !important;
    }

    .auth-submit--secondary {
      margin-top: 14px !important;
    }

    .auth-submit-spinner {
      width: 12px !important;
      height: 12px !important;
    }

    .auth-google-btn {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .auth-google-hint {
      margin: 4px 0 0 !important;
    }

    .auth-divider {
      margin: 9.1px 0 4px !important;
    }

    .auth-fineprint {
      margin: 5.2px 0 0 !important;
    }

    .auth-state--success {
      padding: 5.2px 0 4px !important;
    }

    .auth-success-icon {
      width: 46.8px !important;
      height: 46.8px !important;
      margin: 0 auto 13px !important;
    }

    .legal-table-wrap {
      margin: 0 0 10.4px !important;
    }

    .legal-table th, .legal-table td {
      padding: 6.5px 12px !important;
      font-size: 13.3px !important;
    }

    .legal-table tr {
      padding: 7.8px 0 !important;
    }

    .legal-page {
      padding: 65px 14px 39px !important;
    }

    .legal-updated {
      margin-bottom: 26px !important;
      font-size: 13.3px !important;
    }

    .legal-section {
      margin-bottom: 20.8px !important;
    }

    .legal-section h2 {
      font-size: 15.1px !important;
    }

    .legal-section p {
      margin: 0 0 7.8px !important;
      font-size: 13.6px !important;
    }

    .legal-section ul {
      margin: 0 0 10.4px !important;
      padding-left: 15.6px !important;
    }

    .legal-section li {
      margin-bottom: 4px !important;
      font-size: 13.6px !important;
    }

    .legal-section h3 {
      margin-top: 14px !important;
      font-size: 13.9px !important;
    }

    .app-sidebar-logo {
      padding: 15.6px 14px !important;
    }

    .app-sidebar-logo img {
      height: 20.8px !important;
    }

    #sidebar-toggle-btn {
      border-radius: 6px !important;
    }

    .app-sidebar-nav {
      padding: 10.4px 12px !important;
    }

    .app-sidebar-section-label {
      padding: 7.8px 12px 4px !important;
    }

    .app-sidebar-badge {
      height: 12px !important;
      padding: 0 4px !important;
    }

    .app-sidebar-badge--green {
      padding: 2px 4px !important;
    }

    .app-sidebar-badge--ai {
      padding: 2px 4.6px !important;
    }

    .app-sidebar-footer {
      padding: 10.4px 12px !important;
    }

    .app-sidebar-user-btn {
      border-radius: 6px !important;
      padding: 5.2px 8px !important;
    }

    .app-sidebar-user-avatar {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .app-sidebar-user-menu {
      border-radius: 6.5px !important;
      padding: 4px !important;
    }

    .app-sidebar-user-menu button, .app-sidebar-user-menu a {
      padding: 5.9px 10px !important;
    }

    .app-topbar {
      gap: 14px !important;
      padding: 0 14px !important;
    }

    .app-sidebar-item svg.app-sidebar-chev {
      width: 12px !important;
      height: 12px !important;
    }

    .app-sidebar-children {
      padding-left: 18.2px !important;
    }

    .app-sidebar-children .app-sidebar-item {
      height: 20.8px !important;
    }

    .app-sidebar--school .app-sidebar-item--tab {
      height: 36px !important;
      font-size: 13.6px !important;
    }

    .app-sidebar--school .app-sidebar-children {
      padding-left: 28.6px !important;
    }

    .app-sidebar--school .app-sidebar-children .app-sidebar-item {
      height: 20.8px !important;
    }

    .app-sidebar--school .app-sidebar-footer > .app-sidebar-item {
      height: 26px !important;
      font-size: 13.3px !important;
    }

    .app-sidebar-help-btn {
      font-size: 14.5px !important;
    }

    .app-sidebar--personal .app-sidebar-nav {
      padding: 5.2px 12px !important;
    }

    .app-sidebar--personal .app-sidebar-nav .app-sidebar-item {
      border-radius: 7.8px !important;
    }

    .app-sidebar--personal .app-sidebar-nav .app-sidebar-icon-chip {
      border-radius: 6px !important;
    }

    .app-sidebar--personal .app-sidebar-section-label {
      padding: 4px 8px 2px !important;
    }

    .app-sidebar--personal .app-sidebar-footer {
      padding: 5.2px 12px 6.5px !important;
    }

    .app-sidebar--personal .app-sidebar-user-avatar {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .app-stat-card {
      padding: 15.6px !important;
    }

    .app-stat-number {
      font-size: 16.3px !important;
    }

    .app-table th, .app-table td {
      padding: 7.8px 14px !important;
    }

    .app-format-badge {
      width: 15.6px !important;
      height: 15.6px !important;
    }

    .app-insight-box {
      border-radius: 7.8px !important;
      padding: 13px 15.6px !important;
    }

    .app-panel-header {
      padding: 10.4px 14px !important;
    }

    .app-panel-body {
      padding: 14px !important;
    }

    .app-search {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .app-search svg {
      width: 12px !important;
      height: 12px !important;
    }

    .app-calendar-day {
      min-height: 31.2px !important;
    }

    .app-calendar-event {
      padding: 2px 4px !important;
    }

    .app-empty-state svg, .app-empty-state img {
      width: 52px !important;
      height: 52px !important;
      margin-bottom: 15.6px !important;
    }

    .app-quick-action {
      padding: 15.6px 14px !important;
    }

    .dashboard-lang-tags {
      gap: 4px !important;
    }

    .dashboard-lang-tag {
      border-radius: 7.8px !important;
    }

    .app-mode-switcher {
      padding: 7.8px 12px 0 !important;
    }

    .app-mode-btn {
      border-radius: 6px !important;
      gap: 4px !important;
      padding: 5.2px 10px !important;
      font-size: 13.3px !important;
    }

    .app-welcome-banner {
      border-radius: 13px !important;
      padding: 20.8px 23.4px !important;
    }

    .app-welcome-eyebrow {
      padding: 4px 12px !important;
    }

    .app-welcome-title {
      margin: 0 0 4px !important;
      font-size: 16.9px !important;
    }

    .app-welcome-subtitle {
      font-size: 13.6px !important;
    }

    .app-stat-card--premium {
      border-radius: 10.4px !important;
      padding: 14.3px 14.3px 13px !important;
    }

    .app-stat-icon {
      border-radius: 7.8px !important;
      width: 27.3px !important;
      height: 27.3px !important;
    }

    .app-stat-icon svg {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .app-stat-number--premium {
      font-size: 19.3px !important;
    }

    .app-section-title {
      font-size: 14.5px !important;
    }

    .app-card--premium {
      border-radius: 10.4px !important;
    }

    .app-card--premium .app-card-header {
      padding: 11.7px 14.3px !important;
    }

    .app-card--premium .app-card-body {
      padding: 5.2px 8px 7.8px !important;
    }

    .app-avatar {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .app-avatar--sm {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .app-table--premium th, .app-table--premium td {
      padding: 9.1px 14px !important;
    }

    .app-quick-action--premium {
      border-radius: 9.1px !important;
      padding: 9.1px 14px !important;
      font-size: 13.3px !important;
    }

    .app-quick-action--premium .qa-icon {
      border-radius: 6.5px !important;
      width: 36px !important;
      height: 36px !important;
    }

    .app-team-row {
      padding: 9.1px 14.3px !important;
    }

    .app-team-row-stats {
      gap: 14.3px !important;
    }

    .app-team-row-stat-num {
      font-size: 13.9px !important;
    }

    .app-mini-day {
      border-radius: 7.8px !important;
      min-height: 65px !important;
      padding: 7.8px 4px 6.5px !important;
    }

    .app-mini-day-num {
      margin: 2px 0 5.2px !important;
      font-size: 14.5px !important;
    }

    .app-mini-day-pill {
      padding: 2px 4px !important;
    }

    .app-mini-day-empty {
      font-size: 14.5px !important;
    }

    .dashboard-two-cols, .dashboard-two-cols-even {
      gap: 15.6px !important;
    }

    .dashboard-three-cols {
      gap: 14px !important;
    }

    .teacher-dash-two-cols {
      gap: 15.6px !important;
    }

    .app-finance-page {
      gap: 14px !important;
    }

    .app-finance-page__picker {
      padding: 4px 0 6.5px !important;
    }

    .app-period-picker__chips {
      gap: 4px !important;
    }

    .app-period-picker__custom {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .app-period-picker__field input {
      padding: 4px 10px !important;
    }

    .app-period-chip {
      padding: 4.6px 14px !important;
    }

    .app-finance-layout {
      gap: 14px !important;
    }

    .app-finance-card {
      border-radius: 9.1px !important;
    }

    .app-finance-chart__title {
      font-size: 13.3px !important;
    }

    .app-finance-chart__legend {
      gap: 4px !important;
    }

    .app-finance-chart__svg-wrap svg {
      height: 143px !important;
    }

    .app-finance-collapse {
      border-radius: 9.1px !important;
    }

    .app-finance-collapse__summary {
      padding: 9.1px 14px !important;
    }

    .app-finance-collapse__title {
      font-size: 13.6px !important;
    }

    .app-finance-collapse__icon {
      font-size: 14.5px !important;
    }

    .app-finance-collapse__chevron {
      font-size: 13.3px !important;
    }

    .app-finance-empty {
      padding: 23.4px 14px !important;
      font-size: 13.3px !important;
    }

    .app-finance-badge {
      border-radius: 6.5px !important;
    }

    .sched-hub {
      gap: 14px !important;
      padding: 10.4px 14px 20.8px !important;
    }

    .sched-hero {
      border-radius: 14.3px !important;
      gap: 15.6px !important;
      padding: 19.5px 22.1px !important;
    }

    .sched-hero-eyebrow {
      padding: 4px 12px !important;
    }

    .sched-hero-title {
      margin: 0 0 4px !important;
      font-size: 17.5px !important;
    }

    .sched-hero-subtitle {
      font-size: 13.6px !important;
    }

    .sched-hero-cta {
      border-radius: 7.8px !important;
      padding: 8.5px 14.3px !important;
      font-size: 13.6px !important;
    }

    .sched-hero-cta-icon {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .sched-tabs-row {
      gap: 14px !important;
    }

    .sched-tabs {
      border-radius: 9.1px !important;
      gap: 4px !important;
      padding: 4px !important;
    }

    .sched-tab {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .sched-tab-icon {
      font-size: 13.9px !important;
    }

    .sched-tab-badge {
      border-radius: 6.5px !important;
      padding: 0 4.6px !important;
    }

    .sched-body {
      border-radius: 11.7px !important;
    }

    .sched-body--padded {
      padding: 10.4px 14px !important;
    }

    .sched-empty {
      padding: 31.2px 15.6px !important;
    }

    .sched-empty-icon {
      border-radius: 11.7px !important;
      width: 46.8px !important;
      height: 46.8px !important;
      margin-bottom: 14px !important;
      font-size: 19.3px !important;
    }

    .sched-empty-title {
      margin: 0 0 4px !important;
      font-size: 14.2px !important;
    }

    .sched-empty-text {
      font-size: 13.3px !important;
    }

    .sched-layout {
      gap: 14px !important;
    }

    .sched-rail-greeting-line1 {
      font-size: 13.6px !important;
    }

    .sched-rail-cta {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
      font-size: 13.5px !important;
    }

    .sched-rail {
      border-radius: 9.1px !important;
      gap: 14px !important;
      padding: 11.7px 14px !important;
    }

    .sched-rail-cta > span:first-child {
      font-size: 14.5px !important;
    }

    .sched-rail-heading {
      margin: 0 0 4px !important;
    }

    .sched-rail-badge {
      height: 13px !important;
      padding: 0 4px !important;
    }

    .sched-rail-tags {
      gap: 4px !important;
    }

    .sched-main {
      border-radius: 9.1px !important;
      padding: 7.8px 14px 11.7px !important;
    }

    .sched-back-link {
      border-radius: 6px !important;
      gap: 4px !important;
      margin: 4px 0 9.1px !important;
      padding: 4px 10px !important;
    }

    .sched-flexible-hint {
      border-radius: 7.8px !important;
      margin: 10.4px 0 0 !important;
      padding: 9.1px 14px !important;
    }

    .sched-flexible-hint-icon {
      font-size: 15.7px !important;
    }

    .sched-flexible-hint-text, .sched-flexible-hint-text strong {
      font-size: 13.3px !important;
    }

    .sched-flexible-hint-arrow {
      font-size: 14.5px !important;
    }

    .app-back-button {
      gap: 4px !important;
      padding: 4px 12px 4px 8px !important;
    }

    .cal-week {
      border-radius: 9.1px !important;
    }

    .cal-week-day-num {
      font-size: 13.9px !important;
    }

    .cal-week-day-header.is-today .cal-week-day-num {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .cal-week-drag-preview {
      padding: 4px !important;
    }

    .cal-week-drag-preview-label {
      padding: 2px 4px !important;
    }

    .cal-event.is-compact {
      padding: 3px 4px 3px 8px !important;
    }

    .cal-event.is-compact .cal-event-tutor, .cal-event-tutor {
      width: 12px !important;
      height: 12px !important;
    }

    .avail-grid {
      border-radius: 9.1px !important;
    }

    .avail-grid-day-header {
      padding: 5.2px 4px 6.5px !important;
    }

    .avail-grid-day-num {
      font-size: 13.3px !important;
    }

    .avail-grid-day-header.is-today .avail-grid-day-num {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .avail-grid-hour-label {
      padding: 2px 4px 0 0 !important;
    }

    .avail-grid-footer {
      padding: 6.5px 14px !important;
    }

    .avail-grid-hint {
      gap: 4px !important;
    }

    .page-header {
      border-radius: 10.4px !important;
      margin-bottom: 15.6px !important;
      padding: 14.3px 14px 11.7px !important;
    }

    .page-header-row--top {
      gap: 15.6px !important;
    }

    .page-header-title {
      font-size: 15.7px !important;
    }

    .page-header-subtitle {
      font-size: 13.3px !important;
    }

    .page-header-btn {
      border-radius: 6.5px !important;
      padding: 5.9px 14px !important;
      font-size: 13.3px !important;
    }

    .page-header-stats {
      margin: 11.7px 0 0 !important;
    }

    .page-header-stat, .page-header-stat-link {
      border-radius: 7.8px !important;
      padding: 6.5px 14px !important;
    }

    .page-header-stat-icon, .page-header-stat-number {
      font-size: 14.5px !important;
    }

    .page-header-tabs {
      border-radius: 9.1px !important;
      gap: 4px !important;
      margin-top: 14px !important;
      padding: 4px !important;
    }

    .page-header-tab {
      border-radius: 6.5px !important;
      padding: 5.2px 14px !important;
      font-size: 13.3px !important;
    }

    .page-header-tab-icon {
      font-size: 13.9px !important;
    }

    .page-header-tab-badge {
      padding: 0 4px !important;
    }

    .page-section {
      border-radius: 10.4px !important;
      margin-bottom: 14px !important;
    }

    .page-section-header {
      gap: 14px !important;
      padding: 9.1px 14px !important;
    }

    .page-section-title {
      font-size: 14.2px !important;
    }

    .page-section-body {
      padding: 9.1px 14px !important;
    }

    .help-fab--left .help-fab-icon {
      font-size: 15.1px !important;
    }

    .help-chat {
      border-radius: 9.1px !important;
      height: 338px !important;
    }

    .help-chat-head {
      padding: 6.5px 12px !important;
    }

    .help-chat-avatar {
      width: 26px !important;
      height: 26px !important;
    }

    .help-chat-name {
      gap: 4px !important;
      font-size: 13.6px !important;
    }

    .help-chat-close {
      font-size: 15.1px !important;
    }

    .help-chat-msg {
      border-radius: 7.8px !important;
      padding: 5.9px 12px !important;
      font-size: 13.2px !important;
    }

    .help-chat-suggestions {
      gap: 4px !important;
    }

    .help-chat-suggestion {
      padding: 4px 10px !important;
    }

    .help-chat-rate {
      gap: 4px !important;
      padding-top: 4px !important;
    }

    .help-chat-rate-btn {
      font-size: 13.6px !important;
    }

    .help-chat-actions {
      padding: 5.2px 12px 0 !important;
    }

    .help-chat-action {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .help-chat-report-title {
      font-size: 13.3px !important;
    }

    .help-chat-report-text {
      border-radius: 6.5px !important;
      min-height: 78px !important;
      padding: 6.5px 12px !important;
      font-size: 13.2px !important;
    }

    .help-chat-report-error {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .help-chat-report-submit {
      border-radius: 6px !important;
      padding: 6.5px 14px !important;
      font-size: 13.2px !important;
    }

    .help-chat-report--done {
      padding: 18.2px 14px !important;
    }

    .help-chat-report-tick {
      width: 28.6px !important;
      height: 28.6px !important;
      font-size: 15.7px !important;
    }

    .help-chat-report-sent {
      font-size: 13.3px !important;
    }

    .help-chat-report-back {
      margin-top: 4px !important;
      padding: 5.2px 14px !important;
    }

    .help-chat-input {
      padding: 6.5px 12px !important;
    }

    .help-chat-input textarea {
      border-radius: 11.7px !important;
      max-height: 78px !important;
      padding: 5.2px 12px !important;
    }

    .help-chat-send {
      font-size: 13.9px !important;
    }

    .app-topbar-mode-switcher button {
      font-size: 13.3px !important;
    }

    .help-chat-pending {
      gap: 4px !important;
    }

    .btn-small, .btn-medium {
      font-size: 13.3px !important;
    }

    .cbx__input {
      padding-right: 22.1px !important;
    }

    .cbx__panel {
      border-radius: 6.5px !important;
    }

    .cbx__group-label {
      padding: 4px 10px !important;
    }

    .cbx__row, .cbx__use-typed {
      min-height: 28.6px !important;
      padding: 5.2px 10px !important;
      font-size: 13.6px !important;
    }

    .cbx__empty {
      padding: 9.1px 10px !important;
    }

    .cbx__footer {
      padding: 5.2px 10px !important;
    }

    .clm-sub {
      margin: -4px 0 9.1px !important;
    }

    .clm-label {
      gap: 4px !important;
    }

    .clm-badge {
      padding: 2px 4.6px !important;
    }

    .clm-loading {
      padding: 4px 2px !important;
    }

    .clm-row {
      border-radius: 6.5px !important;
      margin-bottom: 4px !important;
      padding: 5.9px 10px !important;
    }

    .clm-avatar {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .clm-pill {
      border-radius: 6px !important;
    }

    .clm-absent-note {
      margin: -2px 0 5.2px !important;
    }

    .clm-absent-note input {
      border-radius: 6px !important;
      padding: 4.6px 10px !important;
    }

    .clm-textarea {
      border-radius: 6.5px !important;
      min-height: 40.3px !important;
      padding: 5.9px 11px !important;
    }

    .clm-error {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .dashboard-v2 {
      gap: 14px !important;
    }

    .dv2-bell {
      border-radius: 7.8px !important;
      width: 36px !important;
      height: 36px !important;
    }

    .dv2-bell-count {
      height: 12px !important;
    }

    .dv2-popover {
      border-radius: 9.1px !important;
      padding: 4px !important;
    }

    .dv2-popover-head {
      padding: 6.5px 12px 4px !important;
    }

    .dv2-popover-item {
      border-radius: 6.5px !important;
    }

    .dv2-popover-icon {
      border-radius: 6px !important;
      width: 20.8px !important;
      height: 20.8px !important;
      font-size: 13.3px !important;
    }

    .dv2-popover-action {
      border-radius: 9.1px !important;
      padding: 4.6px 12px !important;
    }

    .dv2-popover-empty {
      padding: 9.1px 14px !important;
    }

    .dv2-hero {
      border-radius: 13px !important;
      padding: 18.2px 20.8px !important;
    }

    .dv2-hero--photo-bg .dv2-hero-text {
      border-radius: 10.4px !important;
      padding: 9.1px 14px !important;
    }

    .dv2-hero-tag {
      border-radius: 13px !important;
      gap: 4px !important;
    }

    .dv2-hero-greeting {
      font-size: 16.9px !important;
    }

    .dv2-hero-sub {
      margin: 4px 0 0 !important;
      font-size: 13.3px !important;
    }

    .dv2-hero-strip-bar {
      gap: 4px !important;
    }

    .dv2-hero-popover {
      border-radius: 10.4px !important;
    }

    .dv2-hero-popover-head {
      padding: 10.4px 14px 6.5px !important;
    }

    .dv2-hero-popover-title {
      font-size: 13.9px !important;
    }

    .dv2-hero-popover-close {
      border-radius: 6px !important;
    }

    .dv2-hero-popover-list {
      padding: 4px 12px 7.8px !important;
    }

    .dv2-hero-popover-item {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .dv2-hero-popover-bullet {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .dv2-hero-popover-cta {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .dv2-hero-popover-foot {
      padding: 5.2px 14px 9.1px !important;
    }

    .dv2-hero-popover-dismiss {
      padding: 4px !important;
    }

    .dv2-stat {
      border-radius: 11.7px !important;
      padding: 14px !important;
    }

    .dv2-stat-sticker {
      width: 26px !important;
      height: 26px !important;
      font-size: 15.1px !important;
    }

    .dv2-stat-num {
      margin-top: 22.1px !important;
      font-size: 16.9px !important;
    }

    .dv2-stat-sub {
      margin-top: 4px !important;
    }

    .dv2-main {
      gap: 14px !important;
    }

    .dv2-section-title {
      gap: 4.6px !important;
      margin: 0 0 6.5px !important;
      font-size: 13.6px !important;
    }

    .dv2-card {
      border-radius: 10.4px !important;
    }

    .dv2-lesson-row {
      border-radius: 7.8px !important;
      padding: 7.8px 10px !important;
    }

    .dv2-reschedule {
      border-radius: 7.8px !important;
      margin: 0 10px 6.5px !important;
    }

    .dv2-reschedule-label {
      gap: 4px !important;
    }

    .dv2-reschedule-input {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .dv2-reschedule-save, .dv2-reschedule-cancel {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
    }

    .dv2-lesson-avatar {
      width: 22.1px !important;
      height: 22.1px !important;
    }

    .dv2-row-actions {
      gap: 4px !important;
    }

    .dv2-act-btn {
      border-radius: 6px !important;
    }

    .dv2-confirmed-badge {
      height: 18.2px !important;
    }

    .dv2-empty {
      padding: 20.8px 12px !important;
    }

    .dv2-cal-nav {
      padding: 2px 4px 7.8px !important;
    }

    .dv2-cal-nav-arrows {
      gap: 4px !important;
    }

    .dv2-cal-arrow {
      font-size: 13.3px !important;
    }

    .dv2-cal-scroll {
      border-radius: 6.5px !important;
      max-height: 208px !important;
    }

    .dv2-cal-scroll::-webkit-scrollbar-thumb {
      border-radius: 6.5px !important;
    }

    .dv2-cal-head {
      padding: 4px 0 !important;
    }

    .dv2-cal-head.today .dv2-cal-head-num {
      width: 13px !important;
      height: 13px !important;
    }

    .dv2-cal-cell {
      min-height: 20.8px !important;
    }

    .dlb-confirm {
      border-radius: 6.5px !important;
      gap: 4px !important;
      padding: 5px 4.6px !important;
    }

    .financials-page .fp-loading, .fp-loading {
      padding: 26px !important;
    }

    .financials-page .fp-error {
      border-radius: 6px !important;
      margin-bottom: 14px !important;
      padding: 9.1px 14px !important;
      font-size: 13.2px !important;
    }

    .financials-page .fp-btn-chip {
      border-radius: 13px !important;
      padding: 5.2px 14px !important;
    }

    .financials-page .fp-hero-card {
      gap: 14px !important;
    }

    .financials-page .fp-hero-left .fp-hero-label {
      margin-bottom: 4px !important;
    }

    .financials-page .fp-hero-left .fp-hero-value {
      font-size: 19.9px !important;
    }

    .financials-page .fp-hero-left .fp-hero-formula {
      margin-top: 4px !important;
    }

    .financials-page .fp-hero-margin .fp-hero-pct {
      font-size: 16.9px !important;
    }

    .financials-page .fp-stat-card .fp-eyebrow {
      margin: 0 0 4px !important;
    }

    .financials-page .fp-stat-num {
      font-size: 15.7px !important;
    }

    .financials-page .fp-panel-title {
      font-size: 13.3px !important;
    }

    .financials-page .fp-panel-sub {
      margin: 0 0 9.1px !important;
    }

    .financials-page .fp-panel-header-row {
      gap: 14px !important;
    }

    .financials-page .fp-range-select {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .financials-page .fp-insights-fab {
      width: 36px !important;
      height: 36px !important;
      font-size: 14.2px !important;
    }

    .financials-page .fp-insights-badge {
      height: 12px !important;
    }

    .financials-page .fp-series-btn {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 4.6px 14px !important;
    }

    .financials-page .fp-chart-wrap {
      min-height: 143px !important;
    }

    .financials-page .fp-chart-yaxis {
      height: 143px !important;
      padding-bottom: 14.3px !important;
    }

    .financials-page .fp-chart-empty {
      padding: 39px 14px !important;
    }

    .financials-page .fp-ip-title {
      font-size: 13.3px !important;
    }

    .financials-page .fp-ip-close {
      font-size: 13.6px !important;
    }

    .financials-page .fp-ip-empty {
      padding: 13px 0 !important;
    }

    .financials-page .fp-ip-alert {
      padding: 7.8px 0 !important;
    }

    .financials-page .fp-ip-alert-icon {
      font-size: 13.6px !important;
    }

    .financials-page .fp-by-teacher th {
      padding: 5.2px 4px !important;
    }

    .financials-page .fp-by-teacher td {
      padding: 6.5px 4px !important;
    }

    .financials-page .fp-dot-avatar {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .form-label-optional:after {
      margin-left: 4px !important;
    }

    .form-input {
      border-radius: 6px !important;
    }

    .form-group {
      margin-bottom: 15.6px !important;
    }

    .form-grid {
      gap: 14px !important;
    }

    .form-section {
      border-radius: 10.4px !important;
      margin-bottom: 15.6px !important;
      padding: 15.6px !important;
    }

    .form-section-header {
      margin-bottom: 15.6px !important;
    }

    .form-section-icon {
      border-radius: 6px !important;
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .form-section-highlighted {
      border-radius: 7.8px !important;
      margin: 10.4px 0 !important;
      padding: 14px !important;
    }

    .form-badge {
      border-radius: 13px !important;
    }

    .form-file-dropzone {
      border-radius: 7.8px !important;
      min-height: 78px !important;
      padding: 14px !important;
    }

    .form-file-dropzone-icon {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .form-file-item {
      border-radius: 6px !important;
      padding: 4px 8px !important;
    }

    .form-file-thumbnail, .form-file-type-icon {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .form-file-status {
      border-radius: 7.8px !important;
    }

    .form-file-compact {
      border-radius: 6px !important;
    }

    .form-file-compact-badge {
      border-radius: 10.4px !important;
      gap: 4px !important;
    }

    .global-back-btn {
      border-radius: 6px !important;
    }

    .sia-panel {
      border-radius: 7.8px !important;
      margin-top: 14px !important;
      padding: 14px !important;
    }

    .sia-title {
      font-size: 14.2px !important;
    }

    .sia-stamp {
      font-size: 13.6px !important;
    }

    .sia-toggle {
      border-radius: 6px !important;
      font-size: 13.6px !important;
    }

    .sia-uses {
      border-radius: 0 6px 6px 0 !important;
      margin: 9.1px 0 0 !important;
      padding: 6.5px 14px !important;
      font-size: 13.6px !important;
    }

    .sia-section {
      margin-top: 14.3px !important;
    }

    .sia-section-title {
      margin: 0 0 7.8px !important;
      padding-bottom: 4px !important;
    }

    .sia-q {
      font-size: 13.6px !important;
    }

    .sia-a {
      font-size: 13.9px !important;
    }

    .sia-quote {
      padding: 5.2px 0 5.2px 14px !important;
      font-size: 13.9px !important;
    }

    .sia-chips {
      gap: 4px !important;
    }

    .sia-chip {
      font-size: 13.6px !important;
    }

    .sia-empty {
      font-size: 13.9px !important;
    }

    .sia-empty p {
      margin: 0 0 6.5px !important;
    }

    .sia-ask-btn {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
      font-size: 13.6px !important;
    }

    .sia-muted, .sia-error, .sia-c-q, .sia-c-a, .sia-c-full {
      font-size: 13.6px !important;
    }

    .sia-c-item {
      padding: 4.6px 0 !important;
    }

    .cta-final-subhead {
      margin: 0 0 19.5px !important;
      font-size: 14.2px !important;
    }

    .hw-section {
      padding: 36.4px 14px !important;
    }

    .hw-step {
      margin-bottom: 14.3px !important;
      padding: 0 0 14.3px !important;
    }

    .ls-section {
      padding: 36.4px 14px !important;
    }

    .ls-feature {
      gap: 14px !important;
      margin-bottom: 14.3px !important;
    }

    .pl-section, .wi-section {
      padding: 36.4px 14px !important;
    }

    .wi-card {
      padding: 15.6px 14px !important;
    }

    .cta-section {
      padding: 36.4px 14px !important;
    }

    .hero-section {
      padding: 49.4px 14px 15.6px !important;
    }

    .landing-section-header {
      margin: 0 auto 36.4px !important;
    }

    .landing-tile {
      border-radius: 10.4px !important;
      padding: 18.2px 15.6px !important;
    }

    .hero-highlight {
      border-radius: 6px !important;
    }

    .section-label {
      border-radius: 65px !important;
      margin-bottom: 15.6px !important;
      padding: 4px 14px !important;
    }

    .landing-section-title {
      margin: 0 0 10.4px !important;
    }

    .landing-section-subtitle {
      font-size: 13.9px !important;
    }

    .landing-icon-tile {
      border-radius: 9.1px !important;
    }

    .landing-header {
      padding: 10.4px 15.6px !important;
    }

    .landing-logo-img {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .landing-logo-text {
      font-size: 14.5px !important;
    }

    .landing-nav {
      gap: 20.8px !important;
    }

    .landing-nav-link {
      font-size: 13.3px !important;
    }

    .landing-nav-signin, .landing-mobile-signin {
      border-radius: 65px !important;
      padding: 5.9px 14px !important;
      font-size: 13.3px !important;
    }

    .landing-footer {
      padding: 31.2px 15.6px !important;
    }

    .landing-footer-inner {
      gap: 14px !important;
    }

    .share-qr-fab {
      width: 27.3px !important;
      height: 27.3px !important;
    }

    .share-qr-overlay {
      padding: 15.6px !important;
    }

    .share-qr-panel {
      border-radius: 13px !important;
      padding: 20.8px 14px 14.3px !important;
    }

    .share-qr-title {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .share-qr-subtitle {
      margin: 0 0 13px !important;
      font-size: 13.3px !important;
    }

    .share-qr-code-wrap {
      border-radius: 7.8px !important;
      margin-bottom: 14px !important;
    }

    .share-qr-url {
      border-radius: 6px !important;
      margin: 0 0 11.7px !important;
      padding: 5.2px 10px !important;
    }

    .share-qr-copy {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
      font-size: 13.6px !important;
    }

    .share-qr-fab svg {
      width: 13px !important;
      height: 13px !important;
    }

    .leads-page .leads-topbar {
      gap: 14px !important;
    }

    .leads-page .leads-search-box {
      padding: 5.9px 14px !important;
    }

    .leads-page .leads-btn {
      gap: 4px !important;
      padding: 5.2px 14px !important;
    }

    .leads-page .leads-move-hint {
      padding: 5.9px 14px !important;
    }

    .leads-page .leads-move-bar, .leads-page .leads-error {
      padding: 6.5px 14px !important;
    }

    .leads-page .status-filter {
      margin-bottom: 14px !important;
    }

    .leads-page .sf-trigger {
      border-radius: 7.8px !important;
      gap: 4px !important;
      padding: 5.9px 14px !important;
    }

    .leads-page .sf-menu {
      border-radius: 7.8px !important;
      padding: 4px !important;
    }

    .leads-page .sf-item {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .leads-page .leads-table thead th, .leads-page .leads-table tbody td {
      padding: 7.2px 14px !important;
    }

    .leads-page .lead-course {
      gap: 4px !important;
    }

    .leads-page .lead-level {
      border-radius: 13px !important;
    }

    .leads-page .status-pill {
      border-radius: 6px !important;
    }

    .leads-page .fu-tracker {
      margin-top: 4px !important;
    }

    .leads-page .leads-empty {
      border-radius: 9.1px !important;
    }

    .trial-drawer .td-name {
      font-size: 13.9px !important;
    }

    .trial-drawer .td-close {
      font-size: 14.5px !important;
    }

    .trial-drawer .td-q {
      border-radius: 6.5px !important;
    }

    .trial-drawer .td-textarea {
      border-radius: 6.5px !important;
      min-height: 65px !important;
      padding: 6.5px 12px !important;
    }

    .trial-drawer .td-text-input, .trial-drawer .td-progress {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
    }

    .trial-drawer .td-empty-hint {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .trial-drawer .td-trial-box {
      border-radius: 7.8px !important;
      padding: 9.1px 14px 4px !important;
    }

    .trial-drawer .td-pill {
      border-radius: 6px !important;
      padding: 5.9px 0 !important;
    }

    .trial-drawer .td-textarea--short {
      min-height: 37.7px !important;
    }

    .trial-drawer .td-delete {
      border-radius: 6px !important;
      gap: 4px !important;
      padding: 4.6px 12px !important;
    }

    .leads-toast {
      border-radius: 13px !important;
      padding: 6.5px 14px !important;
    }

    .leads-page .leads-views {
      gap: 4px !important;
    }

    .leads-page .leads-view-tab {
      border-radius: 9.1px !important;
      padding: 5.2px 14px !important;
    }

    .leads-page .lmb-toolbar {
      gap: 14px !important;
      margin-bottom: 14px !important;
    }

    .leads-page .lmb-error {
      padding: 7.8px 14px !important;
    }

    .leads-page .lmb-card {
      padding: 14px !important;
    }

    .leads-page .lmb-card-title {
      gap: 4.6px !important;
      font-size: 13.5px !important;
    }

    .leads-page .lmb-badge {
      border-radius: 13px !important;
    }

    .leads-page .lmb-when {
      padding: 6.5px 12px !important;
    }

    .leads-page .lmb-when-main {
      gap: 4px !important;
    }

    .leads-page .lmb-member {
      border-radius: 13px !important;
    }

    .leads-page .lmb-footnote {
      gap: 4px !important;
      margin: 9.1px 0 0 !important;
    }

    .lsdrag-ghost {
      border-radius: 6px !important;
    }

    .lsdrag-ghost-label {
      padding: 1px 4.6px !important;
    }

    .lsdrag-toast {
      border-radius: 7.8px !important;
      padding: 6.5px 12px 6.5px 14px !important;
    }

    .lsdrag-toast-undo {
      border-radius: 6px !important;
    }

    .lsdrag-toast-close {
      font-size: 14.5px !important;
    }

    .ls-jobcard {
      border-radius: 10.4px !important;
      padding: 10.4px 26px 10.4px 14px !important;
    }

    .ls-jobcard-close {
      border-radius: 6px !important;
    }

    .ls-jobcard-spinner {
      width: 12px !important;
      height: 12px !important;
    }

    .ls-jobcard-step {
      margin: 6.5px 0 0 !important;
    }

    .ls-jobcard-note {
      margin: 5.2px 0 0 !important;
    }

    .ls-jobcard-lesson {
      margin: 4px 0 0 !important;
    }

    .ls-jobcard-open {
      border-radius: 7.8px !important;
      padding: 6.5px 14px !important;
    }

    .ls-jobcard-error {
      margin: 5.2px 0 0 !important;
    }

    .lessons-stats-page .lsp-loading, .lsp-loading {
      padding: 26px !important;
    }

    .lessons-stats-page .lsp-error {
      border-radius: 6px !important;
      margin-bottom: 14px !important;
      padding: 9.1px 14px !important;
      font-size: 13.2px !important;
    }

    .lessons-stats-page .lsp-btn-chip {
      border-radius: 13px !important;
      padding: 5.2px 14px !important;
    }

    .lessons-stats-page .lsp-stat-head {
      margin-bottom: 4px !important;
    }

    .lessons-stats-page .lsp-stat-num {
      font-size: 15.7px !important;
    }

    .lessons-stats-page .lsp-panel-title {
      font-size: 13.3px !important;
    }

    .lessons-stats-page .lsp-panel-sub {
      margin: 0 0 9.1px !important;
    }

    .lessons-stats-page .lsp-panel-header-row {
      gap: 14px !important;
    }

    .lessons-stats-page .lsp-range-select {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .lessons-stats-page .lsp-split-bar {
      border-radius: 6px !important;
      height: 22.1px !important;
    }

    .lessons-stats-page .lsp-split-ind, .lessons-stats-page .lsp-split-grp {
      padding: 0 4px !important;
    }

    .lessons-stats-page .lsp-split-legend {
      gap: 14px !important;
    }

    .lessons-stats-page .lsp-insights-fab {
      width: 36px !important;
      height: 36px !important;
      font-size: 14.2px !important;
    }

    .lessons-stats-page .lsp-insights-badge {
      height: 12px !important;
    }

    .lessons-stats-page .lsp-series-btn {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 4.6px 14px !important;
    }

    .lessons-stats-page .lsp-chart-wrap {
      min-height: 143px !important;
    }

    .lessons-stats-page .lsp-chart-yaxis {
      height: 143px !important;
      padding-bottom: 14.3px !important;
    }

    .lessons-stats-page .lsp-chart-empty {
      padding: 39px 14px !important;
    }

    .lessons-stats-page .lsp-ip-title {
      font-size: 13.3px !important;
    }

    .lessons-stats-page .lsp-ip-close {
      font-size: 13.6px !important;
    }

    .lessons-stats-page .lsp-ip-empty {
      padding: 13px 0 !important;
    }

    .lessons-stats-page .lsp-ip-alert {
      padding: 7.8px 0 !important;
    }

    .lessons-stats-page .lsp-ip-alert-icon {
      font-size: 13.6px !important;
    }

    .lessons-stats-page .lsp-disruptor-row {
      border-radius: 6px !important;
      padding: 6.5px 8px !important;
    }

    .lessons-stats-page .lsp-disruptor-avatar {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .lessons-stats-page .lsp-disruptor-total {
      font-size: 13.3px !important;
    }

    .lessons-stats-page .lsp-disruptor-empty {
      padding: 15.6px 12px !important;
    }

    .lessons-stats-page .lsp-drawer-title, .lessons-stats-page .lsp-drawer-close {
      font-size: 13.6px !important;
    }

    .lessons-stats-page .lsp-drawer-empty {
      padding: 26px 12px !important;
    }

    .lessons-stats-page .lsp-drawer-item {
      padding: 7.8px 4px !important;
    }

    .lessons-stats-page .lsp-drawer-item-name {
      font-size: 13.2px !important;
    }

    .lessons-stats-page .lsp-drawer-item-reason, .lessons-stats-page .lsp-drawer-item-reschedule {
      padding: 4px 8px !important;
    }

    .lessons-stats-page .lsp-type-tag {
      padding: 2px 4.6px !important;
    }

    .ls-btn {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-input {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .ls-card {
      border-radius: 10.4px !important;
      padding: 15.6px !important;
    }

    .ls-card-title {
      margin: 0 0 4px !important;
      font-size: 14.5px !important;
    }

    .ls-card-hint {
      margin: 0 0 10.4px !important;
      font-size: 13.3px !important;
    }

    .ls-eyebrow {
      margin-bottom: 4px !important;
    }

    .ls-page-title {
      margin: 0 0 5.2px !important;
      font-size: 17.5px !important;
    }

    .ls-page-hint {
      font-size: 13.6px !important;
    }

    .ls-error, .ls-note {
      margin: 5.2px 0 !important;
    }

    .ls-back-link {
      font-size: 13.3px !important;
    }

    .ls-list-page {
      padding: 20.8px !important;
    }

    .ls-list-header {
      gap: 15.6px !important;
      margin-bottom: 15.6px !important;
    }

    .ls-empty {
      border-radius: 10.4px !important;
      padding: 26px !important;
    }

    .ls-workspace-grid {
      gap: 14px !important;
    }

    .ls-workspace-card {
      border-radius: 9.1px !important;
    }

    .ls-workspace-card-link {
      padding: 14px !important;
    }

    .ls-workspace-card-subject {
      margin-bottom: 4px !important;
      font-size: 13.9px !important;
    }

    .ls-workspace-page {
      padding: 20.8px !important;
    }

    .ls-workspace-header {
      margin-bottom: 15.6px !important;
    }

    .ls-recent-lessons {
      margin-top: 14px !important;
      padding-top: 14px !important;
    }

    .ls-recent-lessons ul {
      gap: 4px !important;
    }

    .ls-teacher-lesson-toolbar, .ls-teacher-lesson-meta {
      padding: 9.1px 15.6px !important;
    }

    .ls-lesson-page {
      padding-bottom: 39px !important;
    }

    .ls-lesson-hero {
      padding: 39px 15.6px !important;
    }

    .ls-lesson-hero-shape {
      width: 221px !important;
      height: 221px !important;
    }

    .ls-lesson-title {
      font-size: 21.7px !important;
    }

    .ls-lesson-hero-dot {
      width: 104px !important;
      height: 104px !important;
    }

    .ls-lesson-body {
      gap: 20.8px !important;
      padding: 26px 14px 0 !important;
    }

    .ls-lesson-stage {
      gap: 14px !important;
    }

    .ls-stage-node {
      width: 16.9px !important;
      height: 16.9px !important;
      font-size: 13.6px !important;
    }

    .ls-lesson-stage[data-wide="true"] > .ls-stage-node {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-mood-elegant .ls-lesson-body {
      padding-top: 36.4px !important;
    }

    .ls-mood-modern .ls-lesson-hero {
      padding: 31.2px 15.6px !important;
    }

    .ls-mood-strict .ls-lesson-hero {
      padding: 26px 15.6px !important;
    }

    .ls-mood-strict .ls-lesson-title {
      font-size: 19.9px !important;
    }

    .ls-unknown-block {
      border-radius: 7.8px !important;
      padding: 14px !important;
    }

    .ls-flashcard {
      border-radius: 9.1px !important;
      min-height: 91px !important;
      padding: 14px !important;
    }

    .ls-flashcard-text {
      font-size: 15.7px !important;
    }

    .ls-discussion {
      border-radius: 9.1px !important;
      padding: 15.6px !important;
    }

    .ls-discussion-intro {
      margin: 0 0 7.8px !important;
      font-size: 13.6px !important;
    }

    .ls-discussion-list {
      padding-left: 14.3px !important;
      font-size: 13.9px !important;
    }

    .ls-vocab-card {
      border-radius: 9.1px !important;
    }

    .ls-vocab-header {
      padding: 13px 15.6px !important;
    }

    .ls-vocab-word {
      font-size: 18.7px !important;
    }

    .ls-vocab-translation {
      font-size: 14.5px !important;
    }

    .ls-vocab-pronunciation {
      font-size: 13.3px !important;
    }

    .ls-vocab-block {
      padding: 10.4px 15.6px !important;
    }

    .ls-vocab-examples {
      gap: 4px !important;
      padding-left: 14.3px !important;
      font-size: 13.6px !important;
    }

    .ls-modal-backdrop {
      padding: 14px !important;
    }

    .ls-modal {
      border-radius: 10.4px !important;
      padding: 18.2px !important;
    }

    .ls-modal-title {
      margin: 0 0 4px !important;
      font-size: 15.1px !important;
    }

    .ls-modal-hint {
      margin: 0 0 13px !important;
      font-size: 13.3px !important;
    }

    .ls-share-row {
      margin-bottom: 14px !important;
    }

    .ls-share-url {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .ls-public-loading, .ls-public-notfound {
      padding: 26px !important;
    }

    .ls-public-notfound h1 {
      margin: 0 0 7.8px !important;
      font-size: 18.7px !important;
    }

    .ls-p3-card {
      margin-bottom: 14px !important;
      padding: 15.6px !important;
    }

    .ls-p3-title {
      font-size: 15.1px !important;
    }

    .ls-p3-instructions {
      font-size: 13.3px !important;
    }

    .ls-p3-ol, .ls-p3-ul {
      margin: 5.2px 0 !important;
      padding-left: 14.3px !important;
    }

    .ls-p3-block-label {
      margin: 6.5px 0 4px !important;
    }

    .ls-p3-tokens {
      gap: 4px !important;
      margin: 4px 0 !important;
    }

    .ls-p3-token {
      border-radius: 10.4px !important;
      font-size: 13.3px !important;
    }

    .ls-p3-matching {
      gap: 14px !important;
    }

    .ls-p3-matching-col li {
      margin-bottom: 4px !important;
      padding: 6.5px 12px !important;
    }

    .ls-p3-cat, .ls-p3-taboo {
      border-radius: 6px !important;
    }

    .ls-p3-cat-name, .ls-p3-taboo-word {
      margin-bottom: 4px !important;
    }

    .ls-p3-passage, .ls-p3-scenario {
      border-radius: 6px !important;
      margin: 5.2px 0 !important;
    }

    .ls-p3-mcq-q {
      margin-bottom: 4px !important;
    }

    .ls-p3-mcq-opt {
      padding: 5.2px 12px !important;
    }

    .ls-p3-wordsearch {
      gap: 14px !important;
    }

    .ls-p3-grid td {
      width: 16.9px !important;
      height: 16.9px !important;
      font-size: 13.3px !important;
    }

    .ls-p3-crossword {
      gap: 14px !important;
    }

    .ls-p3-family, .ls-p3-collocation {
      border-radius: 6px !important;
    }

    .ls-p3-family-root, .ls-p3-collocation-stem {
      margin-bottom: 4px !important;
      font-size: 13.9px !important;
    }

    .ls-p3-mindmap {
      gap: 14px !important;
    }

    .ls-p3-mindmap-center {
      padding: 6.5px 15.6px !important;
      font-size: 13.9px !important;
    }

    .ls-p3-mindmap-branch {
      border-radius: 6px !important;
    }

    .ls-p3-mindmap-topic {
      margin-bottom: 4px !important;
    }

    .ls-p3-role, .ls-p3-infogap-side {
      border-radius: 6px !important;
    }

    .ls-p3-role-name, .ls-p3-infogap-name {
      margin-bottom: 4px !important;
      font-size: 13.6px !important;
    }

    .ls-p3-role-line {
      margin-top: 4px !important;
    }

    .ls-p3-badge {
      border-radius: 7.8px !important;
      margin-right: 4px !important;
    }

    .ls-p3-motion {
      font-size: 13.9px !important;
    }

    .ls-p3-debate-side {
      border-radius: 6px !important;
    }

    .ls-p3-debate-position {
      margin-bottom: 4px !important;
    }

    .ls-p3-starter {
      border-radius: 6px !important;
      margin: 5.2px 0 !important;
    }

    .ls-p3-topic {
      font-size: 14.2px !important;
    }

    .ls-p3-section {
      margin: 6.5px 0 !important;
    }

    .ls-p3-question {
      font-size: 13.9px !important;
    }

    .ls-p3-jigsaw-piece {
      border-radius: 6px !important;
    }

    .ls-p3-jigsaw-letter {
      margin-bottom: 4px !important;
    }

    .ls-p3-wheel-seg {
      border-radius: 6px !important;
    }

    .ls-p3-bingo-cell {
      min-height: 39px !important;
      padding: 7.8px 4px !important;
    }

    .ls-p3-clock {
      margin-bottom: 4px !important;
      font-size: 15.7px !important;
    }

    .ls-p3-board-cell {
      margin-bottom: 4px !important;
      padding: 5.2px 12px !important;
    }

    .ls-p3-board-pos {
      margin-right: 4px !important;
    }

    .ls-p3-rule {
      border-radius: 6px !important;
      margin: 5.2px 0 !important;
      font-size: 13.6px !important;
    }

    .ls-p3-table {
      margin: 5.2px 0 !important;
    }

    .ls-p3-table th, .ls-p3-table td {
      padding: 5.2px 12px !important;
    }

    .ls-p3-callout {
      margin: 5.2px 0 !important;
      padding: 7.8px 14px !important;
    }

    .ls-p3-callout-icon {
      margin-right: 4px !important;
      font-size: 13.9px !important;
    }

    .ls-p3-culture {
      margin-bottom: 4px !important;
    }

    .ls-p3-body {
      margin: 4px 0 !important;
    }

    .ls-p3-timeline {
      margin: 5.2px 0 !important;
    }

    .ls-p3-timeline li {
      padding: 5.2px 0 !important;
    }

    .ls-p3-phrase {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .ls-p3-phrase-text {
      font-size: 13.6px !important;
    }

    .ls-p3-model-answer {
      border-radius: 6px !important;
      margin: 5.2px 0 !important;
    }

    .ls-p3-pron {
      margin: 5.2px 0 !important;
    }

    .ls-p3-pron li {
      padding: 4px 0 !important;
    }

    .ls-p3-source {
      margin-bottom: 4px !important;
    }

    .ls-p3-snippet {
      margin: 4px 0 !important;
      padding: 6.5px 14px !important;
    }

    .ls-p3-task {
      margin: 4px 0 !important;
    }

    .ls-v2-header {
      gap: 14px !important;
    }

    .ls-v2-title {
      margin: 0 0 4px !important;
      font-size: 16.3px !important;
    }

    .ls-v2-btn {
      border-radius: 9.1px !important;
      gap: 4px !important;
      padding: 6.5px 14px !important;
    }

    .ls-v2-btn-primary {
      padding: 7.2px 14px !important;
    }

    .ls-v2-chips {
      gap: 4px !important;
    }

    .ls-v2-chip {
      border-radius: 9.1px !important;
      padding: 5.2px 14px !important;
    }

    .ls-v2-search {
      padding: 5.2px 12px !important;
    }

    .ls-v2-sort {
      padding: 5.2px 10px !important;
    }

    .ls-v2-folder-pill {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 4px 12px !important;
    }

    .ls-v2-add-folder {
      border-radius: 9.1px !important;
      padding: 5.2px 14px !important;
    }

    .ls-v2-badge {
      border-radius: 13px !important;
    }

    .ls-v2-add-card {
      gap: 4px !important;
      min-height: 111.8px !important;
    }

    .ls-v2-add-card-icon {
      font-size: 15.7px !important;
    }

    .ls-v2-card-menu-btn {
      font-size: 14.5px !important;
    }

    .ls-v2-card-menu-item {
      padding: 5.2px 12px !important;
    }

    .ls-v2-empty {
      border-radius: 11.7px !important;
      padding: 32.5px 19.5px !important;
    }

    .ls-v2-empty-icon {
      font-size: 19.3px !important;
    }

    .ls-v2-empty-title {
      margin: 0 0 4px !important;
      font-size: 13.6px !important;
    }

    .ls-v2-empty-text {
      margin: 0 auto 11.7px !important;
    }

    .ls-v2-modal-label {
      margin-bottom: 4px !important;
    }

    .ls-v2-type-toggle {
      margin-bottom: 14px !important;
    }

    .ls-v2-type-card {
      border-radius: 9.1px !important;
      padding: 9.1px 12px !important;
    }

    .ls-v2-type-icon {
      margin-bottom: 4px !important;
      font-size: 15.1px !important;
    }

    .ls-v2-empty-actions {
      margin-bottom: 14px !important;
    }

    .ls-v2-empty-action {
      border-radius: 9.1px !important;
      padding: 11.7px 14px !important;
    }

    .ls-v2-empty-action-icon {
      font-size: 16.9px !important;
    }

    .ls-v2-empty-action-title {
      font-size: 13.6px !important;
    }

    .ls-v2-ws-header {
      gap: 14px !important;
    }

    .ls-v2-ws-title h1 {
      font-size: 15.4px !important;
    }

    .ls-v2-ws-avatar {
      border-radius: 9.1px !important;
      width: 31.2px !important;
      height: 31.2px !important;
      font-size: 14.2px !important;
    }

    .ls-v2-ws-kebab-btn {
      font-size: 14.5px !important;
    }

    .ls-v2-ws-kebab-menu {
      padding: 4px !important;
    }

    .ls-v2-ws-kebab-item {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .ls-v2-ws-profile-bar {
      border-radius: 9.1px !important;
      gap: 14px !important;
      margin-bottom: 14px !important;
      padding: 7.8px 14px !important;
    }

    .ls-v2-ws-profile-divider {
      height: 12px !important;
    }

    .ls-v2-ws-stat {
      padding: 9.1px 14px !important;
    }

    .ls-v2-ws-stat-icon {
      border-radius: 6px !important;
      width: 19.5px !important;
      height: 19.5px !important;
      font-size: 13.3px !important;
    }

    .ls-v2-ws-stat .v {
      font-size: 14.8px !important;
    }

    .ls-v2-ws-stat .v.v-date {
      font-size: 13.3px !important;
    }

    .ls-v2-ws-generate {
      border-radius: 13px !important;
      margin-bottom: 14px !important;
      padding: 14.3px 15.6px !important;
    }

    .ls-v2-ws-generate-head {
      margin-bottom: 4px !important;
    }

    .ls-v2-ws-generate-title {
      font-size: 13.9px !important;
    }

    .ls-v2-ws-ai-badge {
      border-radius: 6px !important;
    }

    .ls-v2-ws-generate-sub {
      margin: 0 0 10.4px !important;
    }

    .ls-v2-ws-generate .ls-v2-btn-primary, .ls-v2-ws-btn-generate {
      border-radius: 7.8px !important;
      gap: 4.6px !important;
      padding: 6.5px 14px !important;
    }

    .ls-v2-ws-generate-input {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .ls-v2-ws-generate-textarea {
      min-height: 44.2px !important;
    }

    .ls-v2-ws-generate-warn {
      border-radius: 6.5px !important;
      margin: 2px 0 4px !important;
      padding: 5.2px 11px !important;
    }

    .ls-v2-gen-options {
      gap: 14px !important;
      margin: 10.4px 0 !important;
    }

    .ls-v2-gen-row--checks {
      gap: 14px !important;
    }

    .ls-v2-gen-seg-btn {
      border-radius: 7.2px !important;
      padding: 5.2px 14px !important;
    }

    .ls-v2-gen-input {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .ls-v2-ws-generate-chip {
      border-radius: 7.2px !important;
      padding: 4.6px 13px !important;
    }

    .ls-v2-ws-generate-error {
      margin: 6.5px 0 0 !important;
    }

    .ls-v2-ws-tabs {
      gap: 14.3px !important;
    }

    .ls-v2-ws-tab {
      padding: 6.5px 2px !important;
    }

    .ls-v2-ws-empty {
      padding: 14.3px !important;
    }

    .ls-v2-ws-lesson-row {
      padding: 7.8px 14px !important;
    }

    .ls-v2-ws-lesson-icon {
      border-radius: 6px !important;
      width: 22.1px !important;
      height: 22.1px !important;
      font-size: 13.6px !important;
    }

    .ls-v2-ws-lesson-title {
      font-size: 13.2px !important;
    }

    .ls-v2-ws-lesson-hw {
      padding: 5.9px 14px 7.2px !important;
    }

    .ls-v2-ws-lesson-hw-btn {
      border-radius: 13px !important;
    }

    .ls-refine-fab {
      padding: 7.8px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-refine-fab-icon {
      font-size: 15.1px !important;
    }

    .ls-chat-header {
      padding: 13px 15.6px 10.4px !important;
    }

    .ls-chat-title {
      font-size: 14.2px !important;
    }

    .ls-chat-close {
      font-size: 16.3px !important;
    }

    .ls-chat-messages {
      padding: 13px 15.6px !important;
    }

    .ls-chat-empty-title {
      margin: 0 0 5.2px !important;
    }

    .ls-chat-msg-bubble {
      border-radius: 9.1px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-chat-msg-typing {
      padding: 9.1px 14px !important;
    }

    .ls-chat-error {
      border-radius: 6px !important;
      margin: 0 15.6px !important;
      padding: 6.5px 12px !important;
    }

    .ls-chat-inputbar {
      padding: 7.8px 14px 10.4px !important;
    }

    .ls-chat-textarea {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .ls-chat-send {
      padding: 6.5px 14px !important;
    }

    .ls-lesson-image {
      gap: 4px !important;
    }

    .ls-lesson-image--thumb .ls-lesson-image__frame {
      width: 57.2px !important;
      height: 57.2px !important;
    }

    .ls-lesson-image__frame {
      border-radius: 7.8px !important;
    }

    .ls-lesson-image__placeholder-label {
      padding: 4px 10px !important;
    }

    .ls-vocab-image {
      padding: 7.8px 14px 0 !important;
    }

    .ls-lesson-audio {
      padding: 5.2px 14px 4px !important;
    }

    .ls-lesson-audio__frame {
      border-radius: 7.8px !important;
      gap: 4px !important;
      padding: 7.8px 14px !important;
    }

    .ls-lesson-audio__player {
      min-height: 26px !important;
    }

    .ls-lesson-audio__timeline {
      gap: 4px !important;
    }

    .ls-lesson-audio__timeline-btn {
      border-radius: 6px !important;
      gap: 4px !important;
    }

    .ls-lesson-audio__timeline-num {
      height: 12px !important;
    }

    .ls-lesson-audio__autoplay {
      gap: 4px !important;
    }

    .ls-lesson-audio__inline-error {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .ls-t1-accent-circle {
      width: 130px !important;
      height: 130px !important;
    }

    .ls-t1-card {
      min-height: 97.5px !important;
    }

    .ls-t1-card-thumb {
      width: 44.2px !important;
      height: 44.2px !important;
    }

    .ls-t1-memory-tile {
      min-height: 54.6px !important;
    }

    .ls-t1-guess-index {
      height: 20.8px !important;
    }

    .ls-t1-guess-reveal {
      min-height: 62.4px !important;
    }

    .ls-t1-vocab-face {
      min-height: 117px !important;
    }

    .ls-palette-strip, .ls-mood-strip {
      border-radius: 6.5px !important;
    }

    .ls-block-swap-trigger {
      border-radius: 6px !important;
    }

    .ls-block-swap-menu {
      border-radius: 6.5px !important;
    }

    .ls-notes-block {
      border-radius: 9.1px !important;
    }

    .ls-notes-textarea {
      border-radius: 6.5px !important;
      min-height: 62.4px !important;
    }

    .ls-syl-intro {
      padding: 14.3px !important;
    }

    .ls-syl-intro-title {
      margin: 0 0 4px !important;
      font-size: 13.9px !important;
    }

    .ls-syl-intro-text {
      margin: 0 0 10.4px !important;
    }

    .ls-syl-header-title {
      font-size: 13.6px !important;
    }

    .ls-syl-unit {
      padding: 10.4px 14px !important;
    }

    .ls-syl-unit-num {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .ls-syl-unit-title {
      font-size: 13.6px !important;
    }

    .ls-syl-points {
      gap: 4px !important;
    }

    .ls-syl-btn {
      padding: 4.6px 14px !important;
    }

    .ls-syl-input {
      padding: 5.2px 11px !important;
    }

    .ls-startover {
      padding: 5.2px 14px !important;
    }

    .ls-activity-controls {
      margin-top: 14px !important;
    }

    .ls-generating {
      border-radius: 11.7px !important;
      margin-bottom: 14px !important;
      padding: 10.4px 14px !important;
    }

    .ls-generating-stage {
      font-size: 13.2px !important;
    }

    .ls-generating-spinner {
      width: 12px !important;
      height: 12px !important;
    }

    .ls-generating-note {
      margin: 6.5px 0 0 !important;
    }

    .ls-generating-game {
      border-radius: 13px !important;
      margin-bottom: 14px !important;
      padding: 10.4px 14px !important;
    }

    .ls-langgame {
      margin-top: 14px !important;
    }

    .ls-langgame-phrase {
      font-size: 14.5px !important;
    }

    .ls-langgame-option {
      border-radius: 8.5px !important;
      padding: 9.1px 10px !important;
    }

    .ls-langgame-status {
      min-height: 22.1px !important;
      margin: 0 0 10.4px !important;
    }

    .ls-langgame-score {
      gap: 14px !important;
      margin-top: 14px !important;
    }

    .ls-langgame-score strong {
      border-radius: 6px !important;
    }

    .ls-style-section + .ls-style-section {
      margin-top: 14.3px !important;
      padding-top: 14px !important;
    }

    .ls-style-heading {
      font-size: 13.6px !important;
    }

    .ls-style-sub {
      margin: 0 0 7.8px !important;
    }

    .ls-style-loading {
      padding: 15.6px 0 !important;
      font-size: 13.3px !important;
    }

    .ls-style-count {
      margin: 5.2px 0 0 !important;
    }

    .ls-style-modal {
      padding: 13px 14px !important;
    }

    .ls-ask-status {
      border-radius: 6.5px !important;
      margin: 0 0 10.4px !important;
      padding: 7.8px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-ask-error {
      border-radius: 6.5px !important;
      margin: 0 0 10.4px !important;
      padding: 6.5px 12px !important;
      font-size: 13.3px !important;
    }

    .ls-v2-ws-ask-student {
      padding: 4.6px 14px !important;
    }

    .ls-v2-ws-ask-student .ls-ask-dot {
      margin-right: 4px !important;
    }

    .ls-nra-slide {
      min-height: 97.5px !important;
      padding: 18.2px 12px !important;
    }

    .ls-nra-pager {
      gap: 14px !important;
      margin-top: 14px !important;
    }

    .ls-nra-pager__btn {
      width: 36px !important;
      height: 36px !important;
      font-size: 13.9px !important;
    }

    .ls-nra-pager__count {
      font-size: 13.3px !important;
    }

    .ls-nra-combine, .ls-nra-pools {
      gap: 14px !important;
    }

    .ls-nra-chip {
      padding: 5.9px 14px !important;
      font-size: 13.5px !important;
    }

    .ls-nra-demo {
      padding: 9.1px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-nra-grid {
      margin: 5.2px auto 0 !important;
    }

    .ls-nra-griditem {
      padding: 4.6px 13px !important;
    }

    .ls-nra-disc-ex {
      padding: 7.8px 14px !important;
      font-size: 13.9px !important;
    }

    .ls-nra-disc-prompt {
      margin: 4px 0 0 !important;
      padding: 9.1px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-nra-video {
      gap: 14px !important;
    }

    .ls-nra-video__missing {
      padding: 14.3px !important;
      font-size: 13.5px !important;
    }

    .ls-nra-video__qs li {
      padding: 6.5px 2px !important;
      font-size: 13.8px !important;
    }

    .ls-v2-act-open {
      border-radius: 7.2px !important;
      padding: 5.2px 14px !important;
    }

    .ls-v2-act-chosen {
      gap: 4px !important;
    }

    .ls-v2-act-chip {
      border-radius: 7.2px !important;
      padding: 4.6px 10px !important;
    }

    .ls-v2-act-num {
      width: 13px !important;
      height: 13px !important;
    }

    .ls-v2-act-menu {
      gap: 4px !important;
    }

    .ls-v2-act-add {
      border-radius: 6.5px !important;
      padding: 4px 11px !important;
    }

    .ls-chat-thinking {
      margin-top: 4px !important;
    }

    .ls-t10-shell {
      min-height: 312px !important;
    }

    .ls-t10-stage-visual {
      min-height: 104px !important;
    }

    .ls-t10-stage-shapes {
      height: 104px !important;
    }

    .ls-t10-stage-shape--a {
      width: 58.5px !important;
      height: 58.5px !important;
    }

    .ls-t10-stage-shape--b {
      width: 39px !important;
      height: 39px !important;
    }

    .ls-t10-stage-shape--c {
      width: 28.6px !important;
      height: 28.6px !important;
    }

    .ls-t10-prompt-num {
      height: 20.8px !important;
    }

    .ls-t10-step-num {
      width: 23.4px !important;
      height: 23.4px !important;
    }

    .ls-t10-outline-num {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-t10-fw-check-box {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ls-t10-notebook {
      min-height: 130px !important;
    }

    .ls-t11-check {
      width: 12px !important;
      height: 12px !important;
    }

    .ls-t12-shell {
      min-height: 299px !important;
    }

    .ls-t12-jigsaw-piece {
      min-height: 91px !important;
    }

    .ls-t12-jigsaw-letter {
      height: 22.1px !important;
    }

    .ls-t12-rank-num {
      width: 22.1px !important;
      height: 22.1px !important;
    }

    .ls-t2-shell {
      padding: 11.7px 14px 10.4px !important;
    }

    .ls-t2-accent-dot {
      width: 12px !important;
      height: 12px !important;
    }

    .ls-t2-header {
      margin-bottom: 14px !important;
    }

    .ls-t2-instructions {
      margin: 4px 0 0 !important;
    }

    .ls-t2-empty {
      padding: 14px !important;
    }

    .ls-t2-chip {
      min-height: 36px !important;
      padding: 4px 10px !important;
    }

    .ls-t2-family-row {
      gap: 4px !important;
      min-height: 33.8px !important;
    }

    .ls-t2-family-root {
      padding: 6.5px 12px !important;
    }

    .ls-t2-family-cell {
      min-height: 26px !important;
      padding: 5.2px 10px !important;
    }

    .ls-t2-colloc-row {
      min-height: 31.2px !important;
      padding: 5.2px 10px !important;
    }

    .ls-t2-colloc-stem {
      padding: 5.2px 10px !important;
    }

    .ls-t2-colloc-matches {
      gap: 4px !important;
      min-height: 23.4px !important;
    }

    .ls-t2-colloc-chip {
      padding: 4px 10px !important;
    }

    .ls-t2-colloc-detail {
      gap: 4px !important;
      margin-top: 4px !important;
      padding: 7.8px 14px !important;
    }

    .ls-t2-odd-row {
      gap: 4px 12px !important;
      padding: 7.8px 14px !important;
    }

    .ls-t2-odd-index {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-t2-odd-tile {
      min-height: 36px !important;
      padding: 4px 10px !important;
    }

    .ls-t3-shell {
      padding: 11.7px 14px 10.4px !important;
    }

    .ls-t3-accent-chevron {
      width: 12px !important;
      height: 12px !important;
    }

    .ls-t3-header {
      margin-bottom: 14px !important;
    }

    .ls-t3-instructions {
      margin: 4px 0 0 !important;
    }

    .ls-t3-empty {
      padding: 14px !important;
    }

    .ls-t3-tile {
      gap: 4px !important;
      min-height: 22.1px !important;
      padding: 4px 10px !important;
    }

    .ls-t3-tile-wide {
      min-height: 26px !important;
    }

    .ls-t3-badge {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ls-t3-toolbar {
      margin: 7.8px 0 !important;
    }

    .ls-t3-btn {
      padding: 5.2px 14px !important;
    }

    .ls-t3-btn-small {
      padding: 4px 10px !important;
    }

    .ls-t3-pool, .ls-t3-cat-col {
      gap: 4px !important;
    }

    .ls-t3-cat-header {
      padding: 5.2px 12px !important;
    }

    .ls-t3-cat-slot {
      gap: 4px !important;
      min-height: 52px !important;
    }

    .ls-t3-cat-drop {
      padding: 4.6px 10px !important;
    }

    .ls-t3-cat-mark {
      padding-left: 4px !important;
    }

    .ls-t3-reorder-list {
      gap: 14.3px !important;
    }

    .ls-t3-reorder-row {
      gap: 4px !important;
      padding: 5.2px 10px 6.5px !important;
    }

    .ls-t3-reorder-tiles {
      gap: 4px !important;
      min-height: 28.6px !important;
    }

    .ls-t3-reorder-answer {
      padding: 6.5px 12px !important;
    }

    .ls-t3-seq-list {
      margin: 0 0 5.2px !important;
    }

    .ls-t3-build-list {
      gap: 14px !important;
    }

    .ls-t3-build-row {
      gap: 5.2px 10px !important;
    }

    .ls-t3-build-order {
      gap: 4px !important;
      min-height: 33.8px !important;
    }

    .ls-t3-build-answer {
      padding: 6.5px 12px !important;
    }

    .ls-t4-shell {
      min-height: 247px !important;
      padding: 20.8px 20.8px 26px !important;
    }

    .ls-t4-header {
      margin-bottom: 15.6px !important;
    }

    .ls-t4-title {
      margin: 0 0 4px !important;
      font-size: 18.1px !important;
    }

    .ls-t4-instructions {
      font-size: 13.6px !important;
    }

    .ls-t4-sheet {
      padding: 15.6px 18.2px !important;
      font-size: 14.5px !important;
    }

    .ls-t4-empty {
      padding: 26px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-t4-list {
      gap: 14px !important;
    }

    .ls-t4-num {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-t4-sentence, .ls-t4-primary {
      font-size: 15.1px !important;
    }

    .ls-t4-primary-compact {
      font-size: 14.2px !important;
    }

    .ls-t4-tip {
      gap: 4px !important;
      padding: 4px 12px !important;
    }

    .ls-t4-blank {
      font-size: 13.9px !important;
    }

    .ls-t4-reveal-btn {
      padding: 5.2px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t4-answer-pill {
      padding: 5.2px 14px !important;
      font-size: 13.9px !important;
    }

    .ls-t4-gate-btn {
      margin: 11.7px 0 0 !important;
      padding: 7.8px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-t4-gate-btn--quiet {
      padding: 5.9px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t4-wavy-sentence {
      font-size: 14.8px !important;
    }

    .ls-t4-passage {
      margin: 0 0 13px !important;
      font-size: 14.5px !important;
    }

    .ls-t4-slot {
      font-size: 13.3px !important;
    }

    .ls-t4-option-row {
      border-radius: 7.8px !important;
      min-height: 36px !important;
      margin-top: 14px !important;
    }

    .ls-t4-option-pill {
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t4-mark {
      margin-left: 4px !important;
    }

    .ls-t4-target-chip {
      padding: 4px 12px !important;
    }

    .ls-t4-ending-chip {
      padding: 5.2px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t4-callout {
      margin: 0 4px !important;
      font-size: 13.3px !important;
    }

    .ls-t4-passage-box {
      border-radius: 7.8px !important;
      max-height: 234px !important;
      padding: 10.4px 14px !important;
    }

    .ls-t4-qlist {
      max-height: 195px !important;
      margin: 11.7px 0 0 !important;
    }

    .ls-t4-anagram-cell {
      border-radius: 9.1px !important;
      padding: 23.4px 14px 10.4px !important;
    }

    .ls-t4-scrambled {
      margin: 5.2px 0 4px !important;
    }

    .ls-t5-shell {
      min-height: 247px !important;
      padding: 20.8px 20.8px 36.4px !important;
    }

    .ls-t5-header {
      margin-bottom: 14px !important;
    }

    .ls-t5-title {
      margin: 0 0 4px !important;
      font-size: 18.1px !important;
    }

    .ls-t5-instructions {
      font-size: 13.6px !important;
    }

    .ls-t5-empty {
      padding: 26px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-t5-qlist {
      gap: 16.9px !important;
    }

    .ls-t5-question {
      font-size: 14.5px !important;
    }

    .ls-t5-num {
      width: 15.6px !important;
      height: 15.6px !important;
    }

    .ls-t5-option {
      padding: 7.8px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-t5-tf-btn {
      padding: 9.1px 14px !important;
      font-size: 13.9px !important;
    }

    .ls-t5-score {
      padding: 4px 14px !important;
    }

    .ls-t6-grid {
      border-radius: 6.5px !important;
      padding: 4px !important;
    }

    .ls-t6-cell {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-t6-xw-grid {
      border-radius: 6.5px !important;
      padding: 4px !important;
    }

    .ls-t6-xw-cell {
      width: 19.5px !important;
      height: 19.5px !important;
    }

    .ls-t6-mindmap {
      min-height: 312px !important;
    }

    .ls-t6-mm-center {
      width: 72.8px !important;
      height: 72.8px !important;
    }

    .ls-t7-prompt {
      border-radius: 6px !important;
    }

    .ls-t7-bubble {
      border-radius: 9.1px !important;
    }

    .ls-t7-rr-arrow-line {
      height: 15.6px !important;
    }

    .ls-t7-rr-input {
      border-radius: 6px !important;
      min-height: 58.5px !important;
    }

    .ls-t8-shell {
      gap: 14px !important;
      padding: 20.8px 20.8px 23.4px !important;
    }

    .ls-t8-header {
      gap: 4px !important;
    }

    .ls-t8-instructions {
      font-size: 13.3px !important;
    }

    .ls-t8-sheet {
      gap: 14px !important;
      padding: 15.6px !important;
    }

    .ls-t8-variant-quiet .ls-t8-sheet {
      padding: 19.5px !important;
    }

    .ls-t8-empty {
      padding: 14px !important;
      font-size: 13.3px !important;
    }

    .ls-gram {
      gap: 15.6px !important;
    }

    .ls-gram-formula {
      gap: 5.2px 4px !important;
    }

    .ls-gram-rule {
      margin: -5.2px auto 0 !important;
      font-size: 14.2px !important;
    }

    .ls-gram-structure__row {
      padding: 7.2px 14px !important;
    }

    .ls-gram-structure__value {
      font-size: 13.9px !important;
    }

    .ls-gram-example {
      padding: 7.8px 14px !important;
      font-size: 14.2px !important;
    }

    .ls-gram-mistake {
      gap: 4px !important;
      padding: 9.1px 14px !important;
    }

    .ls-gram-mistake__row {
      font-size: 14.2px !important;
    }

    .ls-gram-mistake__sign {
      font-size: 14.5px !important;
    }

    .ls-gram-mistake__note {
      font-size: 13.3px !important;
    }

    .ls-gram-exception__note {
      font-size: 13.6px !important;
    }

    .ls-t8-quote-card {
      padding: 13px 15.6px 28.6px !important;
    }

    .ls-t8-quote-mark {
      font-size: 37.9px !important;
    }

    .ls-t8-kind-chip {
      margin-top: 14px !important;
    }

    .ls-t8-prose {
      font-size: 13.6px !important;
    }

    .ls-t8-wrongright__cell {
      padding: 13px 14px 11.7px !important;
    }

    .ls-t8-wrongright__text {
      font-size: 14.5px !important;
    }

    .ls-t8-why {
      padding: 9.1px 14px !important;
    }

    .ls-t8-why__body {
      font-size: 13.3px !important;
    }

    .ls-t8-prompt-banner {
      padding: 9.1px 14px !important;
    }

    .ls-t8-prompt-banner__body {
      font-size: 13.6px !important;
    }

    .ls-t8-answer {
      padding: 10.4px 14px 11.7px !important;
    }

    .ls-t8-answer__body {
      font-size: 13.9px !important;
    }

    .ls-t8-notes {
      gap: 4px !important;
    }

    .ls-t8-notes__item {
      font-size: 13.3px !important;
    }

    .ls-t8-notes__dot {
      margin-top: 4.6px !important;
    }

    .ls-t8-pron-item {
      padding: 6.5px 12px !important;
    }

    .ls-t8-pron-item__word {
      font-size: 13.6px !important;
    }

    .ls-t8-snippet {
      border-radius: 0 6px 6px 0 !important;
      padding: 10.4px 14px 10.4px 14.3px !important;
    }

    .ls-t8-snippet__mark {
      font-size: 23.5px !important;
    }

    .ls-t8-snippet__body {
      font-size: 13.9px !important;
    }

    .ls-t8-tasks__item {
      padding: 6.5px 12px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-tasks__num {
      width: 15.6px !important;
      height: 15.6px !important;
    }

    .ls-t8-check {
      margin-top: 14px !important;
      padding-top: 14px !important;
    }

    .ls-t8-check__title {
      margin: 0 0 7.8px !important;
      font-size: 13.9px !important;
    }

    .ls-t8-check__list {
      gap: 14px !important;
      padding-left: 14.3px !important;
    }

    .ls-t8-check__prompt {
      margin: 0 0 5.2px !important;
      font-size: 13.6px !important;
    }

    .ls-t8-check__option {
      padding: 5.9px 12px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-check__why {
      margin: 5.2px 0 0 !important;
    }

    .ls-t8-dialogue__bubble {
      border-radius: 9.1px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-table {
      font-size: 13.3px !important;
    }

    .ls-t8-table__th, .ls-t8-table__row-label, .ls-t8-table__td {
      padding: 6.5px 12px !important;
    }

    .ls-t8-steps__num {
      width: 19.5px !important;
      height: 19.5px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-steps__body {
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-agenda__item {
      padding: 6.5px 12px !important;
    }

    .ls-t8-agenda__text {
      font-size: 13.3px !important;
    }

    .ls-t8-recap__card {
      min-height: 54.6px !important;
      padding: 10.4px 14px 9.1px 28.6px !important;
    }

    .ls-t8-recap__badge {
      width: 15.6px !important;
      height: 15.6px !important;
    }

    .ls-t8-recap__body {
      font-size: 13.3px !important;
    }

    .ls-t8-timeline__dot {
      width: 19.5px !important;
      height: 19.5px !important;
    }

    .ls-t8-timeline__card {
      gap: 4px !important;
      padding: 6.5px 12px !important;
    }

    .ls-t8-timeline__what {
      font-size: 13.3px !important;
    }

    .ls-t8-audio-unavailable {
      border-radius: 7.8px !important;
      padding: 9.1px 14px !important;
    }

    .ls-t8-la-card {
      padding: 9.1px 14px 6.5px !important;
    }

    .ls-t8-la-card__question {
      font-size: 13.6px !important;
    }

    .ls-t8-la-q {
      padding: 9.1px 14px 7.8px !important;
    }

    .ls-t8-la-q__stem {
      font-size: 13.6px !important;
    }

    .ls-t8-la-check {
      padding: 4px 14px !important;
    }

    .ls-t8-la-feedback {
      border-radius: 6.5px !important;
      padding: 4px 12px !important;
    }

    .ls-t8-la-mc-list {
      gap: 4px !important;
    }

    .ls-t8-la-opt {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-la-opt__letter {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ls-t8-la-match-grid {
      gap: 4px !important;
    }

    .ls-t8-la-match-row {
      border-radius: 6.5px !important;
      padding: 4px 10px !important;
    }

    .ls-t8-la-match-left {
      font-size: 13.3px !important;
    }

    .ls-t8-la-match-right {
      border-radius: 6px !important;
      min-height: 18.2px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-la-match-arrow {
      font-size: 13.3px !important;
    }

    .ls-t8-la-seq-list {
      gap: 4px !important;
    }

    .ls-t8-la-seq-item {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
      font-size: 13.3px !important;
    }

    .ls-t8-la-seq-num {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ls-t8-la-input {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
    }

    .ls-t8-la-textarea {
      border-radius: 6.5px !important;
      min-height: 58.5px !important;
      padding: 6.5px 12px !important;
    }

    .ls-t8-la-expected {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
      font-size: 13.2px !important;
    }

    .ls-t9-shell {
      min-height: 299px !important;
    }

    .ls-t9-wheel-hub {
      width: 26px !important;
      height: 26px !important;
    }

    .ls-t9-board-reveal-num {
      height: 19.5px !important;
    }

    .ls-hw-exercise {
      border-radius: 11.7px !important;
      margin-bottom: 14px !important;
      padding: 14.3px 15.6px !important;
    }

    .ls-hw-title {
      margin: 0 0 4px !important;
      font-size: 15.1px !important;
    }

    .ls-hw-instructions {
      margin: 0 0 10.4px !important;
      font-size: 13.3px !important;
    }

    .ls-hw-list {
      padding-left: 16.9px !important;
    }

    .ls-hw-question {
      margin: 0 0 5.2px !important;
    }

    .ls-hw-source, .ls-hw-hint {
      margin: 0 0 4px !important;
    }

    .ls-hw-inline {
      gap: 4px !important;
    }

    .ls-hw-blank {
      font-size: 13.6px !important;
    }

    .ls-hw-line {
      border-radius: 6.5px !important;
      padding: 5.2px 12px !important;
      font-size: 13.6px !important;
    }

    .ls-hw-select {
      border-radius: 6.5px !important;
      padding: 4.6px 10px !important;
    }

    .ls-hw-options {
      gap: 4px !important;
    }

    .ls-hw-options--row {
      gap: 14px !important;
    }

    .ls-hw-option {
      border-radius: 6.5px !important;
    }

    .ls-hw-mark {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ls-hw-correct {
      font-size: 13.3px !important;
    }

    .ls-hw-why {
      margin: 4px 0 0 !important;
    }

    .ls-hw-score {
      border-radius: 10.4px !important;
      margin-bottom: 14.3px !important;
      padding: 10.4px 14.3px !important;
    }

    .ls-hw-score strong {
      font-size: 17.5px !important;
    }

    .ls-hw-score span {
      font-size: 13.3px !important;
    }

    .ls-hw-actions {
      margin: 16.9px 0 26px !important;
    }

    .ls-hw-btn {
      padding: 7.8px 15.6px !important;
      font-size: 13.6px !important;
    }

    .ls-hw-name {
      padding: 7.2px 14px !important;
      font-size: 13.6px !important;
    }

    .ls-hw-sent {
      font-size: 13.6px !important;
    }

    .ls-hw-error {
      font-size: 13.3px !important;
    }

    .ls-hw-panel {
      border-radius: 10.4px !important;
      margin-top: 15.6px !important;
      padding: 13px 14.3px !important;
    }

    .ls-hw-panel__title {
      font-size: 14.2px !important;
    }

    .ls-hw-panel__hint {
      margin: 4px 0 0 !important;
    }

    .ls-hw-panel__btn {
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-hw-panel__link {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
    }

    .ls-hw-panel__subs {
      margin: 10.4px 0 0 !important;
    }

    .ls-hw-panel__sub {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .ls-hw-panel__error {
      margin: 7.8px 0 0 !important;
    }

    .ls-mood-elegant .ls-t4-mark, .ls-mood-elegant .ls-t4-highlight, .ls-mood-elegant .ls-t3-cat-mark, .ls-mood-elegant .ls-t8-quote-mark {
      border-radius: 6.5px !important;
    }

    .ls-mood-modern .ls-t1-accent-circle {
      width: 54.6px !important;
      height: 54.6px !important;
    }

    .ls-mood-strict .ls-t4-mark, .ls-mood-strict .ls-t4-highlight, .ls-mood-strict .ls-t3-cat-mark, .ls-mood-strict .ls-t8-quote-mark {
      padding: 1px 4px !important;
    }

    .pc-card {
      border-radius: 10.4px !important;
      margin-bottom: 14px !important;
    }

    .pc-head {
      padding: 7.8px 14px !important;
    }

    .pc-head-title {
      font-size: 14.2px !important;
    }

    .pc-done {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
      font-size: 13.6px !important;
    }

    .pc-body {
      padding: 14px !important;
    }

    .pc-section {
      margin-bottom: 14px !important;
    }

    .pc-section-title {
      margin: 0 0 6.5px !important;
      font-size: 13.6px !important;
    }

    .pc-field label {
      gap: 4px !important;
    }

    .pc-badge {
      padding: 2px 4.6px !important;
    }

    .pc-input {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .pc-error {
      margin: 6.5px 0 0 !important;
      font-size: 13.6px !important;
    }

    .pc-more-toggle {
      gap: 4.6px !important;
      font-size: 13.6px !important;
    }

    .pc-chips {
      padding: 4.6px 0 !important;
    }

    .pc-switch-row {
      border-radius: 6.5px !important;
      padding: 7.2px 13px !important;
    }

    .pc-foot {
      margin-top: 14px !important;
    }

    .pc-close {
      border-radius: 6px !important;
      padding: 4.6px 14px !important;
      font-size: 13.6px !important;
    }

    .lsb-shape {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .lsb-pill {
      border-radius: 6px !important;
    }

    .lsb-shape-text, .lsb-summary {
      margin: 4px 0 0 !important;
      font-size: 13.6px !important;
    }

    .lsb-covers {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .lsb-covers-list {
      margin: 4px 0 0 !important;
      padding-left: 14px !important;
    }

    .lsb-box {
      border-radius: 9.1px !important;
      padding: 9.1px 14px !important;
    }

    .lsb-help {
      margin: 0 0 6.5px !important;
      font-size: 13.6px !important;
    }

    .lsb-textarea {
      border-radius: 6.5px !important;
      min-height: 84.5px !important;
      padding: 7.2px 13px !important;
    }

    .lsb-save {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
      font-size: 13.6px !important;
    }

    .lsb-waiting, .lsb-note {
      margin: 5.2px 0 0 !important;
      font-size: 13.6px !important;
    }

    .lsb-error {
      border-radius: 6px !important;
      margin: 5.2px 0 0 !important;
      padding: 5.2px 10px !important;
      font-size: 13.6px !important;
    }

    .ls-v2-ws-intake-chip {
      border-radius: 6px !important;
      font-size: 13.6px !important;
    }

    .pc-head-sub, .pc-help, .pc-switch-title, .pc-chip, .lsb-chain, .lsb-count {
      font-size: 13.6px !important;
    }

    .ls-vocab-acc {
      gap: 4px !important;
    }

    .ls-vocab-acc__head {
      padding: 7.8px 14px !important;
    }

    .ls-vocab-acc__num {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ls-vocab-acc__word, .ls-vocab-acc__chev {
      font-size: 14.5px !important;
    }

    .ls-vocab-acc__body {
      gap: 4px !important;
      padding: 0 14px 9.1px 33.8px !important;
    }

    .ls-vocab-acc__translation {
      font-size: 13.9px !important;
    }

    .ls-vocab-acc__example {
      font-size: 13.6px !important;
    }

    .ls-vocab-rows__item {
      padding: 5.9px 2px !important;
    }

    .ls-vocab-rows__word {
      font-size: 14.2px !important;
    }

    .ls-vocab-rows__translation {
      font-size: 13.6px !important;
    }

    .ls-vocab-rows__more {
      font-size: 13.9px !important;
    }

    .ls-vocab-rows__body {
      padding: 4px 0 2px !important;
    }

    .ls-vocab-rows__example {
      font-size: 13.6px !important;
    }

    .ls-vocab-step__card {
      min-height: 117px !important;
      padding: 18.2px 15.6px !important;
    }

    .ls-vocab-step__translation, .ls-vocab-step__example {
      font-size: 13.9px !important;
    }

    .ls-vocab-step__arrow {
      width: 36px !important;
      height: 36px !important;
      font-size: 15.7px !important;
    }

    .ls-vocab-step__dots {
      gap: 4px !important;
    }

    .ls-vocab-flip__cell, .ls-vocab-flip__card {
      min-height: 85.8px !important;
    }

    .ls-vocab-flip__face {
      gap: 4px !important;
      padding: 10.4px 14px !important;
    }

    .ls-vocab-flip__word {
      font-size: 14.8px !important;
    }

    .ls-vocab-flip__translation {
      font-size: 14.2px !important;
    }

    .wd-bar {
      gap: 14px !important;
      padding: 6.5px 14px !important;
    }

    .wd-bar__title strong {
      font-size: 13.6px !important;
    }

    .wd-bar__field {
      gap: 4.6px !important;
    }

    .wd-stage {
      padding: 0 0 52px !important;
    }

    .wd-family__head {
      padding: 29.9px 14px 9.1px !important;
    }

    .wd-family__head h2 {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .wd-family__id {
      border-radius: 13px !important;
    }

    .wd-family__head p {
      font-size: 13.2px !important;
    }

    .wd-family__shell {
      margin-top: 4px !important;
    }

    .wd-item {
      padding: 16.9px 14px 0 !important;
    }

    .wd-item__id {
      padding: 2px 4.6px !important;
    }

    .sched-rail-action {
      border-radius: 6px !important;
      gap: 4.6px !important;
      padding: 5.9px 10px !important;
      font-size: 13.2px !important;
    }

    .sched-rail-action-icon {
      font-size: 13.3px !important;
    }

    .cal-week-day-header {
      padding: 5.2px 4px 6.5px !important;
    }

    .cal-event {
      border-radius: 6px !important;
      padding: 4px 4px 4px 8px !important;
    }

    .ls-v2-avatar {
      border-radius: 6.5px !important;
      width: 19.5px !important;
      height: 19.5px !important;
      font-size: 13.3px !important;
    }

    .ls-v2-card-name {
      font-size: 13.3px !important;
    }

    .ls-v2-quick-btn {
      border-radius: 6px !important;
      padding: 5.2px 0 !important;
    }

    .sv2-card {
      border-radius: 7.8px !important;
      padding: 5.9px 12px !important;
    }

    .sv2-card-top {
      gap: 4.6px !important;
      padding-right: 62.4px !important;
    }

    .sv2-card-icons {
      border-radius: 6px !important;
      padding-left: 4px !important;
    }

    .sv2-group-empty {
      padding-right: 58.5px !important;
    }

    .sv2-filter-row, .sv2-search-row {
      gap: 4px !important;
    }

    .leads-page .leads-table tbody tr.lead-tr {
      border-radius: 8.5px !important;
      gap: 4.6px 12px !important;
      padding: 7.2px 13px !important;
    }

    .leads-page .leads-toolbar {
      gap: 4px !important;
    }

    .ls-v2-card {
      border-radius: 7.8px !important;
      padding: 7.2px 12px !important;
    }

    .ls-v2-card-top {
      margin-bottom: 4px !important;
      padding-right: 46.8px !important;
    }

    .ls-v2-card-badges {
      margin-bottom: 4px !important;
    }

    .ls-v2-card-lasttopic {
      padding-top: 4.6px !important;
    }

    .ls-v2-quick-btn:before {
      font-size: 13.6px !important;
    }

    .res-chips {
      gap: 4px !important;
      margin-bottom: 4px !important;
    }

    .res-selects, .ppv3-dropdown-row {
      gap: 4px !important;
    }

    .lh-tbl tbody tr {
      border-radius: 7.8px !important;
      gap: 4px 10px !important;
      padding: 7.2px 26px 7.2px 12px !important;
    }

    .ptv2-tbl tbody tr {
      border-radius: 7.8px !important;
      padding: 6.5px 22.1px 6.5px 12px !important;
    }

    .gd-member-row .gd-member-actions {
      gap: 4px !important;
    }

    .gd-icon-btn {
      border-radius: 6px !important;
    }

    .ui-kpi .ui-kpi__body {
      padding-right: 19.5px !important;
    }

    .ui-kpi .ui-kpi__value {
      font-size: 16.6px !important;
    }

    .ui-kpi .ui-kpi__icon--art {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .ui-kpi .ui-kpi__icon--art img {
      width: 12px !important;
      height: 12px !important;
    }

    .app-sidebar-item--active, .app-sidebar-item--active:hover {
      border-radius: 9.1px !important;
    }

    .mc-backdrop {
      padding: 14px !important;
    }

    .mc-card {
      border-radius: 13px !important;
    }

    .mc-head {
      padding: 13px 14.3px 9.1px !important;
    }

    .mc-icon {
      border-radius: 7.8px !important;
      width: 26px !important;
      height: 26px !important;
      font-size: 15.1px !important;
    }

    .mc-title {
      font-size: 14.1px !important;
    }

    .mc-body {
      padding: 11.7px 14.3px !important;
    }

    .mc-desc {
      margin: 0 0 11.7px !important;
    }

    .mc-field {
      margin-bottom: 14px !important;
    }

    .mc-field-label {
      gap: 4px !important;
      margin-bottom: 4px !important;
    }

    .mc-input, .mc-select {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .mc-textarea {
      border-radius: 6.5px !important;
      min-height: 39px !important;
      padding: 6.5px 12px !important;
    }

    .mc-pw-wrap .mc-input {
      padding-right: 23.4px !important;
    }

    .mc-foot {
      padding: 9.1px 14.3px 13px !important;
    }

    .mc-btn-sm {
      border-radius: 7.8px !important;
      padding: 4.6px 12px !important;
    }

    .mc-btn {
      border-radius: 10.4px !important;
      gap: 4px !important;
      padding: 6.5px 14px !important;
    }

    .mc-add-students-box {
      border-radius: 9.1px !important;
      padding: 4px !important;
    }

    .mc-accordion-row {
      border-radius: 6.5px !important;
      padding: 7.2px 10px !important;
    }

    .mc-accordion-icon {
      border-radius: 6px !important;
      width: 18.2px !important;
      height: 18.2px !important;
      font-size: 13.3px !important;
    }

    .mc-accordion-content, .mc-count-chip {
      border-radius: 6.5px !important;
    }

    .mc-box-label {
      gap: 4px !important;
    }

    .mc-link-icon-badge {
      border-radius: 10.4px !important;
      width: 36px !important;
      height: 36px !important;
      margin: 4px auto 9.1px !important;
      font-size: 16.3px !important;
    }

    .mc-edit-questions-link {
      padding: 4px !important;
    }

    .mc-alert {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .mc-link-block {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .mc-link-block-label {
      margin-bottom: 4px !important;
    }

    .mc-two-col {
      margin-bottom: 14px !important;
    }

    .mc-direction-note {
      border-radius: 7.8px !important;
      margin-bottom: 14px !important;
      padding: 7.2px 14px !important;
    }

    .mc-direction-note-icon {
      font-size: 13.3px !important;
    }

    .mc-section-block {
      margin-bottom: 14px !important;
    }

    .mc-section-icon {
      border-radius: 6px !important;
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .mc-iban-box {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .mc-pill-row {
      gap: 4px !important;
    }

    .mc-pill {
      border-radius: 6.5px !important;
      padding: 4.6px 12px !important;
    }

    .xm-kind-card {
      border-radius: 6.5px !important;
    }

    .xm-kind-emoji {
      font-size: 13.9px !important;
    }

    .xm-preview {
      border-radius: 6.5px !important;
      padding: 5.9px 12px !important;
    }

    .ne-overlay {
      padding: 15.6px !important;
    }

    .ne-card {
      border-radius: 15.6px !important;
      padding: 20.8px 15.6px 15.6px !important;
    }

    .ne-illustration {
      width: 117px !important;
      height: 117px !important;
      margin: 0 auto 5.2px !important;
    }

    .ne-badge {
      margin-bottom: 14px !important;
      padding: 5.2px 14px !important;
    }

    .ne-heading {
      margin: 0 0 7.8px !important;
      font-size: 15.7px !important;
    }

    .ne-subtitle {
      margin: 0 0 18.2px !important;
      font-size: 13.3px !important;
    }

    .ne-button {
      padding: 9.1px 18.2px !important;
      font-size: 13.6px !important;
    }

    .ne-footer {
      margin: 13px 0 0 !important;
    }

    .notes-view {
      gap: 14px !important;
    }

    .notes-rail {
      border-radius: 9.1px !important;
      gap: 4px !important;
    }

    .notes-rail-item {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .notes-rail-divider {
      margin: 5.2px 4px !important;
    }

    .notes-rail-add {
      border-radius: 6px !important;
      margin-top: 4px !important;
      padding: 5.2px 10px !important;
    }

    .notes-search {
      border-radius: 6.5px !important;
      padding: 5.9px 14px !important;
    }

    .notes-owner-box {
      border-radius: 9.1px !important;
      padding: 14px !important;
    }

    .notes-readonly-banner {
      border-radius: 6.5px !important;
      padding: 5.9px 12px !important;
    }

    .notes-card {
      border-radius: 9.1px !important;
      min-height: 104px !important;
    }

    .notes-card-foot {
      gap: 4px !important;
    }

    .notes-vis {
      padding: 2px 4.6px !important;
    }

    .notes-card-actions, .notes-field {
      gap: 4px !important;
    }

    .notes-title-input {
      padding: 4px 0 5.2px !important;
    }

    .notes-body-input {
      border-radius: 6.5px !important;
    }

    .notes-emoji-row, .notes-color-row {
      gap: 4px !important;
    }

    .notes-emoji {
      border-radius: 6px !important;
    }

    .notes-owner-count {
      margin-left: 22.1px !important;
    }

    .ppv3-tile {
      border-radius: 9.1px !important;
      padding: 9.1px 10px !important;
    }

    .ppv3-filter-select {
      border-radius: 7.8px !important;
      padding: 5.2px 10px !important;
    }

    .ppv3-period-pills {
      gap: 4px !important;
    }

    .ppv3-period-pill {
      border-radius: 10.4px !important;
      padding: 5.2px 14px !important;
    }

    .ppv3-stats-grid {
      margin-bottom: 15.6px !important;
    }

    .ppv3-stat-card {
      border-radius: 10.4px !important;
    }

    .ppv3-stat-card-body {
      padding: 11.7px 14px !important;
    }

    .ppv3-stat-icon-box {
      width: 26px !important;
      height: 26px !important;
      font-size: 15.1px !important;
    }

    .ppv3-stat-value {
      margin-bottom: 4px !important;
      font-size: 16.9px !important;
    }

    .ppv3-layout {
      gap: 14px !important;
      padding: 9.1px 14px !important;
    }

    .ppv3-filter-pills {
      gap: 4px !important;
    }

    .ppv3-filter-pill {
      border-radius: 9.1px !important;
      padding: 4.6px 12px !important;
    }

    .ppv3-filter-pill-count {
      border-radius: 6px !important;
      padding: 1px 4px !important;
    }

    .ppv3-search-input {
      border-radius: 9.1px !important;
      padding: 5.9px 13px !important;
    }

    .ppv3-tile-flag {
      width: 24.7px !important;
      height: 24.7px !important;
      margin: 0 auto 5.2px !important;
      font-size: 14.2px !important;
    }

    .ppv3-tile-type {
      padding: 2px 4.6px !important;
    }

    .ppv3-tile-note {
      border-radius: 6px !important;
      margin-top: 4px !important;
    }

    .ppv3-detail-panel {
      border-radius: 10.4px !important;
      min-height: 312px !important;
      padding: 14.3px 15.6px !important;
    }

    .ppv3-detail-empty {
      min-height: 286px !important;
    }

    .ppv3-detail-empty-icon {
      font-size: 18.1px !important;
    }

    .ppv3-detail-header {
      margin-bottom: 14px !important;
    }

    .ppv3-invoice-btn {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
    }

    .ppv3-detail-avatar {
      width: 29.9px !important;
      height: 29.9px !important;
      font-size: 15.1px !important;
    }

    .ppv3-detail-name {
      font-size: 13.9px !important;
    }

    .ppv3-balance-strip {
      margin-bottom: 14px !important;
    }

    .ppv3-balance-box {
      border-radius: 7.8px !important;
    }

    .ppv3-balance-box-num {
      font-size: 14.5px !important;
    }

    .ppv3-inline-form {
      border-radius: 9.1px !important;
      margin-bottom: 14px !important;
      padding: 10.4px 14px !important;
    }

    .ppv3-form-input {
      border-radius: 6px !important;
      padding: 5.9px 11px !important;
    }

    .ppv3-method-chips {
      gap: 4.6px !important;
    }

    .ppv3-method-chip {
      border-radius: 6.5px !important;
      padding: 4.6px 13px !important;
    }

    .ppv3-form-submit, .ppv3-form-secondary {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
    }

    .ppv3-form-toast {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .ppv3-month-group {
      margin-bottom: 14px !important;
    }

    .ppv3-lesson-row {
      padding: 5.9px 2px !important;
    }

    .ppv3-paid-tag, .ppv3-lesson-row--editable:hover, .ppv3-lesson-row--editable:focus-visible {
      border-radius: 6px !important;
    }

    .ppv3-periods {
      border-radius: 9.1px !important;
      margin-bottom: 14px !important;
      padding: 7.8px 14px !important;
    }

    .ppv3-period-row.current, .ppv3-period-mark-paid {
      border-radius: 6px !important;
    }

    .ppv3-group-header {
      margin-bottom: 14px !important;
    }

    .ppv3-group-icon {
      border-radius: 7.8px !important;
      width: 27.3px !important;
      height: 27.3px !important;
      font-size: 14.8px !important;
    }

    .ppv3-group-name {
      font-size: 13.6px !important;
    }

    .ppv3-group-summary {
      margin-bottom: 14px !important;
    }

    .ppv3-group-summary-box {
      border-radius: 7.8px !important;
    }

    .ppv3-group-summary-num {
      font-size: 13.9px !important;
    }

    .ppv3-member-row {
      border-radius: 7.8px !important;
      padding: 7.2px 8px !important;
    }

    .ppv3-member-avatar {
      width: 22.1px !important;
      height: 22.1px !important;
      font-size: 13.6px !important;
    }

    .ppv3-inline-loading {
      padding: 26px 14px !important;
    }

    .ppv3-inline-error {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
    }

    .pi-inner {
      padding: 15.6px 14px 39px !important;
    }

    .pi-top-card {
      border-radius: 13px !important;
      padding: 14.3px 14.3px 0 !important;
    }

    .pi-name {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .pi-teacher {
      margin: 0 0 6.5px !important;
    }

    .pi-range {
      border-radius: 7.8px !important;
      margin-bottom: 14px !important;
    }

    .pi-amount {
      border-radius: 11.7px 11.7px 0 0 !important;
      margin: 0 -14.3px !important;
      padding: 13px 14.3px 15.6px !important;
    }

    .pi-amount-label {
      margin-bottom: 4px !important;
    }

    .pi-amount-value {
      font-size: 20.5px !important;
    }

    .pi-amount-sub {
      margin-top: 4px !important;
    }

    .pi-section-title {
      margin: 14.3px 0 7.8px !important;
      font-size: 13.5px !important;
    }

    .pi-lessons-card {
      border-radius: 10.4px !important;
      padding: 4px !important;
    }

    .pi-lesson-row {
      padding: 7.2px 12px !important;
    }

    .pi-lesson-check {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .pi-empty {
      padding: 9.1px 12px !important;
    }

    .pi-policy-note {
      border-radius: 7.8px !important;
      padding: 7.2px 14px !important;
    }

    .pi-pay-card {
      border-radius: 10.4px !important;
    }

    .pi-pay-head {
      padding: 9.1px 14px !important;
    }

    .pi-pay-icon {
      border-radius: 6px !important;
      width: 20.8px !important;
      height: 20.8px !important;
      font-size: 13.6px !important;
    }

    .pi-pay-fields {
      padding: 0 14px 9.1px !important;
    }

    .pi-pay-field {
      padding: 5.2px 0 !important;
    }

    .pi-copy-btn {
      border-radius: 6px !important;
    }

    .pi-instructions {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
    }

    .pi-footer-note {
      margin-top: 14px !important;
      padding: 0 14px !important;
    }

    .pi-state-card {
      border-radius: 13px !important;
      margin-top: 26px !important;
      padding: 26px 16.9px !important;
    }

    .pi-state-title {
      margin: 0 0 5.2px !important;
      font-size: 14.5px !important;
    }

    .pi-spinner {
      width: 16.9px !important;
      height: 16.9px !important;
      margin: 0 auto 9.1px !important;
    }

    .req-head {
      margin-bottom: 14px !important;
    }

    .req-error {
      border-radius: 6px !important;
      padding: 6.5px 14px !important;
    }

    .req-section {
      margin: 14.3px 0 6.5px !important;
    }

    .req-row {
      border-radius: 7.8px !important;
    }

    .req-expand {
      gap: 14.3px !important;
      padding: 8.5px 8px 8.5px 14px !important;
    }

    .req-name-line {
      gap: 4.6px !important;
    }

    .req-name, .req-time {
      font-size: 13.3px !important;
    }

    .req-match-bottom {
      min-height: 14.3px !important;
    }

    .req-avatar {
      width: 14.3px !important;
      height: 14.3px !important;
      margin-left: -4.6px !important;
    }

    .req-notes {
      border-radius: 6px !important;
      margin: 0 14px 7.8px 15.6px !important;
      padding: 5.2px 12px !important;
    }

    .req-detail {
      padding: 2px 14px 9.1px 15.6px !important;
    }

    .req-detail-row {
      padding: 4px 0 !important;
    }

    .req-missing {
      margin: 6.5px 0 0 !important;
    }

    .req-decline {
      border-radius: 6px !important;
    }

    .req-actions {
      padding: 0 0 7.8px 12px !important;
    }

    .rpm-overlay {
      padding: 14px !important;
    }

    .rpm-card {
      border-radius: 10.4px !important;
    }

    .rpm-header {
      padding: 10.4px 14px !important;
    }

    .rpm-icon {
      border-radius: 6.5px !important;
      width: 26px !important;
      height: 26px !important;
    }

    .rpm-title {
      font-size: 14.2px !important;
    }

    .rpm-close {
      border-radius: 6px !important;
    }

    .rpm-body {
      gap: 14px !important;
      padding: 13px 14px 11.7px !important;
    }

    .rpm-subtitle {
      font-size: 13.3px !important;
    }

    .rpm-input {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
    }

    .rpm-error, .rpm-success {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .rpm-btn {
      padding: 7.2px 14.3px !important;
      font-size: 13.3px !important;
    }

    .res-select {
      border-radius: 6px !important;
      padding: 4px 10px !important;
    }

    .res-search {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
    }

    .res-chip {
      padding: 4px 12px !important;
    }

    .res-storage {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .res-storage-text {
      margin: 5.2px 0 0 !important;
    }

    .res-card {
      border-radius: 9.1px !important;
    }

    .res-card-tags, .res-card-actions {
      gap: 4px !important;
    }

    .res-input {
      border-radius: 6px !important;
      padding: 5.9px 12px !important;
    }

    .res-textarea {
      min-height: 37.7px !important;
    }

    .res-editing-what {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .res-radio {
      border-radius: 6.5px !important;
      padding: 5.9px 11px !important;
    }

    .res-error {
      border-radius: 6.5px !important;
      padding: 6.5px 12px !important;
    }

    .sg-open {
      border-radius: 7.8px !important;
      padding: 5.2px 9px 5.2px 8px !important;
    }

    .sg-open-avatar {
      width: 23.4px !important;
      height: 23.4px !important;
    }

    .sg-body {
      gap: 16.9px !important;
    }

    .sg-summary {
      border-radius: 9.1px !important;
      padding: 10.4px 14px !important;
    }

    .sg-summary-title {
      margin: 0 0 7.8px !important;
      font-size: 13.6px !important;
    }

    .sg-summary-num {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .sg-summary-text {
      font-size: 13.6px !important;
    }

    .sg-summary-escape {
      margin: 7.8px 0 0 !important;
      font-size: 13.6px !important;
    }

    .sg-section-title {
      font-size: 14.5px !important;
    }

    .sg-section-intro {
      margin: 4px 0 0 !important;
      font-size: 13.6px !important;
    }

    .sg-cards {
      margin: 9.1px 0 0 !important;
    }

    .sg-card {
      border-radius: 7.8px !important;
      padding: 9.1px 14px !important;
    }

    .sg-card-icon {
      border-radius: 6.5px !important;
      width: 20.8px !important;
      height: 20.8px !important;
      font-size: 13.9px !important;
    }

    .sg-card-title {
      font-size: 13.8px !important;
    }

    .sg-card-what, .sg-card-when {
      font-size: 13.6px !important;
    }

    .sg-card-action {
      border-radius: 6px !important;
      padding: 4.6px 12px !important;
      font-size: 13.6px !important;
    }

    .sg-done {
      padding: 5.9px 14px !important;
    }

    .sg-footnote {
      padding-top: 14px !important;
      font-size: 13.6px !important;
    }

    .sg-open-label {
      font-size: 13.6px !important;
    }

    .spx-tab {
      gap: 14px !important;
    }

    .spx-loading, .spx-detail-loading, .spx-detail-empty {
      padding: 18.2px !important;
      font-size: 13.3px !important;
    }

    .spx-detail-placeholder {
      border-radius: 11.7px !important;
      min-height: 208px !important;
      padding: 13px 14.3px 15.6px !important;
      font-size: 13.3px !important;
    }

    .spx-error, .spx-detail-error {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
      font-size: 13.3px !important;
    }

    .spx-stat {
      border-radius: 11.7px !important;
      min-height: 57.2px !important;
      padding: 9.8px 14px 10.4px !important;
    }

    .spx-stat-icon {
      font-size: 19.3px !important;
    }

    .spx-stat-label {
      padding-right: 27.3px !important;
    }

    .spx-stat-value {
      font-size: 16.3px !important;
    }

    .spx-pill {
      gap: 4.6px !important;
      padding: 4.6px 8px 4.6px 14px !important;
      font-size: 13.2px !important;
    }

    .spx-pill-count {
      padding: 0 4px !important;
    }

    .spx-search {
      height: 24.7px !important;
      padding: 0 14px !important;
    }

    .spx-table-card {
      border-radius: 11.7px !important;
    }

    .spx-table th {
      padding: 7.8px 12px !important;
    }

    .spx-table td {
      padding: 7.8px 12px !important;
      font-size: 13.3px !important;
    }

    .spx-avatar {
      width: 22.1px !important;
      height: 22.1px !important;
      font-size: 13.6px !important;
    }

    .spx-num {
      font-size: 13.6px !important;
    }

    .spx-owed {
      font-size: 13.9px !important;
    }

    .spx-teacher-view {
      gap: 14px !important;
    }

    .spx-back {
      font-size: 13.2px !important;
    }

    .spx-view-title {
      font-size: 16.3px !important;
    }

    .spx-layout {
      gap: 14px !important;
    }

    .spx-tile {
      border-radius: 9.8px !important;
      padding: 8.5px 12px 9.1px !important;
    }

    .spx-tile-flag {
      width: 22.1px !important;
      height: 22.1px !important;
      font-size: 13.6px !important;
    }

    .spx-tile-name {
      font-size: 13.2px !important;
    }

    .spx-tile--more {
      min-height: 59.8px !important;
    }

    .spx-detail {
      border-radius: 11.7px !important;
      padding: 10.4px 14px 13px !important;
    }

    .spx-placeholder-icon {
      font-size: 19.3px !important;
    }

    .spx-detail-header {
      padding-bottom: 14px !important;
    }

    .spx-detail-flag {
      width: 28.6px !important;
      height: 28.6px !important;
      font-size: 14.8px !important;
    }

    .spx-detail-name {
      font-size: 15.4px !important;
    }

    .spx-btn {
      padding: 6.5px 14px !important;
    }

    .spx-balance-strip {
      margin: 11.7px 0 !important;
    }

    .spx-balance-box {
      border-radius: 9.1px !important;
      padding: 8.5px 14px !important;
    }

    .spx-balance-value {
      font-size: 15.7px !important;
    }

    .spx-record-cta {
      border-radius: 9.1px !important;
      padding: 9.8px 14px !important;
    }

    .spx-record-title {
      font-size: 13.6px !important;
    }

    .spx-history {
      margin-top: 14.3px !important;
    }

    .spx-history-scroll {
      max-height: 286px !important;
    }

    .spx-history-label {
      margin: 0 0 6.5px !important;
    }

    .spx-history-month {
      padding: 7.8px 0 4px !important;
    }

    .spx-history-row {
      padding: 6.5px 0 !important;
    }

    .spx-history-row.is-editable:hover, .spx-history-row.is-editable:focus-visible {
      border-radius: 6px !important;
    }

    .spx-history-title {
      font-size: 13.2px !important;
    }

    .spx-history-amount {
      font-size: 13.5px !important;
    }

    .spx-member-row {
      border-radius: 6px !important;
      padding: 6.5px 4px !important;
    }

    .spx-member-flag {
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .spx-member-name {
      font-size: 13.2px !important;
    }

    .spx-member-amount {
      font-size: 13.3px !important;
    }

    .spx-invoice-popover {
      border-radius: 10.4px !important;
    }

    .spx-invoice-header {
      padding: 8.5px 14px !important;
      font-size: 13.2px !important;
    }

    .spx-invoice-close {
      font-size: 15.1px !important;
    }

    .spx-invoice-body {
      padding: 9.1px 14px 10.4px !important;
    }

    .spx-invoice-url {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .spx-invoice-hint {
      margin: 0 0 7.8px !important;
    }

    .spx-invoice-error {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .spx-invoice-actions {
      gap: 4.6px !important;
    }

    .spx-invoice-btn {
      padding: 5.9px 4px !important;
    }

    .spx-invoice-period {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .school-payroll {
      gap: 14px !important;
    }

    .school-payroll .sp-period-panel {
      padding: 9.1px 14px !important;
    }

    .school-payroll .sp-chip {
      border-radius: 13px !important;
      padding: 5.2px 14px !important;
    }

    .school-payroll .sp-date-fields {
      margin-left: 4px !important;
    }

    .school-payroll .sp-date-input {
      padding: 4.6px 10px !important;
    }

    .school-payroll .sp-btn {
      gap: 4px !important;
      padding: 5.9px 14px !important;
    }

    .school-payroll .sp-stat-card {
      padding: 10.4px 14px !important;
    }

    .school-payroll .sp-eyebrow {
      margin: 0 0 5.2px !important;
    }

    .school-payroll .sp-stat-num {
      font-size: 16.9px !important;
    }

    .school-payroll .sp-stat-warn {
      padding: 4px 8px !important;
    }

    .school-payroll .sp-state {
      padding: 16.9px 14.3px !important;
    }

    .school-payroll .sp-state .sp-state-emoji {
      margin-bottom: 4px !important;
      font-size: 18.7px !important;
    }

    .school-payroll .sp-table thead th {
      padding: 7.8px 14px !important;
    }

    .school-payroll .sp-table thead th:first-child {
      padding-left: 28.6px !important;
    }

    .school-payroll .sp-table tbody td {
      padding: 9.1px 14px !important;
      font-size: 13.3px !important;
    }

    .school-payroll .sp-avatar {
      width: 22.1px !important;
      height: 22.1px !important;
    }

    .school-payroll .sp-teacher-name {
      gap: 4px !important;
    }

    .school-payroll .sp-owed-amount {
      font-size: 13.6px !important;
    }

    .school-payroll .sp-paid-pill {
      border-radius: 13px !important;
    }

    .school-payroll .sp-row-menu button {
      padding: 5.2px 12px !important;
    }

    .school-payroll .sp-drawer-header {
      padding: 13px 14.3px !important;
    }

    .school-payroll .sp-drawer-header .sp-avatar {
      width: 27.3px !important;
      height: 27.3px !important;
      font-size: 13.6px !important;
    }

    .school-payroll .sp-drawer-header h2 {
      font-size: 13.9px !important;
    }

    .school-payroll .sp-drawer-close {
      font-size: 14.5px !important;
    }

    .school-payroll .sp-drawer-body {
      padding: 11.7px 14.3px 16.9px !important;
    }

    .school-payroll .sp-drawer-summary {
      margin-bottom: 14px !important;
    }

    .school-payroll .sp-drawer-summary .sp-sum-item {
      padding: 6.5px 12px !important;
    }

    .school-payroll .sp-drawer-summary .sp-sum-n {
      font-size: 15.1px !important;
    }

    .school-payroll .sp-section-title {
      margin: 13px 0 5.2px !important;
    }

    .school-payroll .sp-rules-card {
      margin-bottom: 14px !important;
      padding: 9.1px 14px !important;
    }

    .school-payroll .sp-rules-edit-line {
      gap: 4px !important;
    }

    .school-payroll .sp-lesson-table thead th {
      padding: 5.2px 4px !important;
    }

    .school-payroll .sp-lesson-table tbody td {
      padding: 5.9px 4px !important;
    }

    .school-payroll .sp-lesson-empty {
      padding: 10.4px 4px !important;
    }

    .school-payroll .sp-status-pill {
      border-radius: 13px !important;
    }

    .school-payroll .sp-pay-summary {
      padding: 7.8px 14px !important;
    }

    .school-payroll .sp-pay-row.is-total {
      font-size: 13.3px !important;
    }

    .school-payroll .sp-pay-block-title {
      margin: 4px 0 !important;
    }

    .school-payroll .sp-section-title-row {
      margin: 13px 0 5.2px !important;
    }

    .school-payroll .sp-collapse-btn, .school-payroll .sp-include-toggle {
      gap: 4px !important;
    }

    .school-payroll .sp-drawer-footer {
      padding: 9.1px 14.3px !important;
    }

    .school-payroll .sp-actions-cell {
      gap: 4px !important;
    }

    .school-payroll .sp-extra-kind {
      border-radius: 13px !important;
      margin-right: 4px !important;
    }

    .school-schedule .ss-sticky-header {
      padding-top: 4px !important;
      padding-bottom: 4px !important;
    }

    .school-schedule .ss-tz {
      padding: 5.9px 14px !important;
    }

    .school-schedule .ss-btn {
      gap: 4px !important;
      padding: 5.2px 13px !important;
    }

    .school-schedule .ss-select {
      padding: 5.2px 12px !important;
    }

    .school-schedule .ss-date-range {
      font-size: 13.9px !important;
    }

    .school-schedule .ss-view-toggle button {
      padding: 5.2px 14px !important;
    }

    .school-schedule .ss-legend {
      gap: 14px !important;
    }

    .school-schedule .ss-legend-item {
      gap: 4px !important;
    }

    .school-schedule .ss-teacher-dot {
      width: 12px !important;
      height: 12px !important;
    }

    .school-schedule .ss-layout {
      gap: 14px !important;
    }

    .school-schedule .ss-cal-day {
      padding: 6.5px 4px !important;
    }

    .school-schedule .ss-cal-daynum {
      font-size: 13.9px !important;
    }

    .school-schedule .ss-cal-day.today .ss-cal-daynum {
      width: 16.9px !important;
      height: 16.9px !important;
    }

    .school-schedule .ss-hour-label-flex {
      padding: 0 8px 0 4px !important;
    }

    .school-schedule .ss-lesson {
      padding: 4px !important;
    }

    .school-schedule .ss-lesson-dot {
      width: 12px !important;
      height: 12px !important;
    }

    .school-schedule .ss-month-dayname {
      padding: 6.5px 4px !important;
    }

    .school-schedule .ss-month-cell {
      min-height: 65px !important;
      padding: 4px 8px !important;
    }

    .school-schedule .ss-month-cell.today .ss-month-num {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .school-schedule .ss-month-chip {
      padding: 3px 4px !important;
    }

    .school-schedule .ss-panel-avatar {
      width: 24.7px !important;
      height: 24.7px !important;
      font-size: 13.3px !important;
    }

    .school-schedule .ss-panel-name {
      font-size: 13.3px !important;
    }

    .school-schedule .ss-panel-section {
      margin-bottom: 14px !important;
    }

    .school-schedule .ss-stat-line {
      margin-bottom: 4px !important;
    }

    .school-schedule .ss-stat-line .v {
      font-size: 13.2px !important;
    }

    .school-schedule .ss-split-bar {
      margin: 5.2px 0 4px !important;
    }

    .school-schedule .ss-free-slot, .school-schedule .ss-panel-empty {
      padding: 4px 8px !important;
    }

    .school-schedule .ss-loading {
      padding: 26px !important;
    }

    .school-schedule .ss-modal-hint {
      border-radius: 6px !important;
      margin-bottom: 14px !important;
      padding: 6.5px 12px !important;
    }

    .school-schedule .ss-modal-row {
      margin-bottom: 14px !important;
    }

    .school-schedule .ss-modal-label {
      margin-bottom: 4px !important;
    }

    .school-schedule .ss-modal-input {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .school-schedule .ss-type-toggle button {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
      font-size: 13.3px !important;
    }

    .school-schedule .ss-modal-error, .school-schedule .ss-tz-warn {
      border-radius: 6px !important;
      padding: 6.5px 14px !important;
    }

    .school-schedule .ss-tz-warn-icon {
      font-size: 13.6px !important;
    }

    .school-schedule .ss-drag-preview-label {
      padding: 1px 4px !important;
    }

    .school-schedule .ss-agg-chip {
      gap: 4px !important;
      padding: 5px 4px !important;
    }

    .school-schedule .ss-agg-popover-head {
      padding: 6.5px 14px !important;
    }

    .school-schedule .ss-agg-popover-list {
      max-height: 169px !important;
    }

    .school-schedule .ss-agg-popover-item {
      padding: 5.9px 14px !important;
    }

    .school-schedule .ss-agg-type-tag {
      border-radius: 13px !important;
      padding: 2px 4.6px !important;
    }

    .sp2-status {
      border-radius: 13px !important;
      padding: 15.6px !important;
    }

    .sp2-status-top {
      gap: 14px !important;
    }

    .sp2-status-label {
      margin-bottom: 4px !important;
    }

    .sp2-status-big {
      font-size: 18.7px !important;
    }

    .sp2-status-context {
      margin-top: 4px !important;
    }

    .sp2-btn {
      border-radius: 6.5px !important;
      padding: 5.9px 14px !important;
      font-size: 13.3px !important;
    }

    .sp2-minis {
      margin-top: 14px !important;
    }

    .sp2-mini {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .sp2-mini-v {
      font-size: 14.2px !important;
    }

    .sp2-histrow {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .sp2-terms {
      border-radius: 10.4px !important;
      padding: 11.7px 14px !important;
    }

    .sp2-terms-summary {
      font-size: 13.6px !important;
    }

    .sp2-terms-body {
      margin-top: 14px !important;
    }

    .sp2-typebtn {
      border-radius: 7.8px !important;
      padding: 7.8px 10px !important;
      font-size: 13.3px !important;
    }

    .sp2-fields {
      margin-top: 14px !important;
    }

    .sp2-field, .sp2-field-label {
      gap: 4px !important;
    }

    .sp2-field input, .sp2-field select {
      border-radius: 6.5px !important;
      padding: 5.9px 11px !important;
    }

    .sp2-note {
      border-radius: 6.5px !important;
      padding: 7.2px 13px !important;
    }

    .sp2-terms-foot {
      margin-top: 14px !important;
    }

    .sp2-save {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .sp2-loading, .sp2-failed {
      border-radius: 10.4px !important;
      padding: 14px !important;
      font-size: 13.3px !important;
    }

    .school-schedule.student-schedule .ss-chip-row {
      gap: 4px !important;
    }

    .school-schedule.student-schedule .ss-stat-cell {
      border-radius: 6px !important;
      padding: 6.5px 12px !important;
    }

    .school-schedule.student-schedule .ss-stat-num {
      font-size: 15.7px !important;
    }

    .school-schedule.student-schedule .ss-enroll-row {
      padding: 4px 0 !important;
    }

    .school-schedule.student-schedule .ss-enroll-dot {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .school-schedule.student-schedule .ss-enroll-count .ind, .school-schedule.student-schedule .ss-enroll-count .grp {
      padding: 2px 4.6px !important;
    }

    .school-schedule.student-schedule .ss-tz-note {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .sp-loading, .sp-error, .sp-empty {
      border-radius: 7.8px !important;
    }

    .sp-stat-card {
      border-radius: 9.1px !important;
      gap: 4px !important;
      min-height: 54.6px !important;
      padding: 10.4px 14px !important;
    }

    .sp-filter-chip {
      padding: 4px 14px !important;
    }

    .sp-teacher-block {
      border-radius: 9.1px !important;
    }

    .sp-teacher-header {
      padding: 9.1px 14px !important;
    }

    .sp-teacher-avatar {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .sp-tab .sp-row {
      padding: 7.8px 14px !important;
    }

    .sp-tab .sp-row--member {
      padding-left: 27.3px !important;
    }

    .sp-action-btn {
      border-radius: 6px !important;
      padding: 4px 12px !important;
    }

    .sp-group-toggle {
      gap: 4px !important;
    }

    .sp-invoice-popover {
      border-radius: 7.8px !important;
    }

    .sp-invoice-header {
      padding: 7.8px 14px !important;
    }

    .sp-invoice-url {
      padding: 5.2px 10px !important;
    }

    .sp-invoice-error {
      padding: 4px 8px !important;
    }

    .sp-invoice-actions {
      gap: 4px !important;
    }

    .sp-invoice-btn {
      border-radius: 6px !important;
      padding: 5.2px 4px !important;
    }

    .sp-invoice-rotate {
      padding: 4px 10px !important;
    }

    .pd-header {
      padding: 11.7px 14px 10.4px !important;
    }

    .pd-avatar {
      width: 28.6px !important;
      height: 28.6px !important;
      font-size: 14.5px !important;
    }

    .pd-name {
      font-size: 14.2px !important;
    }

    .pd-native-flag {
      font-size: 14.5px !important;
    }

    .pd-close {
      padding: 4px !important;
    }

    .pd-loading, .pd-error, .pd-empty {
      padding: 15.6px 14px !important;
    }

    .pd-stat-grid {
      gap: 4px !important;
      padding: 10.4px 14px 5.2px !important;
    }

    .pd-stat {
      border-radius: 7.8px !important;
      padding: 6.5px 8px 5.2px !important;
    }

    .pd-stat-icon {
      border-radius: 6px !important;
      width: 18.2px !important;
      height: 18.2px !important;
    }

    .pd-stat-value {
      font-size: 14.2px !important;
    }

    .pd-history {
      padding: 5.2px 14px !important;
    }

    .pd-section-title {
      margin: 5.2px 0 6.5px !important;
    }

    .pd-history-item {
      padding: 6.5px 0 !important;
    }

    .pd-footer {
      padding: 9.1px 14px 11.7px !important;
    }

    .pd-btn {
      border-radius: 6.5px !important;
      padding: 6.5px 14px !important;
      font-size: 13.2px !important;
    }

    .sv2-badge-row {
      gap: 4px !important;
      min-height: 16.9px !important;
      padding-right: 67.6px !important;
    }

    .sv2-value-box .sv2-value-val {
      font-size: 13.6px !important;
    }

    .sv2-filter-chip {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 5.2px 14px !important;
    }

    .sv2-search-box {
      padding: 5.9px 14px !important;
    }

    .sv2-select {
      padding: 5.9px 12px !important;
    }

    .sv2-header {
      gap: 14px !important;
    }

    .sv2-header h1 {
      margin: 0 0 4px !important;
      font-size: 15.7px !important;
    }

    .sv2-header p.sv2-subtitle {
      font-size: 13.2px !important;
    }

    .sv2-btn {
      gap: 4px !important;
      padding: 5.9px 14px !important;
    }

    .sv2-sub-tabs {
      gap: 14.3px !important;
    }

    .sv2-sub-tab {
      gap: 4px !important;
      padding: 5.9px 0 !important;
      font-size: 13.3px !important;
    }

    .sv2-count-pill {
      border-radius: 13px !important;
      padding: 1px 4.6px !important;
    }

    .sv2-empty {
      font-size: 13.3px !important;
    }

    .sv2-flag-wrap {
      font-size: 15.1px !important;
    }

    .sv2-learn-badge {
      width: 12px !important;
      height: 12px !important;
    }

    .sv2-multi-badge {
      height: 12px !important;
    }

    .sv2-student-name {
      font-size: 13.5px !important;
    }

    .sv2-badge {
      border-radius: 13px !important;
    }

    .sv2-lang-tags {
      gap: 4px !important;
    }

    .sv2-lang-tag {
      border-radius: 13px !important;
    }

    .sv2-teacher-chip {
      gap: 4px !important;
    }

    .sv2-teacher-chip--assigned {
      border-radius: 6px !important;
      margin: 0 -8px 7.8px !important;
    }

    .sv2-teacher-chip--unassigned {
      border-radius: 13px !important;
    }

    .sv2-progress-track {
      border-radius: 13px !important;
      margin-top: 4px !important;
    }

    .sv2-progress-fill {
      border-radius: 13px !important;
    }

    .sv2-group-students-title {
      margin-bottom: 4px !important;
    }

    .sv2-group-student {
      margin: 0 -4px !important;
      padding: 5px 4px !important;
    }

    .sv2-group-student-dot {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .sv2-group-student-level {
      border-radius: 6.5px !important;
      padding: 2px 4px !important;
    }

    .sv2-popover-title {
      padding: 5.9px 12px 4px !important;
    }

    .sv2-popover-item {
      padding: 5.2px 12px !important;
    }

    .sv2-popover-confirm {
      padding: 6.5px 12px !important;
    }

    .sv2-popover-confirm p {
      margin: 0 0 6.5px !important;
    }

    .sv2-popover-actions {
      gap: 4px !important;
    }

    .sv2-popover-actions button {
      padding: 4px 0 !important;
    }

    .sv2-toast {
      border-radius: 13px !important;
      padding: 6.5px 14px !important;
    }

    .sv2-profile-header {
      gap: 14px !important;
    }

    .sv2-profile-title h1 {
      font-size: 15.7px !important;
    }

    .sv2-nationality-flag {
      height: 15.6px !important;
      font-size: 16.3px !important;
    }

    .sv2-menu-item {
      padding: 5.9px 13px !important;
    }

    .sv2-level-menu-item {
      padding: 4px 14px !important;
    }

    .sv2-tab {
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .sv2-overview-layout {
      gap: 15.6px !important;
    }

    .sv2-stat-card .sv2-stat-num {
      font-size: 16.3px !important;
    }

    .sv2-info-head {
      font-size: 13.2px !important;
    }

    .sv2-field-item {
      padding: 5.2px 0 !important;
    }

    .sv2-field-icon {
      width: 15.6px !important;
      height: 15.6px !important;
    }

    .sv2-col-title {
      margin: 0 0 6.5px !important;
    }

    .sv2-enr-tab-bar {
      gap: 4px !important;
    }

    .sv2-enr-tab {
      border-radius: 13px !important;
      gap: 4.6px !important;
      padding: 4.6px 12px 4.6px 8px !important;
    }

    .sv2-enr-panel-top {
      margin-bottom: 14px !important;
    }

    .sv2-enr-teacher {
      border-radius: 13px !important;
      gap: 4px !important;
      font-size: 13.3px !important;
    }

    .sv2-enr-teacher .sv2-teacher-dot {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .sv2-enr-fields {
      gap: 16.9px !important;
    }

    .sv2-length-select {
      padding: 3px 4px !important;
    }

    .sv2-payment-terms-title {
      font-size: 13.6px !important;
    }

    .sv2-pt-row-label {
      font-size: 13.3px !important;
    }

    .sv2-pt-pills {
      gap: 4px !important;
    }

    .sv2-pt-pill {
      padding: 4px 12px !important;
    }

    .sv2-pt-notice-input {
      border-radius: 6px !important;
      padding: 4px 10px !important;
    }

    .sv2-subplan-title {
      font-size: 13.3px !important;
    }

    .sv2-subplan-field input, .sv2-subplan-field select {
      border-radius: 6px !important;
      padding: 4.6px 10px !important;
    }

    .sv2-subplan-save {
      border-radius: 6px !important;
      padding: 5.2px 14px !important;
      font-size: 13.2px !important;
    }

    .sv2-intake-banner {
      margin-bottom: 14px !important;
      padding: 9.1px 14px !important;
    }

    .sv2-intake-banner-icon {
      font-size: 15.7px !important;
    }

    .sv2-intake-banner-title {
      font-size: 13.3px !important;
    }

    .sv2-intake-banner-text {
      margin: 0 0 5.2px !important;
    }

    .sv2-intake-missing {
      gap: 4px !important;
    }

    .sv2-intake-approve-btn {
      border-radius: 6px !important;
      padding: 5.9px 14px !important;
    }

    .sv2-needs-review-cell {
      border-radius: 6px !important;
      padding: 4px 8px !important;
    }

    .sv2-needs-review-tag {
      margin-left: 4px !important;
      padding: 1px 4px !important;
    }

    .sv2-folder-crumb {
      padding: 6.5px 14px !important;
    }

    .sv2-folder-crumb-back {
      padding: 4px !important;
    }

    .sv2-folder-crumb-name {
      gap: 4px !important;
      font-size: 13.3px !important;
    }

    .sv2-folder-tile {
      min-height: 76.7px !important;
      padding: 11.7px 14px !important;
    }

    .sv2-folder-tile-icon {
      font-size: 19.3px !important;
    }

    .sv2-folder-tile-name, .sv2-folder-tile-add {
      font-size: 13.6px !important;
    }

    .sv2-section-title {
      margin: 4px 0 6.5px !important;
    }

    .pcd-lead {
      margin: 0 0 11.7px !important;
      font-size: 13.6px !important;
    }

    .pcd-date {
      font-size: 13.6px !important;
    }

    .pcd-chip {
      padding: 4.6px 12px !important;
    }

    .pcd-explain {
      border-radius: 6.5px !important;
      margin: 7.8px 0 0 !important;
      padding: 6.5px 12px !important;
    }

    .pcd-history {
      margin-top: 14.3px !important;
      padding-top: 14px !important;
    }

    .pcd-history-err {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .pcd-history-row {
      padding: 4.6px 0 !important;
    }

    .tlh-root .tlh-month-nav {
      margin-bottom: 14px !important;
    }

    .tlh-root .tlh-nav-btn {
      border-radius: 6.5px !important;
      font-size: 13.3px !important;
    }

    .tlh-root .tlh-month-label {
      font-size: 13.6px !important;
    }

    .tlh-root .tlh-today-btn {
      border-radius: 6.5px !important;
      margin-left: 4px !important;
      padding: 4px 14px !important;
    }

    .tlh-root .tlh-summary {
      margin-bottom: 14px !important;
      padding-bottom: 14px !important;
    }

    .tlh-root .tlh-dot {
      margin: 0 4px !important;
    }

    .tlh-root .tlh-filter-row {
      margin-bottom: 14px !important;
    }

    .tlh-root .tlh-filter-pills {
      gap: 4px !important;
    }

    .tlh-root .tlh-pill {
      border-radius: 9.1px !important;
      padding: 4.6px 13px !important;
    }

    .tlh-root .tlh-pill-count {
      border-radius: 6px !important;
      padding: 1px 4px !important;
    }

    .tlh-root .tlh-search {
      border-radius: 7.8px !important;
      padding: 5.9px 13px !important;
    }

    .tlh-root .tlh-col-headers {
      padding: 0 12px 5.2px !important;
    }

    .tlh-root .tlh-list {
      border-radius: 10.4px !important;
      padding: 4px !important;
    }

    .tlh-root .tlh-empty {
      padding: 15.6px 12px !important;
    }

    .tlh-root .tlh-error {
      border-radius: 6.5px !important;
      padding: 7.8px 14px !important;
    }

    .tlh-root .tlh-row {
      border-radius: 7.8px !important;
      padding: 8.5px 12px !important;
    }

    .tlh-root .tlh-who-name {
      gap: 4px !important;
    }

    .tlh-root .tlh-type-tag {
      padding: 2px 4.6px !important;
    }

    .tlh-root .tlh-attend {
      border-radius: 6.5px !important;
    }

    .tlh-root .tlh-status {
      border-radius: 7.8px !important;
    }

    .tlh-root .tlh-attendance-detail {
      padding: 6.5px 12px 9.1px 68.9px !important;
    }

    .tlh-root .tlh-member-chip {
      border-radius: 6.5px !important;
      gap: 4px !important;
    }

    .teachers-stats-page .tsp-loading, .tsp-loading {
      padding: 26px !important;
    }

    .teachers-stats-page .tsp-error {
      border-radius: 6px !important;
      margin-bottom: 14px !important;
      padding: 9.1px 14px !important;
      font-size: 13.2px !important;
    }

    .teachers-stats-page .tsp-btn-chip {
      border-radius: 13px !important;
      padding: 5.2px 14px !important;
    }

    .teachers-stats-page .tsp-teacher-stats thead th, .teachers-stats-page .tsp-teacher-stats tbody td {
      padding: 6.5px 8px !important;
    }

    .teachers-stats-page .tsp-table-loading, .teachers-stats-page .tsp-table-empty {
      padding: 19.5px 14px !important;
    }

    .teachers-stats-page .tsp-dot {
      width: 20.8px !important;
      height: 20.8px !important;
    }

    .teachers-stats-page .tsp-teacher-name {
      font-size: 13.2px !important;
    }

    .teachers-stats-page .tsp-util-track, .teachers-stats-page .tsp-util-fill, .teachers-stats-page .tsp-conv-pill {
      border-radius: 13px !important;
    }

    .teachers-stats-page .tsp-panel-title {
      font-size: 13.3px !important;
    }

    .teachers-stats-page .tsp-panel-sub {
      margin: 0 0 9.1px !important;
    }

    .teachers-stats-page .tsp-panel-header-row {
      gap: 14px !important;
    }

    .teachers-stats-page .tsp-range-select {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .teachers-stats-page .tsp-insights-fab {
      width: 36px !important;
      height: 36px !important;
      font-size: 14.2px !important;
    }

    .teachers-stats-page .tsp-insights-badge {
      height: 12px !important;
    }

    .teachers-stats-page .tsp-series-btn {
      border-radius: 13px !important;
      gap: 4px !important;
      padding: 4.6px 14px !important;
    }

    .teachers-stats-page .tsp-metric-toggle {
      gap: 4px !important;
    }

    .teachers-stats-page .tsp-metric-btn {
      border-radius: 6px !important;
      padding: 4px 13px !important;
    }

    .teachers-stats-page .tsp-chart-wrap {
      min-height: 143px !important;
    }

    .teachers-stats-page .tsp-chart-yaxis {
      height: 143px !important;
      padding-bottom: 14.3px !important;
    }

    .teachers-stats-page .tsp-chart-empty {
      padding: 39px 14px !important;
    }

    .teachers-stats-page .tsp-ip-title {
      font-size: 13.3px !important;
    }

    .teachers-stats-page .tsp-ip-close {
      font-size: 13.6px !important;
    }

    .teachers-stats-page .tsp-ip-empty {
      padding: 13px 0 !important;
    }

    .teachers-stats-page .tsp-ip-alert {
      padding: 7.8px 0 !important;
    }

    .teachers-stats-page .tsp-ip-alert-icon {
      font-size: 13.6px !important;
    }

    .team-profiles-v2 .tp-header {
      gap: 14px !important;
    }

    .team-profiles-v2 .tp-header h2 {
      font-size: 15.1px !important;
    }

    .team-profiles-v2 .tp-btn {
      gap: 4px !important;
      padding: 5.9px 14px !important;
    }

    .team-profiles-v2 .tp-badge {
      border-radius: 13px !important;
    }

    .team-profiles-v2 .tp-avatar {
      width: 27.3px !important;
      height: 27.3px !important;
      font-size: 13.6px !important;
    }

    .team-profiles-v2 .tp-stat-num {
      font-size: 16.3px !important;
    }

    .team-profiles-v2 .tp-card-name {
      gap: 4px !important;
      font-size: 13.3px !important;
    }

    .team-profiles-v2 .tp-card-langs {
      min-height: 12px !important;
    }

    .team-profiles-v2 .tp-chevron {
      font-size: 13.9px !important;
    }

    .team-profiles-v2 .tp-eyebrow {
      margin-bottom: 4px !important;
    }

    .team-profiles-v2 .tp-info-value {
      gap: 4px !important;
      font-size: 13.6px !important;
    }

    .team-profiles-v2 .tp-rate-header {
      margin-bottom: 4px !important;
    }

    .team-profiles-v2 .tp-rate-currency {
      gap: 4px !important;
    }

    .team-profiles-v2 .tp-rate-table th {
      padding: 6.5px 14px !important;
    }

    .team-profiles-v2 .tp-rate-table td {
      padding: 6.5px 14px !important;
      font-size: 13.3px !important;
    }

    .team-profiles-v2 .tp-rate-table td.tp-actions button {
      padding: 4px !important;
      font-size: 13.3px !important;
    }

    .team-profiles-v2 .tp-rate-input {
      padding: 4px 8px !important;
    }

    .team-profiles-v2 .tp-quick-links {
      gap: 15.6px !important;
    }

    .team-profiles-v2 .tp-empty {
      padding: 26px !important;
      font-size: 13.3px !important;
    }

    .team-profiles-v2 .tp-menu button {
      padding: 5.2px 10px !important;
    }

    .timeoff-head {
      gap: 7.8px 15.6px !important;
      margin-bottom: 14px !important;
    }

    .timeoff-list {
      margin: 7.8px 0 0 !important;
    }

    .timeoff-row {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .timeoff-row-icon {
      width: 22.1px !important;
      height: 22.1px !important;
      font-size: 14.2px !important;
    }

    .timeoff-row-title {
      font-size: 13.3px !important;
    }

    .timeoff-row-decision {
      border-radius: 6px !important;
      margin: 4px 0 0 !important;
      padding: 4px 10px !important;
    }

    .timeoff-confirm, .timeoff-decide, .timeoff-refuse {
      gap: 4px !important;
    }

    .timeoff-empty-icon {
      margin-bottom: 4px !important;
      font-size: 19.3px !important;
    }

    .timeoff-empty-hint {
      margin: 4px auto 0 !important;
    }

    .timeoff-field {
      gap: 4px !important;
    }

    .timeoff-kind {
      border-radius: 7.8px !important;
      gap: 4px !important;
      padding: 6.5px 4px !important;
    }

    .timeoff-kind-icon {
      width: 20.8px !important;
      height: 20.8px !important;
      font-size: 13.9px !important;
    }

    .timeoff-done-line, .timeoff-done-clear {
      font-size: 13.3px !important;
    }

    .timeoff-clash {
      border-radius: 7.8px !important;
      padding: 7.8px 14px !important;
    }

    .timeoff-clash-title {
      font-size: 13.3px !important;
    }

    .timeoff-clash-hint {
      margin: 4px 0 5.2px !important;
    }

    .timeoff-clash-list {
      max-height: 117px !important;
    }

    .timeoff-team {
      gap: 14px !important;
    }

    .timeoff-month-nav {
      gap: 4px !important;
    }

    .timeoff-month-label {
      font-size: 13.6px !important;
    }

    .timeoff-elsewhere {
      border-radius: 6px !important;
      padding: 5.2px 12px !important;
    }

    .timeoff-cell {
      height: 16.9px !important;
    }

    .timeoff-legend {
      gap: 5.2px 14px !important;
    }

    .timeoff-legend-item {
      gap: 4px !important;
    }

    .timeoff-legend-swatch {
      width: 12px !important;
      height: 12px !important;
    }

    .app-sidebar-item {
      border-radius: 6px !important;
      gap: 14px !important;
      height: 36px !important;
      padding: 5.2px 12px !important;
      font-size: 13.3px !important;
    }

    .app-sidebar-item svg {
      width: 12px !important;
      height: 12px !important;
    }

    .app-sidebar-item img {
      width: 14.3px !important;
      height: 14.3px !important;
    }

    .ui-kpi {
      border-radius: 9.1px !important;
      gap: 4px !important;
      min-height: 62.4px !important;
    }

    .ui-page-eyebrow {
      margin-bottom: 4px !important;
    }

    .ui-page-subtitle {
      margin: 4px 0 0 !important;
    }

    .ui-section-eyebrow {
      margin-bottom: 4px !important;
    }

    .ui-table thead th {
      padding: 7.8px 14px !important;
    }

    .ui-table tbody td {
      padding: 9.1px 14px !important;
    }

    .ui-btn {
      gap: 4px !important;
      padding: 5.2px 14px !important;
    }

    .ui-btn--sm {
      padding: 4px 10px !important;
    }

    .ui-btn--lg {
      padding: 6.5px 14px !important;
      font-size: 13.6px !important;
    }

    .ui-btn--ghost {
      padding: 4px 10px !important;
    }

    .ui-label {
      margin-bottom: 4px !important;
    }

    .ui-input, .ui-select {
      padding: 5.9px 12px !important;
    }

    .ui-textarea {
      min-height: 52px !important;
      padding: 5.9px 12px !important;
    }

    .ui-empty__icon {
      font-size: 18.7px !important;
    }

    .ui-empty__title {
      font-size: 13.6px !important;
    }

    .app-v2 .sched-tab {
      padding: 7.8px 14px !important;
    }

    .app-sidebar-item svg:not(.app-sidebar-chev) {
      width: 12px !important;
      height: 12px !important;
      padding: 4px !important;
    }

    body[class*="app-section-"] .app-topbar > :is(h1, h2, h3, h4) {
      margin-left: 14px !important;
    }

    .dash-identity--dark-bg .dash-identity-text, .dash-identity--light-bg .dash-identity-text {
      padding: 9.1px 14px !important;
    }

    .ui-kpi--decorated .ui-kpi__body {
      gap: 4px !important;
    }

    .ui-kpi__icon {
      width: 28.6px !important;
      height: 28.6px !important;
    }

    .dash-avatar {
      width: 26px !important;
      height: 26px !important;
      font-size: 13.6px !important;
    }

    .dash-mini-stat__num {
      font-size: 13.6px !important;
    }

    .dash-schedule-list {
      gap: 4px !important;
    }

    .ui-empty__icon-chip {
      width: 36.4px !important;
      height: 36.4px !important;
      margin: 0 auto 7.8px !important;
    }

    .app-v2 .page-header-btn {
      padding: 5.2px 14px !important;
      font-size: 13.3px !important;
    }

    .app-v2 .page-header-tabs {
      gap: 15.6px !important;
    }

    .app-v2 .page-header-tab {
      padding: 6.5px 0 !important;
    }

    .app-v2 .ui-btn--sm {
      padding: 4px 12px !important;
    }

    .acct-page {
      padding: 5.2px 4px 26px !important;
    }

    .acct-header {
      border-radius: 10.4px !important;
      margin-bottom: 14px !important;
      padding: 14.3px 15.6px !important;
    }

    .acct-header:after {
      width: 52px !important;
      height: 52px !important;
    }

    .acct-header h1 {
      margin: 0 0 4px !important;
      font-size: 16.3px !important;
    }

    .acct-header p {
      font-size: 13.3px !important;
    }

    .acct-panel {
      border-radius: 9.1px !important;
      margin-bottom: 14px !important;
      padding: 14px !important;
    }

    .acct-panel-sub {
      margin: 0 0 10.4px !important;
    }

    .acct-field input, .acct-field select {
      border-radius: 6.5px !important;
      padding: 5.9px 12px !important;
    }

    .acct-row-between {
      padding: 7.8px 0 !important;
    }

    .acct-row-label {
      font-size: 13.3px !important;
    }

    .acct-toggle {
      border-radius: 13px !important;
    }

    .acct-channel-row, .acct-integration-row {
      padding: 7.8px 0 !important;
    }

    .acct-channel-icon, .acct-integration-icon {
      font-size: 15.1px !important;
    }

    .acct-channel-name, .acct-integration-name {
      font-size: 13.2px !important;
    }

    .acct-status {
      border-radius: 13px !important;
    }

    .acct-locked-note {
      border-radius: 13px !important;
      gap: 4px !important;
    }

    .acct-btn {
      border-radius: 6px !important;
      padding: 5.9px 14px !important;
      font-size: 13.2px !important;
    }

    .acct-tag-template {
      border-radius: 13px !important;
    }

    .acct-teach-banner {
      border-radius: 9.1px !important;
      gap: 14px !important;
      padding: 11.7px 14px !important;
    }

    .acct-teach-banner .acct-teach-title {
      font-size: 13.3px !important;
    }

    .acct-plan-card {
      border-radius: 9.1px !important;
      gap: 14px !important;
      padding: 13px 15.6px !important;
    }

    .acct-plan-card .acct-plan-name {
      font-size: 14.2px !important;
    }

    .acct-plan-card .acct-plan-price {
      font-size: 15.7px !important;
    }

    .acct-usage-bar, .acct-usage-fill {
      border-radius: 13px !important;
    }

    .acct-avatar-lg {
      width: 41.6px !important;
      height: 41.6px !important;
      font-size: 15.7px !important;
    }

    .acct-cancel-notice-field input {
      border-radius: 6px !important;
      padding: 5.2px 10px !important;
    }

    .acct-doc-note {
      border-radius: 13px !important;
      gap: 4px !important;
    }

    .acct-logo-row {
      margin-bottom: 14px !important;
    }

    .acct-logo-box {
      border-radius: 7.8px !important;
      width: 36.4px !important;
      height: 36.4px !important;
      font-size: 15.1px !important;
    }

    .acct-perm-chip {
      border-radius: 13px !important;
      padding: 4.6px 12px !important;
    }

    .acct-save-row {
      margin: 4px 0 15.6px !important;
    }

    .acct-danger-panel {
      border-radius: 9.1px !important;
      margin-bottom: 14px !important;
      padding: 15.6px !important;
    }

    .hero-section {
      padding-top: 88px !important;
      padding-bottom: 36px !important;
    }

    .ls-section, .pl-section, .hw-section, .wi-section, .cta-section {
      padding-top: 56px !important;
      padding-bottom: 56px !important;
    }

    .landing-section-header {
      margin-bottom: 30px !important;
    }

    .landing-section-title {
      margin-bottom: 14px !important;
      line-height: 1.25 !important;
    }

    .landing-section-subtitle {
      line-height: 1.5 !important;
    }

    .landing-tile, .wi-card {
      padding: 24px 20px !important;
    }

    .pl-tile-title, .wi-card-title, .ls-feature-title, .hw-step-title {
      margin-bottom: 10px !important;
      line-height: 1.3 !important;
    }

    .landing-icon-tile {
      margin-bottom: 14px !important;
    }

    .ls-feature, .hw-step {
      margin-bottom: 22px !important;
    }

    .wi-card-list li, .ls-feature-list li {
      margin-bottom: 8px !important;
    }

    .hero-cta-block {
      margin-top: 26px !important;
    }

    .cta-final-subhead {
      margin-bottom: 30px !important;
    }

    .hero-cta-fineprint, .cta-final-fineprint, .hero-cta-invite, .cta-final-invite {
      margin-top: 14px !important;
    }
  }

  .site-header {
    z-index: 50;
    padding: 16px 24px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }

  .site-header-inner {
    justify-content: flex-end;
    align-items: center;
    display: flex;
  }

  .header-nav-link {
    color: var(--color-neutral-400);
    cursor: pointer;
    white-space: nowrap;
    background: none;
    border: none;
    border-radius: 6px;
    align-items: center;
    padding: 8px 14px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    transition: color .2s, background-color .2s;
    display: inline-flex;
  }

  .header-nav-link:hover {
    color: var(--color-neutral-500);
    background-color: var(--color-neutral-100);
  }

  .header-dropdown-link {
    color: var(--color-neutral-400);
    white-space: nowrap;
    padding: 8px 16px;
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    transition: color .15s, background-color .15s;
    display: block;
  }

  .header-dropdown-link:hover {
    color: var(--color-neutral-500);
    background-color: var(--color-neutral-100);
  }

  .header-mobile-link {
    color: var(--color-neutral-500);
    border-bottom: 1px solid var(--color-neutral-100);
    padding: 12px 0;
    font-size: 16px;
    font-weight: 500;
    text-decoration: none;
    transition: color .15s;
    display: block;
  }

  .header-mobile-link:hover {
    color: var(--color-primary);
  }

  .sidebar-nav-link {
    color: var(--color-neutral-400);
    white-space: nowrap;
    border-radius: 8px;
    align-items: center;
    gap: 12px;
    margin-bottom: 2px;
    padding: 10px 12px;
    text-decoration: none;
    transition: color .15s, background-color .15s;
    display: flex;
    overflow: hidden;
  }

  .sidebar-nav-link:hover {
    color: var(--color-neutral-500);
    background-color: var(--color-neutral-100);
  }

  .sidebar-nav-icon {
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    display: flex;
  }

  .sidebar-nav-label {
    white-space: nowrap;
    font-size: 14px;
    font-weight: 500;
    overflow: hidden;
  }

  .animate-fade-in-up {
    opacity: 0;
    animation: .7s ease-out forwards fadeInUp;
  }

  .animate-fade-in {
    opacity: 0;
    animation: .5s ease-out forwards fadeIn;
  }

  .animate-scale-in {
    opacity: 0;
    animation: .5s ease-out forwards scaleIn;
  }

  .animate-float {
    animation: 6s ease-in-out infinite float;
  }

  .delay-100 {
    animation-delay: .1s;
  }

  .delay-200 {
    animation-delay: .2s;
  }

  .delay-300 {
    animation-delay: .3s;
  }

  .delay-400 {
    animation-delay: .4s;
  }

  .delay-500 {
    animation-delay: .5s;
  }

  @media (max-width: 768px) {
    .animate-fade-in-up, .animate-fade-in, .animate-scale-in {
      opacity: 1;
      animation: none;
    }
  }

  .transition-premium, .hover-lift {
    transition: all .3s cubic-bezier(.4, 0, .2, 1);
  }

  .hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 25px -5px #0000001a;
  }

  .section-title {
    border-top: 1px solid #1c1c1c1a;
    border-bottom: 1px solid #1c1c1c1a;
    justify-content: center;
    align-items: center;
    margin-top: 5rem;
    margin-bottom: 0;
    padding-top: .75rem;
    padding-bottom: .75rem;
    display: flex;
  }

  .section-title h2 {
    color: #1c1c1c;
    margin: 0;
  }

  .footer-social-button {
    background: var(--color-white);
    cursor: pointer;
    border-radius: 9999px;
    justify-content: center;
    align-items: center;
    width: 2.25rem;
    height: 2.25rem;
    transition: all .2s;
    display: flex;
  }

  .footer-social-button:hover {
    transform: scale(1.1);
    box-shadow: 0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;
  }
}

@layer components;

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

  .collapse {
    visibility: collapse;
  }

  .invisible {
    visibility: hidden;
  }

  .visible {
    visibility: visible;
  }

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

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .sticky {
    position: sticky;
  }

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

  .start {
    inset-inline-start: var(--spacing);
  }

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

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

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

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

  .top-full {
    top: 100%;
  }

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

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

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

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

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

  .isolate {
    isolation: isolate;
  }

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

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

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

  .container {
    width: 100%;
  }

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

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

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

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

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

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

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

  .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-6 {
    margin-top: calc(var(--spacing) * 6);
  }

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

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

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

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

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

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

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

  .block {
    display: block;
  }

  .contents {
    display: contents;
  }

  .flex {
    display: flex;
  }

  .grid {
    display: grid;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

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

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

  .table {
    display: table;
  }

  .table-row {
    display: table-row;
  }

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

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

  .h-full {
    height: 100%;
  }

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

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

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

  .w-full {
    width: 100%;
  }

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

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

  .flex-1 {
    flex: 1;
  }

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

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

  .shrink {
    flex-shrink: 1;
  }

  .grow {
    flex-grow: 1;
  }

  .border-collapse {
    border-collapse: collapse;
  }

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

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

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

  .resize {
    resize: both;
  }

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

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

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

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

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

  .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-2 {
    gap: calc(var(--spacing) * 2);
  }

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

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

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

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

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

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

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

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

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

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

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

  .border-t-transparent {
    border-top-color: #0000;
  }

  .bg-green-500\/15 {
    background-color: #00c75826;
  }

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

  .bg-red-500\/15 {
    background-color: #fb2c3626;
  }

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

  .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-2 {
    padding-inline: calc(var(--spacing) * 2);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-\[0\.8125rem\] {
    font-size: .8125rem;
  }

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

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

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

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

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

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

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

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

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

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

  .capitalize {
    text-transform: capitalize;
  }

  .lowercase {
    text-transform: lowercase;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

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

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

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

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

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

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

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

  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .drop-shadow {
    --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, #0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color, #0000000f));
    --tw-drop-shadow: drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, 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-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));
  }

  .delay-200 {
    transition-delay: .2s;
  }

  .delay-300 {
    transition-delay: .3s;
  }

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

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

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

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

  .delay-200 {
    --tw-animation-delay: .2s;
    animation-delay: .2s;
  }

  .delay-300 {
    --tw-animation-delay: .3s;
    animation-delay: .3s;
  }

  .fade-in {
    --tw-enter-opacity: 0;
  }

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

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

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

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

  @media (min-width: 48rem) {
    .md\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }

  @media (min-width: 64rem) {
    .lg\:block {
      display: block;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

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

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

    .lg\:p-12 {
      padding: calc(var(--spacing) * 12);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(24px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

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

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

@keyframes scrollMosaic {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-50%);
  }
}

@media print {
  header, footer, nav, .no-print {
    display: none !important;
  }

  body {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    color: #000 !important;
    background: #fff !important;
  }

  .shadow, .shadow-sm, .shadow-md, .shadow-lg {
    box-shadow: none !important;
  }

  .border-b, .border {
    border: none !important;
  }

  .rounded-xl, .rounded-lg {
    border-radius: 0 !important;
  }

  @page {
    margin: 2cm;
  }
}

@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-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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

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

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

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

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

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

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

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

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

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

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

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

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

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

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

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

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