/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/fonts.css [app-client] (css) */


/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/colors.css [app-client] (css) */
:root {
  --brand-50: #eef2fb;
  --brand-100: #d9e2f4;
  --brand-200: #b4c5e8;
  --brand-300: #87a0d6;
  --brand-400: #5b78bf;
  --brand-500: #3a57a3;
  --brand-600: #284084;
  --brand-700: #11306c;
  --brand-800: #0d2455;
  --brand-900: #0a1b40;
  --brand-950: #06112a;
  --neutral-0: #fff;
  --neutral-25: #fbfcfe;
  --neutral-50: #f5f7fa;
  --neutral-100: #eceff4;
  --neutral-150: #e2e7ee;
  --neutral-200: #d4dae3;
  --neutral-300: #b6bfcd;
  --neutral-400: #8a95a8;
  --neutral-500: #647085;
  --neutral-600: #4a5568;
  --neutral-700: #353e4f;
  --neutral-800: #232b39;
  --neutral-850: #1a2130;
  --neutral-900: #131925;
  --neutral-950: #0c1019;
  --green-50: #e8f6ef;
  --green-100: #c8ecda;
  --green-300: #5ec48d;
  --green-500: #1f8a5b;
  --green-600: #15724a;
  --green-700: #0f5638;
  --amber-50: #fdf3e3;
  --amber-100: #fae3bd;
  --amber-300: #eab456;
  --amber-500: #b7791f;
  --amber-600: #965f15;
  --amber-700: #73480f;
  --red-50: #fcebea;
  --red-100: #f8d2cf;
  --red-300: #e87a72;
  --red-500: #c8312b;
  --red-600: #a52520;
  --red-700: #7e1b17;
  --blue-50: #e9f0fc;
  --blue-100: #cfe0f8;
  --blue-300: #6f9be8;
  --blue-500: #2f5fc4;
  --blue-600: #234aa0;
  --blue-700: #1a3877;
  --violet-50: #eeebfb;
  --violet-100: #dcd5f6;
  --violet-300: #9a86e0;
  --violet-500: #5b43c4;
  --violet-600: #4733a0;
  --violet-700: #352778;
  --teal-50: #e3f5f4;
  --teal-100: #bee9e7;
  --teal-300: #54c4be;
  --teal-500: #138a83;
  --teal-600: #0e6f69;
  --teal-700: #0a534f;
}

:root, [data-theme="light"] {
  --lightningcss-light: initial;
  --lightningcss-dark: ;
  color-scheme: light;
  --bg-base: var(--neutral-50);
  --bg-subtle: var(--neutral-100);
  --surface: var(--neutral-0);
  --surface-raised: var(--neutral-0);
  --surface-sunken: var(--neutral-50);
  --surface-hover: var(--neutral-50);
  --surface-active: var(--neutral-100);
  --overlay: #0c101973;
  --border: var(--neutral-200);
  --border-strong: var(--neutral-300);
  --border-subtle: var(--neutral-150);
  --border-hover: var(--neutral-400);
  --text-primary: var(--neutral-900);
  --text-secondary: var(--neutral-600);
  --text-muted: var(--neutral-500);
  --text-disabled: var(--neutral-400);
  --text-inverse: var(--neutral-0);
  --text-on-brand: #fff;
  --primary: var(--brand-700);
  --primary-hover: var(--brand-800);
  --primary-active: var(--brand-900);
  --primary-subtle: var(--brand-50);
  --primary-subtle-hover: var(--brand-100);
  --on-primary: #fff;
  --accent: var(--brand-500);
  --accent-text: var(--brand-700);
  --ring: var(--brand-500);
  --success: var(--green-500);
  --success-subtle: var(--green-50);
  --success-text: var(--green-700);
  --warning: var(--amber-500);
  --warning-subtle: var(--amber-50);
  --warning-text: var(--amber-700);
  --danger: var(--red-500);
  --danger-subtle: var(--red-50);
  --danger-text: var(--red-700);
  --info: var(--blue-500);
  --info-subtle: var(--blue-50);
  --info-text: var(--blue-700);
  --viz-1: var(--brand-500);
  --viz-2: var(--teal-500);
  --viz-3: var(--violet-500);
  --viz-4: var(--amber-500);
  --viz-5: var(--green-500);
  --viz-6: var(--red-500);
  --viz-track: var(--neutral-150);
}

