/* [next]/internal/font/google/geist_a71539c9.module.css [app-client] (css) */
@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/53b9e256198e5412-s.390ncx5urfkfu.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7178b3e590c64307-s.21jp631_3pja2.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Fallback;
  src: local(Arial);
  ascent-override: 95.94%;
  descent-override: 28.16%;
  line-gap-override: 0.0%;
  size-adjust: 104.76%;
}

.geist_a71539c9-module__T19VSG__className {
  font-family: Geist, Geist Fallback;
  font-style: normal;
}

.geist_a71539c9-module__T19VSG__variable {
  --font-geist-sans: "Geist", "Geist Fallback";
}

/* [next]/internal/font/google/geist_mono_8d43a2aa.module.css [app-client] (css) */
@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5ce348bf30bf5439-s.31988l_ccedte.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2") format("woff2");
  unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Geist Mono;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Geist Mono Fallback;
  src: local(Arial);
  ascent-override: 74.67%;
  descent-override: 21.92%;
  line-gap-override: 0.0%;
  size-adjust: 134.59%;
}

.geist_mono_8d43a2aa-module__8Li5zG__className {
  font-family: Geist Mono, Geist Mono Fallback;
  font-style: normal;
}

.geist_mono_8d43a2aa-module__8Li5zG__variable {
  --font-geist-mono: "Geist Mono", "Geist Mono Fallback";
}

/* [project]/src/app/globals.css [app-client] (css) */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-space-y-reverse: 0;
      --tw-divide-y-reverse: 0;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-ordinal: initial;
      --tw-slashed-zero: initial;
      --tw-numeric-figure: initial;
      --tw-numeric-spacing: initial;
      --tw-numeric-fraction: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --color-red-700: #bf000f;
    --color-black: #000;
    --color-white: #fff;
    --spacing: .25rem;
    --container-xs: 20rem;
    --container-sm: 24rem;
    --container-md: 28rem;
    --container-lg: 32rem;
    --container-xl: 36rem;
    --container-2xl: 42rem;
    --container-3xl: 48rem;
    --container-5xl: 64rem;
    --container-6xl: 72rem;
    --text-xs: .75rem;
    --text-xs--line-height: calc(1 / .75);
    --text-sm: .875rem;
    --text-sm--line-height: calc(1.25 / .875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-2xl: 1.5rem;
    --text-2xl--line-height: calc(2 / 1.5);
    --text-3xl: 1.875rem;
    --text-3xl--line-height: calc(2.25 / 1.875);
    --text-4xl: 2.25rem;
    --text-4xl--line-height: calc(2.5 / 2.25);
    --text-5xl: 3rem;
    --text-5xl--line-height: 1;
    --text-6xl: 3.75rem;
    --text-6xl--line-height: 1;
    --text-7xl: 4.5rem;
    --text-7xl--line-height: 1;
    --font-weight-normal: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -.025em;
    --tracking-normal: 0em;
    --tracking-wide: .025em;
    --tracking-widest: .1em;
    --leading-tight: 1.25;
    --leading-snug: 1.375;
    --leading-relaxed: 1.625;
    --radius-md: .375rem;
    --radius-lg: .5rem;
    --radius-xl: .75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --aspect-video: 16 / 9;
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-geist-sans);
    --default-mono-font-family: var(--font-geist-mono);
  }

  @supports (color: lab(0% 0 0)) {
    :root, :host {
      --color-red-700: lab(40.4273% 67.2623 53.7441);
    }
  }
}

