/* GoStudent brand theme — base tokens + GS brand colours + semantic tokens */
/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --breakpoint-desktop-screen-width: 1440px;
  --breakpoint-tablet-screen-width: 1024px;
  --breakpoint-mobile-screen-width: 640px;
  --breakpoint-layout-content-max-width: 1134px;
  --breakpoint-tooltip-content-max-width: 200px;
  --error-50: #ffefee;
  --error-500: #cc2f1f;
  --error-700: #770f05;
  --success-50: #f2faf6;
  --success-500: #4a9a6f;
  --success-700: #224632;
  --warning-50: #fffcf3;
  --warning-500: #f4c244;
  --warning-900: #976c00;
  --color-black: #000000;
  --color-white: #ffffff;
  --color-transparent: rgba(255, 255, 255, 0);
  --steel-50: #f8f8fa;
  --steel-100: #f0f1f4;
  --steel-200: #e9e9ef;
  --steel-300: #dadbe5;
  --steel-400: #c3c5d5;
  --steel-500: #555978;
  --steel-600: #43465f;
  --steel-700: #35384b;
  --steel-800: #232532;
  --steel-900: #131e29;
  --grey-50: #f6f6f7;
  --grey-100: #eaebee;
  --grey-200: #dcdee3;
  --grey-300: #caced4;
  --grey-400: #c2c6ce;
  --grey-500: #a0a6b2;
  --grey-600: #838892;
  --grey-700: #656d7c;
  --grey-800: #434853;
  --grey-900: #32363e;
  --in-progress-light: #c5e9d5;
  --in-progress-dark: #5dc18b;
  --spacing-xxs: 0.5rem;
  --spacing-3xl: 4rem;
  --spacing-2xl: 3.5rem;
  --spacing-xl: 3rem;
  --spacing-lg: 2.5rem;
  --spacing-xs: 1rem;
  --spacing-md: 2rem;
  --spacing-sm: 1.5rem;
  --spacing-3xs: 0.25rem;
  --radius-xs: 0.25rem;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-lg: 1rem;
  --radius-xl: 1.5rem;
  --radius-full: 62.5rem;
  --border-sm: 0.125rem;
  --border-md: 0.1875rem;
  --border-lg: 0.25rem;
  --border-xs: 0.0625rem;
  --avatar-sm: 2rem;
  --avatar-md: 2.5rem;
  --avatar-lg: 3rem;
  --avatar-xs: 1.5rem;
  --icon-button-sm: 1.5rem;
  --icon-button-md: 2rem;
  --icon-button-lg: 2.5rem;
  --icon-sm: 1rem;
  --icon-md: 1.25rem;
  --icon-lg: 1.5rem;
  --icon-xl: 2rem;
  --icon-xxl: 2.5rem;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --blue-50: #f4f6fb;
  --blue-100: #e3e8f6;
  --blue-200: #9dacde;
  --blue-300: #6d82cd;
  --blue-400: #3c59bd;
  --blue-500: #0b2fac;
  --blue-600: #09268a;
  --blue-700: #071c67;
  --blue-800: #041345;
  --blue-900: #020922;
  --purple-50: #f8f5ff;
  --purple-100: #ece6ff;
  --purple-200: #d9ccff;
  --purple-300: #c5b3ff;
  --purple-400: #b09df9;
  --purple-500: #9f80ff;
  --purple-600: #7b62d7;
  --purple-700: #5b3ab7;
  --purple-800: #390293;
  --purple-900: #20005e;
  --orange-50: #fff3f1;
  --orange-100: #ffe1db;
  --orange-200: #ffc4b7;
  --orange-300: #ffa692;
  --orange-400: #ff896e;
  --orange-500: #ff6b4a;
  --orange-600: #e55232;
  --orange-700: #c83e20;
  --orange-800: #a1321a;
  --orange-900: #6f1f0e;
  --green-50: #f2faf6;
  --green-100: #e6f5ed;
  --green-200: #c5e9d5;
  --green-300: #9edaba;
  --green-400: #7dcda2;
  --green-500: #5dc18b;
  --green-600: #4a9a6f;
  --green-700: #387554;
  --green-800: #2c5c42;
  --green-900: #224632;
  --yellow-50: #fffcf3;
  --yellow-100: #fff6e0;
  --yellow-200: #ffedc1;
  --yellow-300: #ffe5a1;
  --yellow-400: #ffdc82;
  --yellow-500: #ffd363;
  --yellow-600: #f4c244;
  --yellow-700: #dca826;
  --yellow-800: #bc8909;
  --yellow-900: #976c00;
  --pink-50: #fff6f9;
  --pink-100: #ffedf4;
  --pink-200: #ffdbe9;
  --pink-300: #ffc8dd;
  --pink-400: #ffb6d2;
  --pink-500: #ffa4c7;
  --pink-600: #ff80b1;
  --pink-700: #ee5f96;
  --pink-800: #c53b75;
  --pink-900: #9b1355;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