[data-theme="dark"] {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  --bg-base: var(--neutral-950);
  --bg-subtle: var(--neutral-900);
  --surface: var(--neutral-850);
  --surface-raised: var(--neutral-800);
  --surface-sunken: var(--neutral-900);
  --surface-hover: var(--neutral-800);
  --surface-active: var(--neutral-700);
  --overlay: #03060c9e;
  --border: var(--neutral-700);
  --border-strong: var(--neutral-600);
  --border-subtle: var(--neutral-800);
  --border-hover: var(--neutral-500);
  --text-primary: var(--neutral-50);
  --text-secondary: var(--neutral-300);
  --text-muted: var(--neutral-400);
  --text-disabled: var(--neutral-600);
  --text-inverse: var(--neutral-900);
  --text-on-brand: #fff;
  --primary: var(--brand-300);
  --primary-hover: var(--brand-200);
  --primary-active: var(--brand-100);
  --primary-subtle: #5b78bf29;
  --primary-subtle-hover: #5b78bf42;
  --on-primary: var(--brand-950);
  --accent: var(--brand-300);
  --accent-text: var(--brand-300);
  --ring: var(--brand-300);
  --success: var(--green-300);
  --success-subtle: #5ec48d29;
  --success-text: var(--green-300);
  --warning: var(--amber-300);
  --warning-subtle: #eab45629;
  --warning-text: var(--amber-300);
  --danger: var(--red-300);
  --danger-subtle: #e87a7229;
  --danger-text: var(--red-300);
  --info: var(--blue-300);
  --info-subtle: #6f9be829;
  --info-text: var(--blue-300);
  --viz-1: var(--brand-300);
  --viz-2: var(--teal-300);
  --viz-3: var(--violet-300);
  --viz-4: var(--amber-300);
  --viz-5: var(--green-300);
  --viz-6: var(--red-300);
  --viz-track: var(--neutral-700);
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/status.css [app-client] (css) */
:root {
  --status-neutral-fg: var(--text-secondary);
  --status-neutral-bg: var(--bg-subtle);
  --status-info-fg: var(--info-text);
  --status-info-bg: var(--info-subtle);
  --status-success-fg: var(--success-text);
  --status-success-bg: var(--success-subtle);
  --status-warning-fg: var(--warning-text);
  --status-warning-bg: var(--warning-subtle);
  --status-danger-fg: var(--danger-text);
  --status-danger-bg: var(--danger-subtle);
  --status-active-fg: var(--accent-text);
  --status-active-bg: var(--primary-subtle);
  --status-draft-fg: var(--status-neutral-fg);
  --status-draft-bg: var(--status-neutral-bg);
  --status-published-fg: var(--status-success-fg);
  --status-published-bg: var(--status-success-bg);
  --status-archived-fg: var(--text-muted);
  --status-archived-bg: var(--bg-subtle);
  --status-inprogress-fg: var(--status-active-fg);
  --status-inprogress-bg: var(--status-active-bg);
  --status-submitted-fg: var(--status-info-fg);
  --status-submitted-bg: var(--status-info-bg);
  --status-graded-fg: var(--status-success-fg);
  --status-graded-bg: var(--status-success-bg);
  --status-expired-fg: var(--status-warning-fg);
  --status-expired-bg: var(--status-warning-bg);
  --status-pendingmanual-fg: var(--status-warning-fg);
  --status-pendingmanual-bg: var(--status-warning-bg);
  --status-pendingmachine-fg: var(--status-info-fg);
  --status-pendingmachine-bg: var(--status-info-bg);
  --status-error-fg: var(--status-danger-fg);
  --status-error-bg: var(--status-danger-bg);
  --status-correct-fg: var(--status-success-fg);
  --status-correct-bg: var(--status-success-bg);
  --status-incorrect-fg: var(--status-danger-fg);
  --status-incorrect-bg: var(--status-danger-bg);
  --status-partial-fg: var(--status-warning-fg);
  --status-partial-bg: var(--status-warning-bg);
  --status-pending-fg: var(--status-neutral-fg);
  --status-pending-bg: var(--status-neutral-bg);
  --status-started-fg: var(--status-active-fg);
  --status-started-bg: var(--status-active-bg);
  --status-revoked-fg: var(--status-danger-fg);
  --status-revoked-bg: var(--status-danger-bg);
  --status-open-fg: var(--status-info-fg);
  --status-open-bg: var(--status-info-bg);
  --status-flagged-fg: var(--status-warning-fg);
  --status-flagged-bg: var(--status-warning-bg);
  --status-reviewed-fg: var(--status-neutral-fg);
  --status-reviewed-bg: var(--status-neutral-bg);
  --status-cleared-fg: var(--status-success-fg);
  --status-cleared-bg: var(--status-success-bg);
  --status-low-fg: var(--status-success-fg);
  --status-low-bg: var(--status-success-bg);
  --status-medium-fg: var(--status-warning-fg);
  --status-medium-bg: var(--status-warning-bg);
  --status-high-fg: var(--status-danger-fg);
  --status-high-bg: var(--status-danger-bg);
  --status-locked-fg: var(--text-muted);
  --status-locked-bg: var(--bg-subtle);
  --risk-low: var(--success);
  --risk-medium: var(--warning);
  --risk-high: var(--danger);
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/typography.css [app-client] (css) */
:root {
  --font-sans: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --lh-tight: 1.15;
  --lh-snug: 1.3;
  --lh-normal: 1.5;
  --lh-relaxed: 1.65;
  --tracking-tight: -.02em;
  --tracking-snug: -.01em;
  --tracking-normal: 0;
  --tracking-wide: .04em;
  --text-display: 3rem;
  --text-display-lh: 1.08;
  --text-h1: 2.25rem;
  --text-h1-lh: 1.15;
  --text-h2: 1.75rem;
  --text-h2-lh: 1.2;
  --text-h3: 1.375rem;
  --text-h3-lh: 1.3;
  --text-h4: 1.125rem;
  --text-h4-lh: 1.4;
  --text-h5: 1rem;
  --text-h5-lh: 1.4;
  --text-h6: .875rem;
  --text-h6-lh: 1.4;
  --text-body-lg: 1.0625rem;
  --text-body: .9375rem;
  --text-body-sm: .875rem;
  --text-label: .8125rem;
  --text-caption: .75rem;
  --text-overline: .6875rem;
  --text-code: .8125rem;
}

.t-display {
  font-family: var(--font-display);
  font-size: var(--text-display);
  line-height: var(--text-display-lh);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tight);
}

.t-h1 {
  font-size: var(--text-h1);
  line-height: var(--text-h1-lh);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-tight);
}