@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, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

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

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

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

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

  b, strong {
    font-weight: bolder;
  }

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

  small {
    font-size: 80%;
  }

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

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

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

  :-moz-focusring:where(:not(iframe)) {
    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;
  }
}

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

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

  .inset-x-0 {
    inset-inline: 0;
  }

  .top-0 {
    top: 0;
  }

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

  .top-\[max\(0\.75rem\,env\(safe-area-inset-top\)\)\] {
    top: max(.75rem, env(safe-area-inset-top));
  }

  .top-full {
    top: 100%;
  }

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

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

  .left-0 {
    left: 0;
  }

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

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

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

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

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

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

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

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

  .col-span-2 {
    grid-column: span 2 / span 2;
  }

  .container {
    width: 100%;
  }

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

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

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

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

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

  .m-0 {
    margin: 0;
  }

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

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

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

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

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

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

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

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

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

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

  .mt-auto {
    margin-top: auto;
  }

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

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

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

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

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

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

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

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

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

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

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

  .ml-1 {
    margin-left: var(--spacing);
  }

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

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

  .ml-auto {
    margin-left: auto;
  }

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

  .block {
    display: block;
  }

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

  .aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
  }

  .aspect-square {
    aspect-ratio: 1;
  }

  .aspect-video {
    aspect-ratio: var(--aspect-video);
  }

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

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

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

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

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

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

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

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

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

  .h-dvh {
    height: 100dvh;
  }

  .h-full {
    height: 100%;
  }

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

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

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

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

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

  .max-h-\[28rem\] {
    max-height: 28rem;
  }

  .max-h-\[32rem\] {
    max-height: 32rem;
  }

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

  .max-h-\[min\(70dvh\,calc\(100dvh-4\.5rem\)\)\] {
    max-height: min(70dvh, 100dvh - 4.5rem);
  }

  .max-h-dvh {
    max-height: 100dvh;
  }

  .min-h-0 {
    min-height: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .min-h-dvh {
    min-height: 100dvh;
  }

  .min-h-full {
    min-height: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

  .w-auto {
    width: auto;
  }

  .w-fit {
    width: fit-content;
  }

  .w-full {
    width: 100%;
  }

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

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

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

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

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

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

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

  .max-w-full {
    max-width: 100%;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .min-w-full {
    min-width: 100%;
  }

  .flex-1 {
    flex: 1;
  }

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

  .border-collapse {
    border-collapse: collapse;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .cursor-pointer {
    cursor: pointer;
  }

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

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

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

  .columns-2 {
    columns: 2;
  }

  .break-after-page {
    break-after: page;
  }

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

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

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

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

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

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

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

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

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

  .justify-items-stretch {
    justify-items: stretch;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .overflow-auto {
    overflow: auto;
  }

  .overflow-hidden {
    overflow: hidden;
  }

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

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

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

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

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

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

  .rounded-\[2rem\] {
    border-radius: 2rem;
  }

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

  .rounded-b-2xl {
    border-bottom-right-radius: var(--radius-2xl);
    border-bottom-left-radius: var(--radius-2xl);
  }

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

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

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

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

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

  .border-\[\#1d4e89\] {
    border-color: #1d4e89;
  }

  .border-\[\#2f6f4e\] {
    border-color: #2f6f4e;
  }

  .border-\[\#7a1f1a\] {
    border-color: #7a1f1a;
  }

  .border-\[\#64748b\] {
    border-color: #64748b;
  }

  .border-\[\#b45309\] {
    border-color: #b45309;
  }

  .border-\[\#c9a227\] {
    border-color: #c9a227;
  }

  .border-\[\#c45c26\] {
    border-color: #c45c26;
  }

  .border-\[var\(--accent\)\] {
    border-color: var(--accent);
  }

  .border-\[var\(--brand\)\] {
    border-color: var(--brand);
  }

  .border-\[var\(--line\)\] {
    border-color: var(--line);
  }

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

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

  .border-white\/20 {
    border-color: #fff3;
  }

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

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

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

  .border-white\/40 {
    border-color: #fff6;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .bg-\[rgba\(19\,67\,128\,0\.06\)\] {
    background-color: #1343800f;
  }

  .bg-\[rgba\(47\,111\,78\,0\.12\)\] {
    background-color: #2f6f4e1f;
  }

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

  .bg-\[var\(--bg-elev\)\] {
    background-color: var(--bg-elev);
  }

  .bg-\[var\(--brand\)\] {
    background-color: var(--brand);
  }

  .bg-\[var\(--brand-ink\)\] {
    background-color: var(--brand-ink);
  }

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

  .bg-\[var\(--ink\)\] {
    background-color: var(--ink);
  }

  .bg-\[var\(--ok\)\] {
    background-color: var(--ok);
  }

  .bg-\[var\(--surface\)\] {
    background-color: var(--surface);
  }

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

  .bg-black\/60 {
    background-color: #0009;
  }

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

  .bg-black\/80 {
    background-color: #000c;
  }

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

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

  .bg-white\/5 {
    background-color: #ffffff0d;
  }

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

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

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

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

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

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

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

  .object-left {
    object-position: left;
  }

  .object-top {
    object-position: top;
  }

  .p-0 {
    padding: 0;
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .py-1 {
    padding-block: var(--spacing);
  }

  .py-1\.5 {
    padding-block: calc(var(--spacing) * 1.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-6 {
    padding-block: calc(var(--spacing) * 6);
  }

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

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

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

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

  .pt-1 {
    padding-top: var(--spacing);
  }

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

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

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

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

  .pt-\[max\(0\.5rem\,env\(safe-area-inset-top\)\)\] {
    padding-top: max(.5rem, env(safe-area-inset-top));
  }

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

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

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

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

  .pb-\[calc\(1\.5rem\+env\(safe-area-inset-bottom\)\)\] {
    padding-bottom: calc(1.5rem + env(safe-area-inset-bottom));
  }

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

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

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

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

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

  .align-middle {
    vertical-align: middle;
  }

  .align-top {
    vertical-align: top;
  }

  .font-mono {
    font-family: var(--font-geist-mono);
  }

  .font-sans {
    font-family: var(--font-geist-sans);
  }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  .text-\[\#0f172a\] {
    color: #0f172a;
  }

  .text-\[\#1c2430\] {
    color: #1c2430;
  }

  .text-\[\#1f5a32\] {
    color: #1f5a32;
  }

  .text-\[\#2f6f4e\] {
    color: #2f6f4e;
  }

  .text-\[\#7a1f1a\] {
    color: #7a1f1a;
  }

  .text-\[\#7c4a03\] {
    color: #7c4a03;
  }

  .text-\[\#9b1c1c\] {
    color: #9b1c1c;
  }

  .text-\[\#64748b\] {
    color: #64748b;
  }

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

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

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

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

  .text-\[var\(--accent\)\] {
    color: var(--accent);
  }

  .text-\[var\(--brand\)\] {
    color: var(--brand);
  }

  .text-\[var\(--danger\)\] {
    color: var(--danger);
  }

  .text-\[var\(--danger\,\#9a3412\)\] {
    color: var(--danger, #9a3412);
  }

  .text-\[var\(--fg\)\] {
    color: var(--fg);
  }

  .text-\[var\(--ink\)\] {
    color: var(--ink);
  }

  .text-\[var\(--muted\)\] {
    color: var(--muted);
  }

  .text-\[var\(--ok\)\] {
    color: var(--ok);
  }

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

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

  .text-white\/55 {
    color: #ffffff8c;
  }

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

  .text-white\/60 {
    color: #fff9;
  }

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

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

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

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

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

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

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

  .text-white\/85 {
    color: #ffffffd9;
  }

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

  .capitalize {
    text-transform: capitalize;
  }

  .uppercase {
    text-transform: uppercase;
  }

  .italic {
    font-style: italic;
  }

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

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

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

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

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

  .opacity-60 {
    opacity: .6;
  }

  .opacity-80 {
    opacity: .8;
  }

  .shadow-\[0_8px_18px_rgba\(19\,67\,128\,0\.22\)\] {
    --tw-shadow: 0 8px 18px var(--tw-shadow-color, #13438038);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }

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

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

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

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

  .ring-\[var\(--brand\)\] {
    --tw-ring-color: var(--brand);
  }

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

  .ring-white\/20 {
    --tw-ring-color: #fff3;
  }

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

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

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

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

  @media (hover: hover) {
    .hover\:border-\[var\(--brand\)\]:hover {
      border-color: var(--brand);
    }

    .hover\:bg-\[var\(--surface\)\]:hover {
      background-color: var(--surface);
    }

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

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

    .hover\:bg-white\/25:hover {
      background-color: #ffffff40;
    }

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

    .hover\:text-\[var\(--brand\)\]:hover {
      color: var(--brand);
    }

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

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

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

  @media (min-width: 40rem) {
    .sm\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .sm\:aspect-auto {
      aspect-ratio: auto;
    }

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

    .sm\:w-auto {
      width: auto;
    }

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

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

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

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

    .sm\:grid-cols-\[1fr_auto\] {
      grid-template-columns: 1fr auto;
    }

    .sm\:justify-items-end {
      justify-items: end;
    }

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

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

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

  @media (min-width: 48rem) {
    .md\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .md\:col-span-3 {
      grid-column: span 3 / span 3;
    }

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

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

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

    .md\:grid-cols-\[1fr_auto_auto\] {
      grid-template-columns: 1fr auto auto;
    }

    .md\:grid-cols-\[auto_1fr_6rem_1fr\] {
      grid-template-columns: auto 1fr 6rem 1fr;
    }
  }

  @media (min-width: 64rem) {
    .lg\:col-span-2 {
      grid-column: span 2 / span 2;
    }

    .lg\:flex {
      display: flex;
    }

    .lg\:hidden {
      display: none;
    }

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

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

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

    .lg\:grid-cols-\[1fr_320px\] {
      grid-template-columns: 1fr 320px;
    }
  }

  @media (min-width: 80rem) {
    .xl\:grid-cols-2 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

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

  @media print {
    .print\:border {
      border-style: var(--tw-border-style);
      border-width: 1px;
    }

    .print\:shadow-none {
      --tw-shadow: 0 0 #0000;
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
}

:root {
  --bg: #eef2f7;
  --bg-elev: #fff;
  --surface: #f4f7fb;
  --ink: #152033;
  --muted: #516074;
  --line: #d3dce8;
  --brand: #134380;
  --brand-ink: #0c2c56;
  --accent: #eb008b;
  --ok: #1f7a4d;
  --warn: #9a4b12;
  --focus: #134380;
  --danger: #b42318;
  --phase-problem: #c40450;
  --phase-design: #acc43c;
  --phase-make: #f08820;
  --phase-commission: #08bcd8;
  --phase-evaluate: #944898;
  --shadow: 0 12px 32px #1343801a;
}

* {
  box-sizing: border-box;
}

html, body {
  height: 100%;
}

body {
  background: radial-gradient(900px 420px at 100% 0%, #eb008b14 0%, transparent 46%),
    radial-gradient(780px 380px at 0% 0%, #1343801f 0%, transparent 50%),
    linear-gradient(180deg, #f7f9fc 0%, var(--bg) 220px);
  color: var(--ink);
  font-family: var(--font-geist-sans), "Segoe UI", sans-serif;
}

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

.card {
  background: var(--bg-elev);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 1.15rem;
}

.btn {
  cursor: pointer;
  border: 1px solid #0000;
  border-radius: .85rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  min-height: 2.75rem;
  padding: .7rem 1.15rem;
  font-weight: 650;
  display: inline-flex;
}

.btn-primary {
  background: var(--brand);
  color: #fff;
  box-shadow: 0 8px 18px #13438038;
}

.btn-primary:hover {
  background: var(--brand-ink);
}

.btn-ghost {
  border-color: var(--line);
  color: var(--ink);
  background: #fff;
}

.btn-ghost:hover {
  border-color: var(--brand);
  color: var(--brand);
}

.btn-danger {
  color: var(--danger);
  background: #f8e4e2;
}

.studio-layout {
  gap: 1.25rem;
  display: grid;
}

@media (min-width: 1100px) {
  .studio-layout {
    grid-template-columns: minmax(0, 1fr) minmax(280px, .92fr);
    align-items: start;
  }

  .studio-preview {
    max-height: calc(100vh - 6rem);
    position: sticky;
    top: .75rem;
    overflow: auto;
  }
}

.studio-preview .assignment-sheet {
  box-shadow: none;
}

.studio-save {
  z-index: 5;
  background: linear-gradient(180deg, transparent, var(--bg) 28%);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-top: 1.5rem;
  padding: 1rem 0 .25rem;
  display: flex;
  position: sticky;
  bottom: 0;
}

.studio-question legend {
  margin-bottom: .35rem;
}

.page-header {
  border-bottom: 1px solid var(--line);
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 1.75rem;
  padding-bottom: 1.15rem;
  display: flex;
}

.review-student-search {
  justify-self: stretch;
  width: min(22rem, 100%);
  position: relative;
}

.review-student-search-input {
  width: 100%;
  min-height: 2.6rem;
}

.review-student-search-list {
  z-index: 20;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 1rem;
  max-height: 18rem;
  margin: 0;
  padding: .35rem;
  list-style: none;
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  right: 0;
  overflow: auto;
}

.review-student-search-hit {
  color: inherit;
  border-radius: .75rem;
  justify-content: space-between;
  align-items: center;
  gap: .6rem;
  padding: .55rem .7rem;
  text-decoration: none;
  display: flex;
}

.review-student-search-hit:hover, .review-student-search-hit:focus-visible {
  background: var(--surface);
}

.review-student-search-meta {
  color: var(--muted);
  margin-top: .15rem;
  font-size: .78rem;
  font-weight: 500;
  display: block;
}

.review-student-search-go {
  color: var(--brand);
  flex-shrink: 0;
  font-size: .78rem;
  font-weight: 750;
}

.review-student-search-empty {
  color: var(--muted);
  padding: .7rem .75rem;
  font-size: .88rem;
}

.stat-card {
  background: var(--bg-elev);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 1.15rem;
  padding: 1rem 1.15rem;
}

.stat-card p {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  font-size: .82rem;
  font-weight: 650;
}

.stat-card strong {
  letter-spacing: -.02em;
  margin-top: .35rem;
  font-size: 1.45rem;
  display: block;
}

.stat-ok {
  background: #f3faf6;
  border-color: #b7d7c4;
}

.stat-ok strong {
  color: var(--ok);
}

.stat-warn {
  background: #fff7ef;
  border-color: #efd0b0;
}

.stat-warn strong {
  color: var(--warn);
}

.agreement {
  padding: 1.5rem 1.35rem 1.75rem;
}

.agreement-hero {
  margin-bottom: 1.5rem;
}

.agreement-kicker {
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0;
  font-size: .72rem;
  font-weight: 750;
}

.agreement h2 {
  letter-spacing: -.03em;
  margin: .4rem 0 .25rem;
  font-size: 1.55rem;
  line-height: 1.2;
}

.agreement-sub {
  color: var(--muted);
  margin: 0;
}

.agreement-rule {
  background: linear-gradient(135deg, #fff4e8 0%, #fde7d2 100%);
  border: 1px solid #f0c89a;
  border-radius: 1rem;
  margin: 1.1rem 0 1rem;
  padding: 1rem 1.1rem;
}

.agreement-rule-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--warn);
  margin: 0 0 .35rem;
  font-size: .75rem;
  font-weight: 750;
}

.agreement-rule-steps {
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0 0 .7rem;
  display: flex;
}

.agreement-rule-steps span {
  color: #fff;
  letter-spacing: .04em;
  background: #9a4b12;
  border-radius: 999px;
  align-items: center;
  min-height: 2.1rem;
  padding: .2rem .75rem;
  font-weight: 800;
  display: inline-flex;
}

.agreement-rule p:last-child {
  margin: 0;
}

.agreement-intro {
  margin: 0 0 .4rem;
}

.agreement-meta {
  color: var(--muted);
  margin: 0;
  font-size: .92rem;
}

.agreement-sections {
  gap: .9rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.agreement-section {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: .95rem;
  padding: 1rem 1.05rem 1.05rem;
}

.agreement-section h3 {
  align-items: center;
  gap: .65rem;
  margin: 0 0 .55rem;
  font-size: 1.05rem;
  display: flex;
}

.agreement-section h3 span {
  background: var(--brand);
  color: #fff;
  border-radius: .55rem;
  justify-content: center;
  align-items: center;
  min-width: 2rem;
  height: 2rem;
  font-size: .82rem;
  display: inline-flex;
}

.agreement-section p {
  color: #2a3546;
  margin: .45rem 0 0;
}

.agreement-box, .agreement-glance {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  margin-top: 1.2rem;
  padding: 1.1rem 1.15rem;
}

.agreement-box {
  background: #f5f8fd;
  border-color: #c9d6ea;
}

.agreement-box h3, .agreement-glance h3 {
  margin: 0 0 .5rem;
}

.agreement-box ul, .agreement-glance ol {
  margin: .6rem 0 0;
  padding-left: 1.2rem;
}

.agreement-box li, .agreement-glance li {
  margin: .35rem 0;
}

.agreement-footer {
  color: var(--brand-ink);
  margin: 1rem 0 0;
  font-weight: 700;
}

.field {
  border: 1px solid var(--line);
  width: 100%;
  min-height: 2.75rem;
  color: var(--ink);
  background: #fff;
  border-radius: .85rem;
  padding: .7rem .85rem;
  font-size: 1rem;
}

.signature-pad {
  touch-action: none;
  overscroll-behavior: contain;
  position: relative;
}

.signature-pad canvas {
  border: 2px dashed var(--brand);
  touch-action: none;
  cursor: crosshair;
  background: #fff;
  border-radius: 1rem;
  width: 100%;
  height: 13rem;
  display: block;
}

.signature-pad-hint {
  pointer-events: none;
  text-align: center;
  color: var(--muted);
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 1rem;
  font-size: .95rem;
  font-weight: 500;
  display: flex;
  position: absolute;
  inset: 0;
}

label {
  font-size: .92rem;
  font-weight: 600;
}

.workbook {
  color: #111;
}

.workbook-banner {
  letter-spacing: .08em;
  text-align: center;
  border: 2px solid #111;
  padding: .4rem .7rem;
  font-weight: 800;
}

.workbook-cover {
  break-after: page;
}

.print-only {
  display: none;
}

.voorblad {
  break-after: page;
  page-break-after: always;
  padding: .4rem 0 1.4rem;
}

.voorblad-school {
  color: var(--brand);
  margin: .6rem 0 0;
  font-size: 1rem;
  font-weight: 700;
}

.voorblad-kicker {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand);
  margin: .4rem 0 0;
  font-size: .85rem;
}

.voorblad-label {
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 1.1rem 0 0;
  font-size: .82rem;
  font-weight: 700;
}

.voorblad h1 {
  margin: .45rem 0 .6rem;
  font-size: 2rem;
}

.voorblad-meta {
  color: var(--muted);
  margin: 0 0 1rem;
}

.voorblad-naam {
  border-bottom: 2px solid var(--brand);
  min-height: 2.2rem;
  padding: .15rem 0 .1rem;
  font-size: 1.35rem;
  font-weight: 700;
}

.voorblad-naam-leeg {
  min-height: 2.6rem;
}

.voorblad-sign {
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  margin-top: 1.8rem;
  display: grid;
}

.voorblad-sign p {
  color: var(--muted);
  margin: 0;
  font-size: .9rem;
}

.voorblad-sign span {
  border-bottom: 1px solid #222;
  min-height: 2.2rem;
  margin-top: .35rem;
  display: block;
}

.voorblad-note {
  color: var(--muted);
  margin-top: 1.1rem;
  font-size: .9rem;
}

.bundle-cover-student {
  margin: .55rem 0 0;
}

.workbook-kicker {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .85rem;
}

.workbook h1 {
  margin: .4rem 0;
  font-size: 2rem;
}

.workbook h2 {
  margin: 1.2rem 0 .4rem;
  font-size: 1.2rem;
}

.workbook-stop {
  border: 2px solid #111;
  padding: .5rem .7rem;
  font-weight: 700;
}

.workbook-activity {
  break-inside: avoid;
  margin-top: 1.5rem;
}

.workbook-q {
  margin: .8rem 0;
}

.workbook-choices {
  padding: 0;
  list-style: none;
}

.workbook-lines {
  width: 100%;
}

.workbook-lines > div {
  box-sizing: border-box;
  border: 0;
  border-bottom: 1px solid #222;
  width: 100%;
  height: 1.4rem;
  display: block;
}

.write-table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  margin: .75rem 0 1rem;
}

.write-table th, .write-table td {
  vertical-align: top;
  border: 1px solid #134380;
  padding: .5rem .65rem;
}

.write-table th {
  color: #fff;
  text-align: left;
  background: #134380;
  font-size: .85rem;
}

.write-table td:first-child {
  width: 22%;
  font-weight: 600;
}

.write-table td:nth-child(2) {
  width: 48%;
}

.write-table td:nth-child(3) {
  width: 30%;
}

.write-table tr:nth-child(2n) td {
  background: #f4f6fa;
}

.workbook-grid {
  background-image: linear-gradient(#bbb 1px, #0000 1px), linear-gradient(90deg, #bbb 1px, #0000 1px);
  background-size: 16px 16px;
  border: 1px solid #111;
  min-height: 12rem;
}

.workbook-grid.tall {
  min-height: 22rem;
}

.workbook-grid.page {
  min-height: 28rem;
}

.workbook table {
  border-collapse: collapse;
  width: 100%;
}

.workbook th, .workbook td {
  border: 1px solid #111;
  height: 2rem;
  padding: .3rem;
}

.workbook-foot {
  color: #444;
  margin-top: 2rem;
  font-size: .75rem;
}

.workbook-extra {
  break-before: page;
}

.dossier {
  color: #111;
}

.dossier h2 {
  color: var(--brand);
  border-bottom: 3px solid var(--accent);
  margin: 1.6rem 0 .6rem;
  padding-bottom: .25rem;
}

.dossier h3 {
  color: var(--brand-ink);
  margin: 1rem 0 .35rem;
}

.dossier table {
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
  margin: .6rem 0 1rem;
}

.dossier th, .dossier td {
  border: 1px solid var(--brand);
  vertical-align: top;
  word-wrap: break-word;
  padding: .35rem .45rem;
}

.dossier th {
  background: #e8eef6;
  font-size: .85rem;
}

.open-check {
  gap: .9rem;
  display: grid;
}

.open-check-banner {
  background: var(--brand);
  color: #fff;
  border-radius: 1.1rem;
  padding: 1rem 1.15rem;
}

.open-check-kicker {
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .85;
  margin: 0;
  font-size: .75rem;
}

.open-check-banner h2 {
  margin: .2rem 0 0;
  font-size: 1.15rem;
}

.open-check-card {
  border: 1px solid var(--line);
  background: #fff;
  border-left-width: 6px;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.open-check-card-instruction {
  border-left-color: var(--brand);
  background: #f3f7fc;
}

.open-check-card-magenta {
  border-left-color: var(--accent);
}

.open-check-card-teal {
  border-left-color: var(--phase-commission);
}

.open-check-card-done {
  border-left-color: var(--ok);
  background: #f3faf6;
}

.open-check-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0 0 .35rem;
  font-size: .72rem;
  font-weight: 700;
}

.open-check-prompt {
  margin: 0 0 .75rem;
  font-weight: 600;
}

.open-check-answer-label {
  color: var(--brand-ink);
  margin: 0 0 .35rem;
  font-size: .85rem;
  font-weight: 700;
}

.open-check-hint {
  color: var(--muted);
  margin: .55rem 0 0;
  font-size: .92rem;
}

.open-check-card .field {
  min-height: 7.5rem;
}

.writing-textarea {
  resize: vertical;
  appearance: none;
  background: #fff;
  width: 100%;
  min-height: 8.5rem;
  font-family: inherit;
  line-height: 1.55;
  display: block;
}

.writing-textarea:focus {
  outline: 3px solid var(--brand);
}

@supports (color: color-mix(in lab, red, red)) {
  .writing-textarea:focus {
    outline: 3px solid color-mix(in srgb, var(--brand) 45%, white);
  }
}

.writing-textarea:focus {
  outline-offset: 2px;
}

.writing-textarea-invalid {
  border-color: var(--danger, #b42318);
}

.upload-drop-box {
  border: 1.5px dashed var(--line);
  cursor: pointer;
  background: #f8fafc;
  border-radius: .85rem;
  justify-items: start;
  gap: .3rem;
  width: 100%;
  min-height: 5.25rem;
  padding: 1rem 1.1rem;
  display: grid;
}

.upload-drop-box:hover, .upload-drop.is-hot .upload-drop-box {
  border-color: var(--brand);
  background: #f3f7fc;
}

.upload-drop-box.is-disabled {
  cursor: default;
  background: #f8f8f8;
}

.upload-drop-title {
  color: var(--brand-ink);
  font-weight: 700;
}

.upload-drop-hint {
  color: var(--muted);
  font-size: .92rem;
}

.open-question-card {
  border: 1px solid var(--line);
  border-left: 6px solid var(--brand);
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.open-question-card-prompt {
  margin: 0 0 .75rem;
  font-weight: 600;
}

.fault-case {
  border: 1px solid var(--line);
  break-inside: avoid;
  background: #fff;
  border-radius: 1.1rem;
  overflow: hidden;
}

.fault-case-banner {
  background: var(--phase-commission);
}

@supports (color: color-mix(in lab, red, red)) {
  .fault-case-banner {
    background: color-mix(in srgb, var(--phase-commission) 18%, white);
  }
}

.fault-case-banner {
  border-bottom: 1px solid var(--line);
  padding: .9rem 1.1rem;
}

.fault-case-banner h3 {
  margin: .2rem 0 0;
  font-size: 1.05rem;
}

.fault-case-steps {
  gap: .85rem;
  margin: 0;
  padding: 1rem 1.1rem 1.15rem;
  list-style: none;
  display: grid;
}

.fault-case-step {
  gap: .35rem;
  display: grid;
}

.evidence-check {
  border: 1px solid var(--line);
  border-left: 6px solid var(--ok);
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.evidence-check legend {
  color: var(--brand);
  padding: 0 .4rem;
  font-weight: 700;
}

.evidence-check-list {
  gap: .65rem;
  margin-top: .7rem;
  display: grid;
}

.evidence-check-item {
  border: 1px solid var(--line);
  background: #f7faf8;
  border-radius: .8rem;
  align-items: flex-start;
  gap: .7rem;
  min-height: 2.6rem;
  padding: .55rem .7rem;
  display: flex;
}

.work-package {
  gap: 1rem;
  margin-bottom: 1.4rem;
  display: grid;
}

@media (min-width: 800px) {
  .work-package {
    grid-template-columns: 1fr 1fr;
  }
}

.work-package-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.work-package-extra {
  margin: 1rem 0;
}

.student-bundle {
  gap: 1.25rem;
  display: grid;
}

.assignment-work {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 1.1rem;
  overflow: hidden;
}

.assignment-work .assignment-sheet {
  box-shadow: none;
  background: none;
  border: none;
  border-radius: 0;
}

.bundle-work-nav {
  border-bottom: 1px solid var(--line);
  background: #f3f6fa;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem .85rem;
  padding: .7rem 1.15rem;
  display: flex;
}

.bundle-crumbs, .bundle-steps {
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.bundle-crumbs {
  min-width: 0;
  color: var(--brand-ink);
  gap: 0;
  font-size: .88rem;
  line-height: 1.3;
}

.bundle-crumbs li {
  align-items: center;
  min-width: 0;
  display: inline-flex;
}

.bundle-crumbs li + li:before {
  content: ">";
  color: #7b8aa0;
  margin: 0 .5rem;
  font-weight: 600;
}

.bundle-crumb-link {
  color: var(--brand);
  font-weight: 700;
  text-decoration: none;
}

.bundle-crumb-link:hover {
  text-decoration: underline;
}

.bundle-crumb-current {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-weight: 600;
  overflow: hidden;
}

.bundle-steps {
  gap: .35rem;
}

.bundle-steps a, .bundle-steps .is-locked {
  color: #3d4d63;
  background: #fff;
  border: 1px solid #b7c3d4;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.7rem;
  height: 1.7rem;
  font-size: .78rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
}

.bundle-steps a.is-active {
  background: var(--brand);
  border-color: var(--brand);
  color: #fff;
}

.bundle-steps a.is-open, .bundle-steps a.is-done {
  border-color: var(--brand);
  color: var(--brand);
}

.bundle-steps a.is-needs-work {
  color: #9a4d00;
  background: #fff6ea;
  border-color: #c9853a;
}

.bundle-steps .is-locked {
  color: #5b6b80;
  cursor: not-allowed;
  background: #e4eaf1;
  border-color: #c5d0de;
}

#opdracht {
  outline: none;
  scroll-margin-top: 6.5rem;
}

.bundle-assignment-open {
  animation: .2s ease-out bundle-open;
}

@keyframes bundle-open {
  from {
    opacity: 0;
    transform: translateY(10px);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

.bundle-cover {
  border: 1px solid var(--line);
  border-left: 8px solid var(--brand);
  background: #fff;
  border-radius: 1.1rem;
  padding: 1.25rem 1.3rem 1.35rem;
}

.bundle-cover-kicker {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0;
  font-size: .82rem;
  font-weight: 700;
}

.bundle-cover h1 {
  margin: .25rem 0 0;
  font-size: 1.7rem;
}

.bundle-cover-meta {
  color: var(--muted);
  margin: .35rem 0 0;
}

.bundle-cover-context {
  gap: .65rem;
  margin-top: 1rem;
  display: grid;
}

.bundle-cover-context p {
  margin: 0;
}

.bundle-toc {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1.1rem;
  padding: 1.1rem 1.2rem 1.2rem;
}

.bundle-toc h2 {
  margin: 0 0 .7rem;
  font-size: 1.15rem;
}

.bundle-toc ol {
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.bundle-toc a, .bundle-toc .is-locked {
  border: 1px solid var(--line);
  color: inherit;
  background: var(--surface);
  border-radius: .85rem;
  grid-template-columns: 2.1rem 1fr;
  align-items: start;
  gap: .7rem;
  padding: .7rem .75rem;
  text-decoration: none;
  display: grid;
}

.bundle-toc a.is-active {
  background: var(--brand);
}

@supports (color: color-mix(in lab, red, red)) {
  .bundle-toc a.is-active {
    background: color-mix(in srgb, var(--brand) 10%, white);
  }
}

.bundle-toc a.is-active {
  border-color: var(--brand);
}

.bundle-toc a.is-needs-work {
  background: #fff6ea;
  border-color: #c9853a;
}

.bundle-toc .is-locked {
  opacity: .7;
}

.bundle-toc-num {
  background: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 2.1rem;
  height: 2.1rem;
  font-weight: 700;
  display: inline-flex;
}

.bundle-toc strong {
  display: block;
}

.bundle-toc em {
  color: var(--muted);
  margin-top: .15rem;
  font-size: .88rem;
  font-style: normal;
  display: block;
}

.assignment-sheet, .bundle-theory, .workbook-work {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 1.1rem;
}

.assignment-sheet {
  padding: 0 0 1.15rem;
  overflow: hidden;
}

.assignment-sheet-head {
  background: linear-gradient(135deg, var(--brand) 0%, white 58%),
    white;
  padding: 1.15rem 1.2rem 1.05rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .assignment-sheet-head {
    background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 8%, white) 0%, white 58%),
    white;
  }
}

.assignment-sheet-head {
  border-bottom: 1px solid var(--line);
}

.assignment-sheet-kicker-wrap {
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  display: inline-flex;
}

.assignment-sheet-kicker {
  background: var(--accent);
  border-radius: 999px;
  margin: 0;
  padding: .22rem .6rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .assignment-sheet-kicker {
    background: color-mix(in srgb, var(--accent) 12%, white);
  }
}

.assignment-sheet-kicker {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--accent);
  font-size: .75rem;
  font-weight: 800;
}

button.assignment-sheet-kicker {
  appearance: none;
  font: inherit;
  letter-spacing: .06em;
  font-size: .75rem;
  font-weight: 800;
  line-height: inherit;
  cursor: auto;
  -webkit-user-select: none;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  border: 0;
}

button.assignment-sheet-kicker:hover, button.assignment-sheet-kicker:active, button.assignment-sheet-kicker:focus, button.assignment-sheet-kicker:focus-visible, button.assignment-sheet-kicker:disabled {
  box-shadow: none;
  background: var(--accent);
  outline: none;
}

@supports (color: color-mix(in lab, red, red)) {
  button.assignment-sheet-kicker:hover, button.assignment-sheet-kicker:active, button.assignment-sheet-kicker:focus, button.assignment-sheet-kicker:focus-visible, button.assignment-sheet-kicker:disabled {
    background: color-mix(in srgb, var(--accent) 12%, white);
  }
}

button.assignment-sheet-kicker:hover, button.assignment-sheet-kicker:active, button.assignment-sheet-kicker:focus, button.assignment-sheet-kicker:focus-visible, button.assignment-sheet-kicker:disabled {
  color: var(--accent);
  cursor: auto;
  opacity: 1;
}

.assignment-sheet-kicker-note {
  letter-spacing: 0;
  text-transform: none;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 650;
}

.chatgpt-paste-mask {
  z-index: 40;
  background: #0f1c2e6b;
  place-items: center;
  padding: 1rem;
  display: grid;
  position: fixed;
  inset: 0;
}

.chatgpt-paste-card {
  width: min(42rem, 100%);
  max-height: min(36rem, 90vh);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 1.1rem;
  padding: 1.2rem;
  overflow: auto;
}

.chatgpt-paste-card h2 {
  margin: 0;
  font-size: 1.2rem;
}

.chatgpt-paste-card p {
  color: var(--muted);
  margin: .45rem 0 .8rem;
  font-size: .92rem;
}

.chatgpt-paste-card textarea {
  width: 100%;
  min-height: 14rem;
}

.chatgpt-paste-actions {
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: .85rem;
  display: flex;
}

.chatgpt-paste-note {
  color: var(--brand-ink);
  margin: .55rem 0 0;
  font-size: .85rem;
  font-weight: 650;
}

.teacher-question-comment {
  background: var(--accent);
  border-radius: .9rem;
  margin-top: .35rem;
  padding: .85rem 1rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .teacher-question-comment {
    background: color-mix(in srgb, var(--accent) 7%, white);
  }
}

.teacher-question-comment {
  border: 1px solid var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .teacher-question-comment {
    border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--line));
  }
}

.teacher-question-comment-title {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 .45rem;
  font-size: .78rem;
  font-weight: 800;
}

.teacher-question-comment ul {
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.teacher-question-comment-head {
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .3rem;
  font-weight: 650;
  display: flex;
}

.teacher-question-comment p {
  margin: 0;
  line-height: 1.45;
}

.assignment-sheet h2 {
  color: var(--brand-ink);
  margin: .55rem 0 0;
  font-size: 1.45rem;
  line-height: 1.25;
}

.bundle-theory, .workbook-work {
  padding: 1.15rem 1.2rem 1.3rem;
}

.assignment-sheet-lead, .assignment-sheet-meta, .assignment-sheet-routes, .assignment-sheet > .assignment-sheet-card {
  margin: 1rem 1.05rem 0;
}

.assignment-sheet-lead, .assignment-sheet-meta, .assignment-sheet-routes {
  gap: .85rem;
  display: grid;
}

@media (min-width: 800px) {
  .assignment-sheet-lead {
    grid-template-columns: 1fr 1fr;
  }

  .assignment-sheet-meta {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .assignment-sheet-routes {
    grid-template-columns: 1fr 1fr;
  }
}

.assignment-sheet-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: .95rem 1rem 1rem;
}

.assignment-sheet-card h3 {
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0 0 .5rem;
  font-size: .78rem;
  font-weight: 800;
}

.bundle-theory h3, .workbook-section h3 {
  color: var(--brand-ink);
  margin: 0 0 .35rem;
  font-size: 1rem;
}

.assignment-sheet-card p {
  margin: 0;
  line-height: 1.5;
}

.assignment-sheet-card-situation {
  border-top: 4px solid var(--brand);
}

.assignment-sheet-card-task {
  border-top: 4px solid var(--accent);
}

.assignment-sheet-card-steps {
  background: #fff;
}

.assignment-sheet-card-learn, .assignment-sheet-card-need, .assignment-sheet-card-done {
  height: 100%;
}

.assignment-sheet-card-learn {
  border-top: 4px solid var(--brand);
}

.assignment-sheet-card-need {
  border-top: 4px solid var(--phase-commission);
}

.assignment-sheet-card-done {
  border-top: 4px solid var(--ok);
}

.assignment-sheet-card-evidence {
  background: var(--brand);
}

@supports (color: color-mix(in lab, red, red)) {
  .assignment-sheet-card-evidence {
    background: color-mix(in srgb, var(--brand) 5%, white);
  }
}

.assignment-sheet-card-media {
  background: #fff;
}

.assignment-sheet-media {
  gap: .75rem;
  display: grid;
}

@media (min-width: 700px) {
  .assignment-sheet-media {
    grid-template-columns: 1fr 1fr;
  }
}

.assignment-sheet-media figure {
  margin: 0;
}

.assignment-sheet-media img {
  object-fit: contain;
  background: #f3f6fa;
  border-radius: .75rem;
  width: 100%;
  height: auto;
  max-height: 22rem;
  display: block;
}

.assignment-sheet-media figcaption {
  color: var(--muted);
  margin-top: .4rem;
  font-size: .9rem;
}

.sleutelboek-desk {
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 1.1rem;
  overflow: hidden;
}

.sleutelboek-desk-head {
  background: linear-gradient(135deg, var(--accent) 0%, white 62%),
    white;
  padding: 1.1rem 1.2rem 1rem;
}

@supports (color: color-mix(in lab, red, red)) {
  .sleutelboek-desk-head {
    background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, white) 0%, white 62%),
    white;
  }
}

.sleutelboek-desk-head {
  border-bottom: 1px solid var(--line);
}

.sleutelboek-desk-kicker {
  background: var(--brand);
  border-radius: 999px;
  margin: 0;
  padding: .22rem .6rem;
  display: inline-flex;
}

@supports (color: color-mix(in lab, red, red)) {
  .sleutelboek-desk-kicker {
    background: color-mix(in srgb, var(--brand) 12%, white);
  }
}

.sleutelboek-desk-kicker {
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--brand);
  font-size: .75rem;
  font-weight: 800;
}

.sleutelboek-desk-head h3 {
  color: var(--brand-ink);
  margin: .5rem 0 .35rem;
  font-size: 1.35rem;
}

.sleutelboek-desk-head p {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.sleutelboek-page {
  padding: 1rem 1.1rem 1.2rem;
}

.sleutelboek-page-meta {
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .85rem;
  display: flex;
}

.sleutelboek-split {
  gap: 1rem;
  display: grid;
}

@media (min-width: 980px) {
  .sleutelboek-split {
    grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr);
    align-items: start;
  }

  .sleutelboek-split-blad {
    position: sticky;
    top: .75rem;
  }
}

.sleutelboek-blad {
  border: 1px solid var(--line);
  background: #edf1f6;
  border-radius: 1rem;
  margin: 0;
  overflow: hidden;
}

.sleutelboek-blad-bar {
  border-bottom: 1px solid var(--line);
  background: #fff;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .5rem;
  padding: .55rem .7rem;
  display: flex;
}

.sleutelboek-blad-label {
  color: var(--brand-ink);
  margin: 0;
  font-size: .88rem;
  font-weight: 700;
}

.sleutelboek-blad-tools {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.sleutelboek-blad-frame {
  background: radial-gradient(circle at 20% 10%, #fff 0, #0000 42%), #d9e1ea;
  height: min(72vh, 44rem);
  overflow: auto;
}

.sleutelboek-blad-page {
  transform-origin: 0 0;
  background: #fff;
  border: 0;
  min-height: 44rem;
  display: block;
}

.sleutelboek-blad figcaption {
  color: var(--muted);
  background: #fff;
  margin: 0;
  padding: .55rem .75rem .7rem;
  font-size: .88rem;
}

.sleutelboek-blad-missing {
  color: var(--muted);
  margin: 0;
  padding: 1rem;
}

.sleutelboek-invul {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  margin: 0;
  overflow: hidden;
}

.sleutelboek-invul-bar {
  border-bottom: 1px solid var(--line);
  z-index: 2;
  background: #fff;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: .55rem .75rem;
  padding: .55rem .75rem;
  display: flex;
  position: relative;
}

.bron-download {
  flex-wrap: wrap;
  flex: none;
  align-items: center;
  gap: .35rem .55rem;
  display: flex;
}

.bron-download-error {
  color: var(--danger);
  margin: 0;
  font-size: .85rem;
}

.sleutelboek-invul-label {
  color: var(--brand-ink);
  margin: 0;
  font-size: .88rem;
  font-weight: 700;
}

.sleutelboek-invul-hint {
  color: var(--muted);
  margin: 0;
  font-size: .85rem;
}

.sleutelboek-invul-page {
  background: #d9e1ea;
  position: relative;
}

.sleutelboek-invul-img {
  width: 100%;
  height: auto;
  display: block;
}

.sleutelboek-invul-vak {
  margin: 0;
  position: absolute;
}

.sleutelboek-invul-vak-nr {
  clip: rect(0 0 0 0);
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.sleutelboek-invul-vak textarea {
  resize: none;
  border: 1.5px dashed var(--brand);
  width: 100%;
  height: 100%;
}

@supports (color: color-mix(in lab, red, red)) {
  .sleutelboek-invul-vak textarea {
    border: 1.5px dashed color-mix(in srgb, var(--brand) 45%, transparent);
  }
}

.sleutelboek-invul-vak textarea {
  color: var(--ink);
  background: #fff3;
  border-radius: .25rem;
  padding: .15rem .3rem;
  font-size: clamp(.7rem, 1.4vw, .92rem);
  line-height: 1.25;
}

.sleutelboek-invul-vak textarea:focus {
  outline: 2px solid var(--brand);
  background: #fff;
}

.sleutelboek-kruis {
  border-collapse: collapse;
  width: 100%;
  margin: 0;
}

.sleutelboek-kruis th, .sleutelboek-kruis td {
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: middle;
  padding: .55rem .75rem;
}

.sleutelboek-kruis th {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  font-size: .78rem;
}

.sleutelboek-kruis th:nth-child(2), .sleutelboek-kruis th:nth-child(3), .sleutelboek-kruis td:nth-child(2), .sleutelboek-kruis td:nth-child(3) {
  text-align: center;
  width: 4.5rem;
}

.sleutelboek-kruis input {
  width: 1.15rem;
  height: 1.15rem;
}

.sleutelboek-invul-lijst {
  gap: .7rem;
  margin: 0;
  padding: .75rem .85rem .35rem;
  list-style: none;
  display: grid;
}

.sleutelboek-invul-lijst label {
  gap: .35rem;
  display: grid;
}

.sleutelboek-invul-lijst span {
  color: var(--brand-ink);
  font-size: .9rem;
  font-weight: 700;
}

.sleutelboek-invul figcaption, .sleutelboek-invul-notes {
  color: var(--muted);
  gap: .35rem;
  margin: 0;
  padding: .65rem .75rem .8rem;
  font-size: .88rem;
  display: grid;
}

.sleutelboek-invul-notes span {
  color: var(--brand-ink);
  font-weight: 700;
}

.sleutelboek-bestanden {
  border: 1px dashed var(--line);
  background: var(--surface);
  border-radius: .9rem;
  margin-top: .9rem;
  padding: .85rem 1rem;
}

.sleutelboek-bestanden-title {
  color: var(--brand-ink);
  margin: 0;
  font-weight: 700;
}

.sleutelboek-bestanden-hint {
  color: var(--muted);
  margin: .25rem 0 0;
  font-size: .92rem;
}

.sleutelboek-split-werk {
  gap: .75rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.sleutelboek-step {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 1rem;
  grid-template-columns: 2rem 1fr;
  gap: .7rem;
  padding: .9rem .95rem;
  display: grid;
}

.sleutelboek-step-num {
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  font-weight: 800;
  display: inline-flex;
}

.sleutelboek-step h4 {
  color: var(--brand-ink);
  margin: .15rem 0 .25rem;
  font-size: 1rem;
}

.sleutelboek-step p {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.assignment-sheet-card-support {
  border-left: 5px solid var(--phase-commission);
}

.assignment-sheet-card-advanced {
  border-left: 5px solid var(--phase-make);
}

.assignment-sheet-card-expert {
  border-left: 5px solid var(--phase-evaluate);
}

.assignment-sheet-card-remediation {
  border-left: 5px solid var(--warn);
}

.assignment-sheet-steps {
  gap: .65rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.assignment-sheet-steps li {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: .85rem;
  grid-template-columns: 1.7rem 1fr;
  align-items: start;
  gap: .7rem;
  padding: .7rem .75rem;
  display: grid;
}

.assignment-sheet-step-num {
  background: var(--brand);
  color: #fff;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  width: 1.7rem;
  height: 1.7rem;
  font-size: .82rem;
  font-weight: 800;
  display: inline-flex;
}

.assignment-sheet-card ul {
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.assignment-sheet-card ul:not(.assignment-sheet-chips) li {
  padding-left: 1rem;
  position: relative;
}

.assignment-sheet-card ul:not(.assignment-sheet-chips) li:before {
  content: "";
  background: var(--brand);
  border-radius: 999px;
  width: .42rem;
  height: .42rem;
  position: absolute;
  top: .55rem;
  left: 0;
}

.assignment-sheet-card-done ul li:before {
  background: var(--ok);
}

.assignment-sheet-card-need ul li:before {
  background: var(--phase-commission);
}

.assignment-sheet-chips {
  gap: .5rem;
  display: grid;
}

@media (min-width: 700px) {
  .assignment-sheet-chips {
    grid-template-columns: 1fr 1fr;
  }
}

.assignment-sheet-chips li {
  border: 1px solid var(--brand);
  background: #fff;
  padding: .6rem .75rem .6rem 2rem;
  position: relative;
}

@supports (color: color-mix(in lab, red, red)) {
  .assignment-sheet-chips li {
    border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  }
}

.assignment-sheet-chips li {
  border-radius: .8rem;
  font-size: .92rem;
}

.assignment-sheet-chips li:before {
  content: "";
  border: 2px solid var(--brand);
  border-radius: .2rem;
  width: .7rem;
  height: .7rem;
  position: absolute;
  top: .85rem;
  left: .7rem;
}

.bundle-theory h2, .workbook-work-head h2 {
  margin: .2rem 0 .85rem;
  font-size: 1.35rem;
}

.bundle-theory ul, .bundle-assignment-overview {
  gap: .3rem;
  padding-left: 1.2rem;
  display: grid;
}

.assignment-sheet-rubric-wrap {
  margin: 0 -.15rem;
  overflow-x: auto;
}

.assignment-sheet-rubric {
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
  min-width: 36rem;
  font-size: .84rem;
}

.assignment-sheet-rubric th, .assignment-sheet-rubric td {
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  padding: .55rem;
}

.assignment-sheet-rubric thead th {
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .72rem;
}

.assignment-sheet-rubric tbody th {
  color: var(--brand-ink);
  background: #f7f9fc;
}

.assignment-sheet-rubric .rubric-red {
  color: #9b1c1c;
  background: #fdecec;
}

.assignment-sheet-rubric .rubric-orange {
  color: #9a4d00;
  background: #fff1e0;
}

.assignment-sheet-rubric .rubric-green {
  color: #1b6b3a;
  background: #e7f6ee;
}

.assignment-sheet-rubric .rubric-blue {
  color: #1d4f8a;
  background: #e8f1fb;
}

.praktijk-sam-choice {
  border: 1px solid var(--line);
  background: #fff;
}

.praktijk-sam-choice.is-selected {
  box-shadow: 0 0 0 2px var(--brand-ink);
}

.praktijk-sam-choice.is-locked {
  cursor: default;
  opacity: .92;
}

.praktijk-sam-not_achieved {
  color: #9b1c1c;
  background: #fdecec;
  border-color: #c43b3b;
}

.praktijk-sam-developing {
  color: #9a4d00;
  background: #fff1e0;
  border-color: #d9822b;
}

.praktijk-sam-achieved {
  color: #1b6b3a;
  background: #e7f6ee;
  border-color: #2f8f4e;
}

.praktijk-sam-exceeded {
  color: #1d4f8a;
  background: #e8f1fb;
  border-color: #2b6cb0;
}

.teacher-sam-pick {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .5rem;
  display: grid;
}

@media (min-width: 720px) {
  .teacher-sam-pick {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.teacher-sam-pick-btn {
  text-align: left;
  cursor: pointer;
  border-style: solid;
  border-width: 1px;
  border-radius: .9rem;
  flex-direction: column;
  align-items: flex-start;
  gap: .15rem;
  min-height: 4.4rem;
  padding: .7rem .8rem;
  font-weight: 700;
  display: flex;
}

.teacher-sam-pick-btn:hover {
  filter: brightness(.97);
}

.teacher-sam-pick-btn:focus-visible {
  outline: 2px solid var(--brand-ink);
  outline-offset: 2px;
}

.teacher-sam-pick-btn:disabled {
  cursor: wait;
  opacity: .7;
}

.teacher-sam-pick-color {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  font-size: .95rem;
  display: flex;
}

.teacher-sam-pick-hint {
  opacity: .75;
  font-size: .75rem;
  font-weight: 650;
}

.teacher-sam-pick-text {
  font-size: .82rem;
  font-weight: 600;
}

.assignment-sheet-rubric td.sam-leerling {
  box-shadow: inset 0 0 0 2px #5b6570;
}

.sam-leerling-tag {
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-right: .35rem;
  font-size: .7rem;
  font-weight: 700;
  display: inline-block;
}

.sam-teacher-choice {
  cursor: pointer;
  align-items: flex-start;
  gap: .4rem;
  width: 100%;
  min-height: 5.25rem;
  display: flex;
}

.sam-teacher-choice input {
  margin-top: .2rem;
}

.sam-teacher-choice.is-locked {
  cursor: default;
  opacity: .92;
}

.bundle-theory {
  gap: 1.1rem;
  display: grid;
}

.bundle-theory-lead {
  font-weight: 600;
}

.bundle-theory p {
  margin: 0 0 .7rem;
}

.bundle-vocab {
  gap: .75rem;
  display: grid;
}

@media (min-width: 800px) {
  .bundle-vocab {
    grid-template-columns: 1fr 1fr;
  }
}

.bundle-vocab article {
  border: 1px solid var(--line);
  border-radius: .85rem;
  padding: .8rem .9rem;
}

.bundle-vocab h4 {
  margin: 0 0 .35rem;
}

.bundle-vocab-use {
  color: var(--muted);
  font-size: .92rem;
}

.workbook-work {
  gap: 1.2rem;
  display: grid;
}

.workbook-work-head p {
  color: var(--muted);
  margin: 0;
}

.workbook-section {
  gap: .75rem;
  display: grid;
}

.workbook-hint {
  color: var(--muted);
  margin: 0;
  font-size: .95rem;
}

.answer-option-ok {
  background: #e7f6ee;
  border-color: #2f6f4e;
}

.answer-option-miss {
  background: #fdecec;
  border-color: #9b3a2f;
}

.answer-result {
  font-weight: 750;
}

.answer-result-ok {
  color: #1b6b3a;
}

.answer-result-miss {
  color: #9b1c1c;
}

.answer-result-review {
  color: var(--muted);
}

.answer-why {
  background: #f3f7fc;
  border: 1px solid #d7e3f4;
  border-radius: .9rem;
  margin-top: .35rem;
  padding: .85rem 1rem;
}

.answer-why-kicker {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0 0 .25rem;
  font-size: .75rem;
  font-weight: 750;
}

.answer-why-correct {
  margin: 0 0 .35rem;
  font-weight: 750;
}

.answer-why p {
  margin: 0;
}

.review-shell {
  gap: 1rem;
  display: grid;
}

@media (min-width: 960px) {
  .review-shell {
    grid-template-columns: minmax(12rem, 15rem) minmax(0, 1fr);
    align-items: start;
  }
}

.review-board {
  min-width: 0;
}

.review-ask {
  background: var(--surface);
  border-radius: 1rem;
  padding: .85rem 1rem;
}

.review-desk {
  align-items: start;
  gap: .9rem;
  display: grid;
}

@media (min-width: 1080px) {
  .review-desk {
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .85fr);
  }
}

.review-answer {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  min-width: 0;
  padding: 1rem 1.1rem;
}

.review-answer-text {
  white-space: pre-wrap;
  margin: .7rem 0 0;
  font-size: 1.12rem;
  line-height: 1.55;
}

.review-evidence {
  gap: .7rem;
  margin: .7rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.review-photo-link {
  color: var(--brand);
  gap: .35rem;
  font-size: .88rem;
  font-weight: 650;
  display: grid;
}

.review-photo {
  object-fit: contain;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: .85rem;
  width: 100%;
  max-height: 14rem;
  display: block;
}

.review-evidence.is-large .review-photo {
  max-height: 28rem;
}

.review-assignment {
  margin-top: 1rem;
}

.review-assignment-list {
  gap: .65rem;
  margin: .7rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.review-assignment-item {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: .9rem;
  padding: .75rem .9rem;
}

.review-assignment-item.is-current {
  border-color: var(--brand);
}

@supports (color: color-mix(in lab, red, red)) {
  .review-assignment-item.is-current {
    border-color: color-mix(in srgb, var(--brand) 50%, var(--line));
  }
}

.review-assignment-item.is-current {
  box-shadow: inset 0 0 0 1px var(--brand);
}

@supports (color: color-mix(in lab, red, red)) {
  .review-assignment-item.is-current {
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 18%, transparent);
  }
}

.review-assignment-item em {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  margin-left: .4rem;
  font-size: .78rem;
  font-style: normal;
  font-weight: 750;
}

.review-assignment-q {
  margin: 0;
  font-weight: 650;
}

.review-assignment-q span {
  color: var(--brand);
  margin-right: .25rem;
}

.review-assignment-a {
  white-space: pre-wrap;
  margin: .4rem 0 0;
}

.review-assignment-expected {
  color: #1b6b3a;
  margin: .3rem 0 0;
  font-size: .88rem;
}

.review-assignment-checks {
  gap: .2rem;
  margin: .4rem 0 0;
  padding: 0;
  font-size: .92rem;
  list-style: none;
  display: grid;
}

.review-assignment-checks li {
  color: var(--muted);
}

.review-assignment-checks li.is-on {
  color: var(--ink);
  font-weight: 650;
}

.review-assignment-auto {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  margin: .45rem 0 0;
  font-size: .78rem;
  font-weight: 750;
}

.review-assignment-item.is-juist .review-assignment-auto, .review-assignment-item.is-goed .review-assignment-auto {
  color: #1b6b3a;
}

.review-assignment-item.is-fout .review-assignment-auto {
  color: #9b1c1c;
}

.review-assignment-item.is-deels .review-assignment-auto, .review-assignment-item.is-herdaan .review-assignment-auto, .review-assignment-item.is-nog-invullen .review-assignment-auto {
  color: #9a4d00;
}

.review-mark {
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: .55rem;
  display: flex;
}

.review-mark-btn {
  border: 1px solid var(--line);
  min-height: 2.15rem;
  color: var(--ink);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  padding: .28rem .8rem;
  font-size: .88rem;
  font-weight: 750;
}

.review-mark-btn:hover {
  border-color: var(--ink);
}

.review-mark-btn:disabled {
  opacity: .55;
  cursor: default;
}

.review-mark-btn.is-goed.is-on {
  color: #fff;
  background: #1b6b3a;
  border-color: #1b6b3a;
}

.review-mark-btn.is-fout.is-on {
  color: #fff;
  background: #9b1c1c;
  border-color: #9b1c1c;
}

.review-mark-btn.is-herdaan.is-on, .review-mark-btn.is-noginvullen.is-on {
  color: #fff;
  background: #9a4d00;
  border-color: #9a4d00;
}

.complete-step-block {
  justify-items: start;
  gap: .7rem;
  display: grid;
}

.complete-step-missing {
  background: #fff6ea;
  border: 1px solid #c9853a;
  border-radius: 12px;
  width: 100%;
  padding: .85rem 1rem;
}

.complete-step-missing p {
  margin: 0;
  font-weight: 650;
}

.complete-step-missing ul {
  margin: .45rem 0 0;
  padding-left: 1.15rem;
}

.review-grade {
  border-top: 1px solid var(--line);
  margin-top: 1rem;
  padding-top: .9rem;
}

.feedback-chips {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  gap: .75rem;
  margin: .55rem 0 .35rem;
  padding: .85rem .95rem;
  display: grid;
}

.feedback-chips-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: .5rem;
  display: flex;
}

.feedback-chips-title {
  margin: 0;
  font-weight: 750;
}

.feedback-chips-hint {
  color: var(--muted);
  margin: .2rem 0 0;
  font-size: .88rem;
}

.feedback-chips-label {
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0 0 .3rem;
  font-size: .72rem;
  font-weight: 750;
}

.feedback-chips-label.is-klopt {
  color: #1b6b3a;
}

.feedback-chips-label.is-mist {
  color: #9a4d00;
}

.feedback-chips-label.is-volgende {
  color: #1d4f8a;
}

.feedback-chips-row {
  flex-wrap: wrap;
  gap: .35rem;
  display: flex;
}

.feedback-chip {
  border: 1px solid var(--line);
  min-height: 2.1rem;
  color: var(--ink);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  padding: .28rem .75rem;
  font-size: .88rem;
  font-weight: 650;
}

.feedback-chip:hover {
  border-color: var(--ink);
}

.feedback-chip.is-on {
  border-color: var(--ink);
  background: var(--ink);
  color: #fff;
}

.feedback-chips-clear {
  border: 1px solid var(--line);
  min-height: 2.1rem;
  color: var(--ink);
  cursor: pointer;
  background: #fff;
  border-radius: 999px;
  padding: .28rem .75rem;
  font-size: .85rem;
  font-weight: 650;
}

.feedback-chips-clear:disabled {
  opacity: .45;
  cursor: default;
}

.teacher-key {
  background: #fff8e8;
  border: 1px solid #c9a227;
  border-radius: .9rem;
  margin-top: .75rem;
  padding: .9rem 1rem;
}

.teacher-key-compact {
  margin-top: .5rem;
  padding: .7rem .85rem;
}

.teacher-key-desk {
  max-height: calc(100vh - 8rem);
  margin-top: 0;
  position: sticky;
  top: .75rem;
  overflow: auto;
}

.teacher-key-kicker {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #8a6a10;
  margin: 0 0 .3rem;
  font-size: .75rem;
  font-weight: 750;
}

.teacher-key-answer {
  margin: 0;
  font-weight: 650;
}

.teacher-key-label {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #8a6a10;
  margin: .55rem 0 .2rem;
  font-size: .78rem;
  font-weight: 750;
}

.teacher-key-items {
  margin: 0;
  padding-left: 1.15rem;
}

.teacher-key-items li {
  margin: .2rem 0;
}

.teacher-key-note, .teacher-key-empty, .teacher-key-edit {
  margin: .35rem 0 0;
  font-size: .92rem;
}

.teacher-key-empty, .teacher-key-edit a {
  color: var(--brand);
}

.teacher-key-rubric {
  margin: .45rem 0 0;
  padding-left: 1.1rem;
  font-size: .88rem;
}

.teacher-key-scale {
  gap: .35rem;
  margin-top: .55rem;
  display: grid;
}

.teacher-key-scale-row {
  border: 1px solid #0000;
  border-radius: .65rem;
  grid-template-columns: 4.4rem minmax(0, 1fr);
  gap: .45rem;
  margin: 0;
  padding: .4rem .55rem;
  font-size: .88rem;
  line-height: 1.35;
  display: grid;
}

.teacher-key-scale-row span {
  font-weight: 750;
}

.teacher-key-writing {
  color: var(--muted);
  margin: .45rem 0 0;
  font-size: .82rem;
}

.assignment-check-summary {
  border: 1px solid var(--line);
  background: #f3f7fc;
  border-radius: .9rem;
  margin: 0;
  padding: .85rem 1rem;
}

.student-review-banner {
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: .95rem 1.1rem;
}

.student-review-banner h2 {
  margin: 0;
  font-size: 1.05rem;
}

.student-review-banner p {
  margin: .35rem 0 0;
}

.student-review-banner.is-open {
  background: #fff6ea;
  border-color: #c9853a;
}

.student-review-banner.is-done {
  background: #eef8f1;
  border-color: #1b6b3a;
}

.student-q-mark {
  margin: 0;
  font-size: .92rem;
}

.student-q-mark strong {
  border: 1px solid var(--line);
  border-radius: 999px;
  align-items: center;
  min-height: 1.7rem;
  padding: .12rem .7rem;
  display: inline-flex;
}

.student-q-mark.is-goed strong {
  color: #fff;
  background: #1b6b3a;
  border-color: #1b6b3a;
}

.student-q-mark.is-fout strong {
  color: #fff;
  background: #9b1c1c;
  border-color: #9b1c1c;
}

.student-q-mark.is-noginvullen strong {
  color: #fff;
  background: #9a4d00;
  border-color: #9a4d00;
}

.student-q-open {
  background: #fffaf3;
  border: 1px solid #c9853a;
  border-radius: .9rem;
  padding: .7rem .8rem;
}

.student-work-filter {
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0 0 1.25rem;
  display: flex;
}

.student-work-section {
  margin-bottom: 1.5rem;
}

.student-work-section h2 {
  margin: 0 0 .7rem;
  font-size: 1.15rem;
}

.student-work-list {
  gap: .7rem;
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.student-work-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  padding: .95rem 1.1rem;
}

.student-work-card.is-fix {
  background: #fff6ea;
  border-color: #c9853a;
}

.student-work-card.is-waiting {
  background: #f3f7fc;
}

.student-work-card.is-done {
  background: #eef8f1;
  border-color: #b7d4c0;
}

.student-work-kicker {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--muted);
  margin: 0;
  font-size: .78rem;
  font-weight: 700;
}

.student-work-title {
  color: var(--brand);
  margin-top: .2rem;
  font-weight: 750;
  text-decoration: none;
  display: inline-block;
}

.student-work-title:hover {
  text-decoration: underline;
}

.student-work-summary {
  margin: .35rem 0 0;
}

.student-work-comment {
  border: 1px solid var(--line);
  white-space: pre-wrap;
  background: #fff;
  border-radius: .75rem;
  margin: .45rem 0 0;
  padding: .55rem .7rem;
}

.student-work-meta {
  color: var(--muted);
  margin: .25rem 0 0;
  font-size: .85rem;
}

.open-question-card-num {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  margin: 0 0 .35rem;
  font-size: .8rem;
  font-weight: 700;
}

.pack-visuals summary {
  cursor: pointer;
  margin-bottom: .7rem;
  font-weight: 700;
}

.permission-callout {
  background: var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .permission-callout {
    background: color-mix(in srgb, var(--accent) 12%, white);
  }
}

.permission-callout {
  border: 1px solid var(--accent);
}

@supports (color: color-mix(in lab, red, red)) {
  .permission-callout {
    border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--line));
  }
}

.permission-callout {
  border-left: 6px solid var(--accent);
  border-radius: 1rem;
  padding: 1rem 1.1rem;
}

.permission-callout-body {
  gap: .55rem;
  display: grid;
}

.pack-visuals {
  margin: 0 0 1.4rem;
}

.pack-visuals h2 {
  margin: 0 0 .7rem;
  font-size: 1.1rem;
}

.pack-visuals-grid {
  gap: 1rem;
  display: grid;
}

@media (min-width: 900px) {
  .pack-visuals-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.pack-visual-card {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 1rem;
  margin: 0;
  overflow: hidden;
}

.pack-visual-open {
  cursor: zoom-in;
  text-align: left;
  background: none;
  border: 0;
  width: 100%;
  padding: 0;
  display: block;
}

.pack-visual-card img {
  width: 100%;
  height: auto;
  display: block;
}

.pack-visual-open-hint {
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--brand);
  padding: .35rem .9rem .15rem;
  font-size: .78rem;
  font-weight: 700;
  display: block;
}

.pack-visual-card figcaption {
  gap: .25rem;
  padding: .45rem .9rem .9rem;
  font-size: .92rem;
  display: grid;
}

.pack-visual-lightbox {
  z-index: 80;
  background: #0c1628db;
  place-items: center;
  padding: 3.5rem 1rem 1.25rem;
  display: grid;
  position: fixed;
  inset: 0;
}

.pack-visual-lightbox-close {
  top: max(.7rem, env(safe-area-inset-top));
  right: max(.7rem, env(safe-area-inset-right));
  min-height: 2.5rem;
  color: var(--brand-ink);
  cursor: pointer;
  background: #fff;
  border: 0;
  border-radius: 999px;
  padding: .45rem 1rem;
  font-weight: 700;
  position: absolute;
}

.pack-visual-lightbox-figure {
  justify-items: center;
  gap: .7rem;
  max-width: min(96vw, 72rem);
  max-height: calc(100dvh - 5rem);
  margin: 0;
  display: grid;
}

.pack-visual-lightbox-figure img {
  object-fit: contain;
  background: #fff;
  border-radius: 1rem;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(100dvh - 8rem);
  display: block;
}

.pack-visual-lightbox-figure figcaption {
  color: #fff;
  text-align: center;
  font-weight: 650;
}

.phone-qr-slot {
  flex: auto;
  width: 100%;
  min-height: 0;
  position: relative;
}

.phone-qr-slot img {
  aspect-ratio: 1;
  object-fit: contain;
  background: #fff;
  border-radius: .75rem;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  padding: .4rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.printout-answer {
  white-space: pre-wrap;
}

.printout-photo {
  object-fit: contain;
  max-width: 100%;
  max-height: 16cm;
  display: block;
}

.printout-comment {
  background: #fff1f7;
  border-left: 4px solid #eb008b;
  padding: 8px 10px;
}

.printout-comment-label {
  color: #134380;
  text-transform: uppercase;
  margin-bottom: 2px;
  font-size: .85rem;
  font-weight: 700;
  display: block;
}

.sam-pill {
  text-align: center;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  min-width: 5.2rem;
  padding: 4px 8px;
  font-weight: 700;
  line-height: 1.25;
  display: inline-block;
}

.sam-rood {
  color: #9b1c1c;
  background: #fdecec;
}

.sam-oranje {
  color: #9a4e12;
  background: #fce9d4;
}

.sam-groen {
  color: #1f5a32;
  background: #dff3e6;
}

.sam-blauw {
  color: #1d4f8c;
  background: #dce9f8;
}

@media print {
  header, nav, .print-only {
    display: block !important;
  }

  .no-print, .btn, .pack-visual-lightbox, [data-nextjs-toast] {
    display: none !important;
  }

  body {
    color: #111;
    background: #fff !important;
  }

  .card {
    box-shadow: none;
    break-inside: avoid;
  }

  .agreement-section {
    break-inside: avoid;
  }

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

  .workbook {
    font-size: 11pt;
  }

  .workbook-cover, .workbook-activity, .workbook-extra {
    break-inside: avoid;
  }

  .printout-sheet {
    break-after: page;
    page-break-after: always;
  }

  .printout-answer {
    white-space: pre-wrap;
  }

  .dossier {
    font-size: 11pt;
  }

  .dossier h2 {
    break-after: avoid;
  }

  .open-check, .open-question-card, .fault-case, .work-package-card, .permission-callout, .pack-visual-card, .evidence-check {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .fault-case-banner, .open-check-banner, .open-question-card-prompt {
    break-after: avoid;
  }

  .writing-textarea, .field {
    background-color: #fff;
    border: 1px solid #111;
    min-height: 6.5rem !important;
  }

  .writing-textarea {
    background-image: repeating-linear-gradient(#0000 0 32.3333px, #222 32.3333px 25pt);
    background-attachment: local;
    line-height: 25pt;
  }

  .workbook-lines > div, .line {
    border-bottom: 1px solid #222;
    width: 100%;
  }

  .pack-visual-card img {
    max-width: 100%;
    height: auto;
  }

  table {
    break-inside: auto;
  }

  tr {
    break-inside: avoid;
  }
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

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

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

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

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

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

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

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

@property --tw-slashed-zero {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-figure {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-spacing {
  syntax: "*";
  inherits: false
}

@property --tw-numeric-fraction {
  syntax: "*";
  inherits: false
}

@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false
}

@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

@property --tw-ring-inset {
  syntax: "*";
  inherits: false
}

@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0;
}

@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}

@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}

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

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

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

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

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

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

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

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

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

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__04kpziu._.css.map*/