[data-theme="gs"] {
  --color-button-primary-background-default: #0b2fac;
  --color-button-primary-background-hover: #071c67;
  --color-button-primary-background-pressed: #041345;
  --color-button-primary-background-disabled: #e9e9ef;
  --color-button-primary-background-focus: #0b2fac;
  --color-button-primary-text-default: #ffffff;
  --color-button-primary-text-disabled: #c3c5d5;
  --color-button-primary-border-focus-ring: #0b2fac;
  --color-button-primary-border-disabled: #c3c5d5;
  --color-button-primary-border-focus: #ffffff;
  --color-button-secondary-background-default: #ffffff;
  --color-button-secondary-background-hover: #e3e8f6;
  --color-button-secondary-background-pressed: #9dacde;
  --color-button-secondary-background-disabled: #ffffff;
  --color-button-secondary-background-focus: #ffffff;
  --color-button-secondary-border-default: #0b2fac;
  --color-button-secondary-border-focus: #0b2fac;
  --color-button-secondary-border-disabled: #dcdee3;
  --color-button-secondary-border-hover: #6d82cd;
  --color-button-secondary-border-pressed: #6d82cd;
  --color-button-secondary-border-focus-ring: #0b2fac;
  --color-button-secondary-text-default-focus: #0b2fac;
  --color-button-secondary-text-hover-pressed: #0b2fac;
  --color-button-secondary-text-disabled: #c2c6ce;
  --color-button-link-background-default: rgba(255, 255, 255, 0);
  --color-button-link-background-hover: #f4f6fb;
  --color-button-link-background-pressed: #e3e8f6;
  --color-button-link-background-focus: #ffffff;
  --color-button-link-background-disabled: rgba(255, 255, 255, 0);
  --color-button-link-text-default: #0b2fac;
  --color-button-link-text-hover: #071c67;
  --color-button-link-text-pressed: #071c67;
  --color-button-link-text-disabled: #caced4;
  --color-button-link-text-focus: #0b2fac;
  --color-button-link-border-focus: #0b2fac;
  --color-overlay-50: rgba(85, 89, 120, 0.3);
  --color-feedback-positive-background: #f2faf6;
  --color-feedback-positive-icon: #4a9a6f;
  --color-feedback-positive-border: #4a9a6f;
  --color-feedback-positive-helper-text: #4a9a6f;
  --color-feedback-positive-text: #224632;
  --color-feedback-negative-background: #ffefee;
  --color-feedback-negative-icon: #cc2f1f;
  --color-feedback-negative-border: #cc2f1f;
  --color-feedback-negative-helper-text: #cc2f1f;
  --color-feedback-negative-text: #770f05;
  --color-feedback-warning-background: #fffcf3;
  --color-feedback-warning-icon: #f4c244;
  --color-feedback-warning-border: #f4c244;
  --color-feedback-warning-helper-text: #f4c244;
  --color-feedback-warning-text: #131e29;
  --color-feedback-error-icon: #cc2f1f;
  --color-feedback-error-text: #cc2f1f;
  --color-surface-default: #ffffff;
  --color-surface-subtle-steel: #f0f1f4;
  --color-surface-hover: #e3e8f6;
  --color-surface-icons-medium: #131e29;
  --color-surface-icons-default: #555978;
  --color-surface-icons-primary: #0b2fac;
  --color-surface-icons-disabled: #dadbe5;
  --color-surface-icons-tooltip: #6d82cd;
  --color-surface-icons-white: #ffffff;
  --color-surface-icons-secondary: #5b3ab7;
  --color-surface-icons-pending: #f4c244;
  --color-surface-selected: #e3e8f6;
  --color-surface-disabled: #f8f8fa;
  --color-surface-light-steel: #f8f8fa;
  --color-surface-blue: #0b2fac;
  --color-surface-stepper: #3c59bd;
  --color-surface-tooltip: #232532;
  --color-surface-calendar-date: #0b2fac;
  --color-surface-calendar-triangle: #0b2fac;
  --color-surface-calendar-dot: #f4c244;
  --color-surface-branded: #f4f6fb;
  --color-surface-pill: #f4f6fb;
  --color-border-default: #dadbe5;
  --color-border-white: #ffffff;
  --color-border-focus: #0b2fac;
  --color-border-focus-ring: #9dacde;
  --color-border-disabled: #f0f1f4;
  --color-border-medium: #c3c5d5;
  --color-border-feedback-default: #555978;
  --color-border-dark: #131e29;
  --color-border-pill: #3c59bd;
  --color-border-selected: #0b2fac;
  --color-text-primary: #131e29;
  --color-text-secondary: #555978;
  --color-text-inverse: #ffffff;
  --color-text-disabled: #c3c5d5;
  --color-text-branded: #09268a;
  --color-text-lesson-card-label: #7b62d7;
  --color-avatars-1: #ee5f96;
  --color-avatars-2: #9f80ff;
  --color-avatars-3: #5dc18b;
  --color-avatars-4: #ff6b4a;
  --color-tag-text-student: #0b2fac;
  --color-tag-text-tutor: #7b62d7;
  --color-tag-text-parent: #4a9a6f;
  --color-tag-bu-t-background: #ffedf4;
  --color-tag-bu-t-border: #ff80b1;
  --color-in-progress-border: #5dc18b;
  --color-in-progress-dot: #5dc18b;
  --color-in-progress-dot-flash: #c5e9d5;
  --color-subjects-de-bi-ph-hi: #c6005c;
  --color-subjects-it-es-tr: #db30c4;
  --color-subjects-ma: #008599;
  --color-subjects-la-ch-fr: #c83e20;
  --color-subjects-nl-en: #7b62d7;
  --color-subjects-others: #0b2fac;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --border-default: 0.125rem;
  --border-medium: 0.1875rem;
  --border-strong: 0.25rem;
  --border-thin: 0.0625rem;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

[data-theme="gs"] {
  --font-family: "Work Sans";
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 800;
  --font-size-xxs: 0.625rem;
  --font-size-xs: 0.75rem;
  --font-size-md: 1rem;
  --font-size-lg: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-2xl: 1.5rem;
  --font-size-3xl: 1.75rem;
  --font-size-4xl: 2rem;
  --font-size-sm: 0.875rem;
  --font-line-height-xxs: 1rem;
  --font-line-height-xs: 1rem;
  --font-line-height-md: 1.5rem;
  --font-line-height-lg: 1.75rem;
  --font-line-height-xl: 1.75rem;
  --font-line-height-2xl: 2rem;
  --font-line-height-3xl: 2.5rem;
  --font-line-height-4xl: 3rem;
  --font-line-height-sm: 1.25rem;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

[data-theme="gs"] {
  --font-desktop-heading-font-size-h1: 2rem;
  --font-desktop-heading-font-size-h2: 1.5rem;
  --font-desktop-heading-font-size-h3: 1.25rem;
  --font-desktop-heading-font-size-h4: 1.125rem;
  --font-desktop-heading-font-size-h5: 1rem;
  --font-desktop-heading-font-size-h6: 0.875rem;
  --font-desktop-heading-font-weight-h1: 600;
  --font-desktop-heading-font-weight-h2: 600;
  --font-desktop-heading-font-weight-h3: 600;
  --font-desktop-heading-font-weight-h4: 600;
  --font-desktop-heading-font-weight-h5: 600;
  --font-desktop-heading-font-weight-h6: 600;
  --font-desktop-heading-font-weight-bold: 700;
  --font-desktop-heading-line-height-h1: 3rem;
  --font-desktop-heading-line-height-h2: 2rem;
  --font-desktop-heading-line-height-h3: 1.75rem;
  --font-desktop-heading-line-height-h4: 1.75rem;
  --font-desktop-heading-line-height-h5: 1.5rem;
  --font-desktop-heading-line-height-h6: 1.25rem;
  --font-desktop-subtitle-font-size-md: 1.5rem;
  --font-desktop-subtitle-font-size-sm: 1.125rem;
  --font-desktop-subtitle-font-weight-md: 500;
  --font-desktop-subtitle-font-weight-sm: 400;
  --font-desktop-subtitle-line-height-md: 2rem;
  --font-desktop-subtitle-line-height-sm: 1.75rem;
  --font-desktop-body-font-weight-md: 500;
  --font-desktop-body-font-weight-sm: 400;
  --font-desktop-body-font-weight-bold: 700;
  --font-desktop-body-font-weight-semi-bold: 600;
  --font-desktop-body-font-size-md: 1rem;
  --font-desktop-body-font-size-sm: 0.875rem;
  --font-desktop-body-line-height-sm: 1.25rem;
  --font-desktop-body-line-height-md: 1.5rem;
  --font-desktop-label-font-size: 0.75rem;
  --font-desktop-label-font-weight-bold: 700;
  --font-desktop-label-font-weight-semi-bold: 600;
  --font-desktop-label-font-weight-medium: 500;
  --font-desktop-label-font-weight-regular: 400;
  --font-desktop-label-line-height: 1rem;
  --font-desktop-tooltip-font-size: 0.75rem;
  --font-desktop-tooltip-font-weight: 500;
  --font-desktop-tooltip-line-height: 1rem;
  --font-desktop-button-primary-secondary-font-size-xxs: 0.75rem;
  --font-desktop-button-primary-secondary-font-size-xs: 0.75rem;
  --font-desktop-button-primary-secondary-font-size-sm: 0.875rem;
  --font-desktop-button-primary-secondary-font-size-md: 1rem;
  --font-desktop-button-primary-secondary-font-size-lg: 1.125rem;
  --font-desktop-button-primary-secondary-font-size-xl: 1.25rem;
  --font-desktop-button-primary-secondary-line-height-xxs: 1rem;
  --font-desktop-button-primary-secondary-line-height-xs: 1rem;
  --font-desktop-button-primary-secondary-line-height-sm: 1.25rem;
  --font-desktop-button-primary-secondary-line-height-md: 1.5rem;
  --font-desktop-button-primary-secondary-line-height-lg: 1.75rem;
  --font-desktop-button-primary-secondary-line-height-xl: 1.75rem;
  --font-desktop-button-primary-secondary-font-weight: 500;
  --font-desktop-button-link-font-size-xxs: 0.625rem;
  --font-desktop-button-link-font-size-xs: 0.75rem;
  --font-desktop-button-link-font-size-sm: 0.875rem;
  --font-desktop-button-link-font-size-md: 1rem;
  --font-desktop-button-link-font-size-lg: 1.125rem;
  --font-desktop-button-link-font-size-xl: 1.25rem;
  --font-desktop-button-link-font-weight: 500;
  --font-desktop-button-link-line-height-xxs: 1rem;
  --font-desktop-button-link-line-height-xs: 1rem;
  --font-desktop-button-link-line-height-sm: 1.25rem;
  --font-desktop-button-link-line-height-md: 1.5rem;
  --font-desktop-button-link-line-height-lg: 1.75rem;
  --font-desktop-button-link-line-height-xl: 1.75rem;
}

/**
 * Do not edit directly, this file was auto-generated.
 */

[data-theme="gs"] {
  --font-mobile-heading-font-size-h1: 1.5rem;
  --font-mobile-heading-font-size-h2: 1.25rem;
  --font-mobile-heading-font-size-h3: 1.125rem;
  --font-mobile-heading-font-size-h4: 1rem;
  --font-mobile-heading-line-height-h1: 2rem;
  --font-mobile-heading-line-height-h2: 1.75rem;
  --font-mobile-heading-line-height-h3: 1.75rem;
  --font-mobile-heading-line-height-h4: 1.5rem;
  --font-mobile-heading-font-weight-h1: 600;
  --font-mobile-heading-font-weight-h2: 700;
  --font-mobile-heading-font-weight-h3: 700;
  --font-mobile-heading-font-weight-h4: 700;
  --font-mobile-subtitle-font-size-md: 1rem;
  --font-mobile-subtitle-font-size-sm: 0.875rem;
  --font-mobile-subtitle-line-height-md: 1.5rem;
  --font-mobile-subtitle-line-height-sm: 1.25rem;
  --font-mobile-subtitle-font-weight-md: 500;
  --font-mobile-subtitle-font-weight-sm: 600;
  --font-mobile-body-font-weight-md: 500;
  --font-mobile-body-font-weight-sm: 400;
  --font-mobile-body-font-size-md: 1rem;
  --font-mobile-body-font-size-sm: 0.875rem;
  --font-mobile-body-line-height-sm: 1.25rem;
  --font-mobile-body-line-height-md: 1.5rem;
}

/*
 * Z-index layering scale.
 *
 * Layering intent (low → high):
 *   dropdown (100) < sticky (200) < drawer (900) < modal (1000) < toast (1050) < tooltip (1100)
 *
 * Toast sits above modal so status feedback (e.g. a chained action inside a modal flow)
 * stays visible rather than rendering under the modal overlay.
 *
 * See confluence/z-index.md for rationale and usage guidelines.
 */

:root {
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-drawer: 900;
  --z-modal: 1000;
  --z-toast: 1050;
  --z-tooltip: 1100;
}


@font-face {
  font-family: "Work Sans";
  src: url('../fonts/work-sans-latin-400-normal.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Work Sans";
  src: url('../fonts/work-sans-latin-500-normal.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Work Sans";
  src: url('../fonts/work-sans-latin-600-normal.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Work Sans";
  src: url('../fonts/work-sans-latin-700-normal.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

[data-theme="gs"] {
  font-family: var(--font-family);
}

* {
  font-family: inherit;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