.t-h2 {
  font-size: var(--text-h2);
  line-height: var(--text-h2-lh);
  font-weight: var(--fw-bold);
  letter-spacing: var(--tracking-snug);
}

.t-h3 {
  font-size: var(--text-h3);
  line-height: var(--text-h3-lh);
  font-weight: var(--fw-semibold);
}

.t-body {
  font-size: var(--text-body);
  line-height: var(--lh-normal);
  font-weight: var(--fw-regular);
}

.t-label {
  font-size: var(--text-label);
  line-height: var(--lh-snug);
  font-weight: var(--fw-semibold);
}

.t-overline {
  font-size: var(--text-overline);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--tracking-wide);
  text-transform: uppercase;
}

.t-mono {
  font-family: var(--font-mono);
  font-size: var(--text-code);
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/spacing.css [app-client] (css) */
:root {
  --space-0: 0;
  --space-px: 1px;
  --space-0_5: .125rem;
  --space-1: .25rem;
  --space-1_5: .375rem;
  --space-2: .5rem;
  --space-2_5: .625rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 1.75rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-xl: 16px;
  --radius-2xl: 22px;
  --radius-pill: 999px;
  --radius-circle: 50%;
  --control-sm: 32px;
  --control-md: 40px;
  --control-lg: 48px;
  --sidebar-w: 256px;
  --sidebar-collapsed-w: 64px;
  --topbar-h: 60px;
  --container-max: 1280px;
  --content-max: 920px;
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/elevation.css [app-client] (css) */
:root, [data-theme="light"] {
  --shadow-xs: 0 1px 2px #0c10190f;
  --shadow-sm: 0 1px 3px #0c101914, 0 1px 2px #0c10190a;
  --shadow-md: 0 4px 12px #0c101914, 0 2px 4px #0c10190d;
  --shadow-lg: 0 12px 28px #0c10191f, 0 4px 10px #0c10190f;
  --shadow-xl: 0 24px 56px #0c10192e, 0 8px 16px #0c101914;
  --shadow-focus: 0 0 0 3px var(--ring-faint);
  --ring-faint: #3a57a352;
}

[data-theme="dark"] {
  --shadow-xs: 0 1px 2px #0006;
  --shadow-sm: 0 1px 3px #00000080;
  --shadow-md: 0 6px 16px #00000080;
  --shadow-lg: 0 16px 36px #0000008c;
  --shadow-xl: 0 28px 64px #000000a6;
  --ring-faint: #87a0d666;
}

:root {
  --focus-ring-width: 3px;
  --focus-ring: var(--focus-ring-width) solid var(--ring);
  --focus-ring-offset: 2px;
  --ease-standard: cubic-bezier(.2, 0, 0, 1);
  --ease-emphasized: cubic-bezier(.2, 0, 0, 1.2);
  --ease-out: cubic-bezier(0, 0, .2, 1);
  --ease-in: cubic-bezier(.4, 0, 1, 1);
  --duration-instant: 80ms;
  --duration-fast: .14s;
  --duration-base: .22s;
  --duration-slow: .36s;
  --z-base: 0;
  --z-sticky: 100;
  --z-dropdown: 1000;
  --z-drawer: 1100;
  --z-modal: 1200;
  --z-toast: 1300;
  --z-tooltip: 1400;
  --bp-sm: 640px;
  --bp-md: 768px;
  --bp-lg: 1024px;
  --bp-xl: 1280px;
  --bp-2xl: 1536px;
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --duration-instant: 0s;
    --duration-fast: 0s;
    --duration-base: 0s;
    --duration-slow: 0s;
  }
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/base.css [app-client] (css) */
*, :before, :after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--font-sans);
  font-size: var(--text-body);
  line-height: var(--lh-normal);
  color: var(--text-primary);
  background: var(--bg-base);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: background-color var(--duration-base) var(--ease-standard), color var(--duration-base) var(--ease-standard);
  margin: 0;
}

h1, h2, h3, h4, h5, h6, p, figure {
  margin: 0;
}

a {
  color: var(--accent-text);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

button {
  font-family: inherit;
}

:focus-visible {
  outline: var(--focus-ring);
  outline-offset: var(--focus-ring-offset);
  border-radius: var(--radius-xs);
}

::selection {
  background: var(--primary-subtle);
  color: var(--text-primary);
}

* {
  scrollbar-color: var(--border-strong) transparent;
  scrollbar-width: thin;
}

::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

::-webkit-scrollbar-thumb {
  background: var(--border-strong);
  border-radius: var(--radius-pill);
  background-clip: padding-box;
  border: 2px solid #0000;
}

::-webkit-scrollbar-thumb:hover {
  background: var(--neutral-400);
}

code, pre, kbd {
  font-family: var(--font-mono);
  font-size: var(--text-code);
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/tokens/accessibility.css [app-client] (css) */
:where(button, a[href], [role="button"], [role="tab"], [role="switch"], [role="menuitem"], [role="menuitemradio"], [role="option"], [role="link"], summary, [tabindex]):focus-visible {
  outline: var(--focus-ring-width, 3px) solid var(--ring);
  outline-offset: var(--focus-ring-offset, 2px);
}

select:focus-visible, textarea:focus-visible {
  outline: none;
}

select:focus-visible {
  outline: var(--focus-ring-width, 3px) solid var(--ring);
  outline-offset: var(--focus-ring-offset, 2px);
}

input[type="checkbox"]:focus-visible + span, input[type="radio"]:focus-visible + span {
  outline: var(--focus-ring-width, 3px) solid var(--ring);
  outline-offset: var(--focus-ring-offset, 2px);
  border-radius: var(--radius-xs);
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  position: absolute !important;
}

.skip-link {
  z-index: var(--z-max, 2147480000);
  background: var(--surface-raised);
  color: var(--accent-text);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-lg);
  font-weight: var(--fw-semibold);
  transition: transform var(--duration-fast) var(--ease-standard);
  padding: 10px 16px;
  position: fixed;
  top: 8px;
  left: 8px;
  transform: translateY(-150%);
}

.skip-link:focus {
  transform: translateY(0);
}

/* [project]/node_modules/.pnpm/@alumys-platform+components_8632eeba20e19e287ecf3fbbacab5fd6/node_modules/@alumys-platform/components/styles/styles.css [app-client] (css) */
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type="number"] {
  appearance: textfield;
}

/* [project]/src/app/globals.css [app-client] (css) */
* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  font-family: var(--font-sans);
  background: var(--bg-base);
  color: var(--text-primary);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  margin: 0;
}

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

.alumys-logo-img {
  width: auto;
  display: block;
}

.logo-dark, [data-theme="dark"] .logo-light {
  display: none;
}

[data-theme="dark"] .logo-dark {
  display: block;
}

@media (max-width: 768px) {
  .auth-brand {
    display: none !important;
  }

  .auth-form-pad {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .m-stack {
    grid-template-columns: 1fr !important;
  }

  .m-wrap {
    flex-wrap: wrap !important;
  }

  .m-full {
    width: 100% !important;
  }

  .m-hide {
    display: none !important;
  }
}

.drawer-burger, .drawer-overlay {
  display: none;
}

@media (max-width: 768px) {
  .app-drawer > div > aside {
    z-index: 60;
    max-width: 82vw;
    box-shadow: var(--shadow-lg);
    top: 0;
    left: 0;
    transform: translateX(-100%);
    height: 100vh !important;
    width: var(--sidebar-w) !important;
    transition: transform .24s var(--ease-standard, ease) !important;
    position: fixed !important;
  }

  .app-drawer.drawer-open > div > aside {
    transform: translateX(0);
  }

  .drawer-overlay {
    z-index: 55;
    opacity: 0;
    pointer-events: none;
    background: #0f172a80;
    transition: opacity .24s;
    display: block;
    position: fixed;
    inset: 0;
  }

  .app-drawer.drawer-open .drawer-overlay {
    opacity: 1;
    pointer-events: auto;
  }

  .drawer-burger {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface);
    width: 40px;
    height: 40px;
    color: var(--text-secondary);
    cursor: pointer;
    flex: none;
    justify-content: center;
    align-items: center;
    margin-right: 4px;
    display: inline-flex;
  }

  .app-drawer button[aria-label="Toggle sidebar"] {
    display: none !important;
  }
}

/*# sourceMappingURL=_a95a9342._.css.map*/