/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */
@charset "UTF-8";
@layer properties;
@layer theme, base, components, utilities;
@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --color-red-100: oklch(93.6% 0.032 17.717);
    --color-red-200: oklch(88.5% 0.062 18.334);
    --color-red-700: oklch(50.5% 0.213 27.518);
    --color-red-800: oklch(44.4% 0.177 26.899);
    --color-orange-50: oklch(98% 0.016 73.684);
    --color-orange-200: oklch(90.1% 0.076 70.697);
    --color-orange-300: oklch(83.7% 0.128 66.29);
    --color-orange-400: oklch(75% 0.183 55.934);
    --color-orange-500: oklch(70.5% 0.213 47.604);
    --color-orange-700: oklch(55.3% 0.195 38.402);
    --color-orange-800: oklch(47% 0.157 37.304);
    --color-amber-100: oklch(96.2% 0.059 95.617);
    --color-amber-800: oklch(47.3% 0.137 46.201);
    --color-green-600: oklch(62.7% 0.194 149.214);
    --color-emerald-100: oklch(95% 0.052 163.051);
    --color-emerald-800: oklch(43.2% 0.095 166.913);
    --color-sky-100: oklch(95.1% 0.026 236.824);
    --color-sky-800: oklch(44.3% 0.11 240.79);
    --color-blue-500: oklch(62.3% 0.214 259.815);
    --color-blue-700: oklch(48.8% 0.243 264.376);
    --color-blue-900: oklch(37.9% 0.146 265.522);
    --color-blue-950: oklch(28.2% 0.091 267.935);
    --color-indigo-100: oklch(93% 0.034 272.788);
    --color-indigo-800: oklch(39.8% 0.195 277.366);
    --color-rose-50: oklch(96.9% 0.015 12.422);
    --color-rose-100: oklch(94.1% 0.03 12.58);
    --color-rose-200: oklch(89.2% 0.058 10.001);
    --color-rose-300: oklch(81% 0.117 11.638);
    --color-rose-700: oklch(51.4% 0.222 16.935);
    --color-rose-800: oklch(45.5% 0.188 13.697);
    --color-slate-50: oklch(98.4% 0.003 247.858);
    --color-slate-100: oklch(96.8% 0.007 247.896);
    --color-slate-200: oklch(92.9% 0.013 255.508);
    --color-slate-300: oklch(86.9% 0.022 252.894);
    --color-slate-400: oklch(70.4% 0.04 256.788);
    --color-slate-500: oklch(55.4% 0.046 257.417);
    --color-slate-600: oklch(44.6% 0.043 257.281);
    --color-slate-700: oklch(37.2% 0.044 257.287);
    --color-slate-900: oklch(20.8% 0.042 265.755);
    --color-slate-950: oklch(12.9% 0.042 264.695);
    --color-white: #fff;
    --spacing: 0.25rem;
    --container-md: 28rem;
    --container-xl: 36rem;
    --container-3xl: 48rem;
    --text-xs: 0.75rem;
    --text-xs--line-height: calc(1 / 0.75);
    --text-sm: 0.875rem;
    --text-sm--line-height: calc(1.25 / 0.875);
    --text-base: 1rem;
    --text-base--line-height: calc(1.5 / 1);
    --text-lg: 1.125rem;
    --text-lg--line-height: calc(1.75 / 1.125);
    --text-xl: 1.25rem;
    --text-xl--line-height: calc(1.75 / 1.25);
    --text-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;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --tracking-tight: -0.025em;
    --radius-sm: 0.25rem;
    --radius-md: 0.375rem;
    --radius-lg: 0.5rem;
    --radius-xl: 0.75rem;
    --radius-2xl: 1rem;
    --radius-3xl: 1.5rem;
    --blur-3xl: 64px;
    --default-transition-duration: 150ms;
    --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    border: 0 solid;
  }
  html,
  :host {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }
  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }
  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-size: inherit;
    font-weight: inherit;
  }
  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }
  b,
  strong {
    font-weight: bolder;
  }
  code,
  kbd,
  samp,
  pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }
  small {
    font-size: 80%;
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    bottom: -0.25em;
  }
  sup {
    top: -0.5em;
  }
  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }
  :-moz-focusring {
    outline: auto;
  }
  progress {
    vertical-align: baseline;
  }
  summary {
    display: list-item;
  }
  ol,
  ul,
  menu {
    list-style: none;
  }
  img,
  svg,
  video,
  canvas,
  audio,
  iframe,
  embed,
  object {
    display: block;
    vertical-align: middle;
  }
  img,
  video {
    max-width: 100%;
    height: auto;
  }
  button,
  input,
  select,
  optgroup,
  textarea,
  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    border-radius: 0;
    background-color: transparent;
    opacity: 1;
  }
  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }
  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 20px;
  }
  ::file-selector-button {
    margin-inline-end: 4px;
  }
  ::placeholder {
    opacity: 1;
  }
  @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentcolor;
      @supports (color: color-mix(in lab, red, red)) {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }
  textarea {
    resize: vertical;
  }
  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }
  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }
  ::-webkit-datetime-edit {
    display: inline-flex;
  }
  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }
  ::-webkit-datetime-edit,
  ::-webkit-datetime-edit-year-field,
  ::-webkit-datetime-edit-month-field,
  ::-webkit-datetime-edit-day-field,
  ::-webkit-datetime-edit-hour-field,
  ::-webkit-datetime-edit-minute-field,
  ::-webkit-datetime-edit-second-field,
  ::-webkit-datetime-edit-millisecond-field,
  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }
  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }
  :-moz-ui-invalid {
    box-shadow: none;
  }
  button,
  input:where([type=button], [type=reset], [type=submit]),
  ::file-selector-button {
    appearance: button;
  }
  ::-webkit-inner-spin-button,
  ::-webkit-outer-spin-button {
    height: auto;
  }
  [hidden]:where(:not([hidden=until-found])) {
    display: none !important;
  }
}
@layer utilities {
  .invisible {
    visibility: hidden;
  }
  .visible {
    visibility: visible;
  }
  .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border-width: 0;
  }
  .absolute {
    position: absolute;
  }
  .fixed {
    position: fixed;
  }
  .relative {
    position: relative;
  }
  .static {
    position: static;
  }
  .sticky {
    position: sticky;
  }
  .inset-x-0 {
    inset-inline: calc(var(--spacing) * 0);
  }
  .start {
    inset-inline-start: var(--spacing);
  }
  .start\! {
    inset-inline-start: var(--spacing) !important;
  }
  .end {
    inset-inline-end: var(--spacing);
  }
  .top-0 {
    top: calc(var(--spacing) * 0);
  }
  .top-4 {
    top: calc(var(--spacing) * 4);
  }
  .right-0 {
    right: calc(var(--spacing) * 0);
  }
  .isolate {
    isolation: isolate;
  }
  .z-10 {
    z-index: 10;
  }
  .z-20 {
    z-index: 20;
  }
  .container {
    width: 100%;
    @media (width >= 40rem) {
      max-width: 40rem;
    }
    @media (width >= 48rem) {
      max-width: 48rem;
    }
    @media (width >= 64rem) {
      max-width: 64rem;
    }
    @media (width >= 80rem) {
      max-width: 80rem;
    }
    @media (width >= 96rem) {
      max-width: 96rem;
    }
  }
  .m-0 {
    margin: calc(var(--spacing) * 0);
  }
  .mx-6 {
    margin-inline: calc(var(--spacing) * 6);
  }
  .mx-auto {
    margin-inline: auto;
  }
  .\!mt-0 {
    margin-top: calc(var(--spacing) * 0) !important;
  }
  .mt-0\.5 {
    margin-top: calc(var(--spacing) * 0.5);
  }
  .mt-1 {
    margin-top: calc(var(--spacing) * 1);
  }
  .mt-1\.5 {
    margin-top: calc(var(--spacing) * 1.5);
  }
  .mt-2 {
    margin-top: calc(var(--spacing) * 2);
  }
  .mt-3 {
    margin-top: calc(var(--spacing) * 3);
  }
  .mt-4 {
    margin-top: calc(var(--spacing) * 4);
  }
  .mt-5 {
    margin-top: calc(var(--spacing) * 5);
  }
  .mt-6 {
    margin-top: calc(var(--spacing) * 6);
  }
  .mt-7 {
    margin-top: calc(var(--spacing) * 7);
  }
  .mt-8 {
    margin-top: calc(var(--spacing) * 8);
  }
  .mt-10 {
    margin-top: calc(var(--spacing) * 10);
  }
  .\!mb-0 {
    margin-bottom: calc(var(--spacing) * 0) !important;
  }
  .mb-2 {
    margin-bottom: calc(var(--spacing) * 2);
  }
  .mb-3 {
    margin-bottom: calc(var(--spacing) * 3);
  }
  .mb-5 {
    margin-bottom: calc(var(--spacing) * 5);
  }
  .mb-6 {
    margin-bottom: calc(var(--spacing) * 6);
  }
  .mb-7 {
    margin-bottom: calc(var(--spacing) * 7);
  }
  .mb-\[1\.2rem\] {
    margin-bottom: 1.2rem;
  }
  .ml-auto {
    margin-left: auto;
  }
  .block {
    display: block;
  }
  .block\! {
    display: block !important;
  }
  .contents {
    display: contents;
  }
  .flex {
    display: flex;
  }
  .grid {
    display: grid;
  }
  .hidden {
    display: none;
  }
  .inline {
    display: inline;
  }
  .inline-flex {
    display: inline-flex;
  }
  .table {
    display: table;
  }
  .table\! {
    display: table !important;
  }
  .h-1\.5 {
    height: calc(var(--spacing) * 1.5);
  }
  .h-2\.5 {
    height: calc(var(--spacing) * 2.5);
  }
  .h-4 {
    height: calc(var(--spacing) * 4);
  }
  .h-5 {
    height: calc(var(--spacing) * 5);
  }
  .h-7 {
    height: calc(var(--spacing) * 7);
  }
  .h-10 {
    height: calc(var(--spacing) * 10);
  }
  .h-11 {
    height: calc(var(--spacing) * 11);
  }
  .h-20 {
    height: calc(var(--spacing) * 20);
  }
  .h-72 {
    height: calc(var(--spacing) * 72);
  }
  .max-h-\[76px\] {
    max-height: 76px;
  }
  .min-h-11 {
    min-height: calc(var(--spacing) * 11);
  }
  .min-h-\[2\.35rem\] {
    min-height: 2.35rem;
  }
  .min-h-\[92px\] {
    min-height: 92px;
  }
  .min-h-\[calc\(100vh-6rem\)\] {
    min-height: calc(100vh - 6rem);
  }
  .w-2\.5 {
    width: calc(var(--spacing) * 2.5);
  }
  .w-4 {
    width: calc(var(--spacing) * 4);
  }
  .w-5 {
    width: calc(var(--spacing) * 5);
  }
  .w-10 {
    width: calc(var(--spacing) * 10);
  }
  .w-11 {
    width: calc(var(--spacing) * 11);
  }
  .w-12 {
    width: calc(var(--spacing) * 12);
  }
  .w-20 {
    width: calc(var(--spacing) * 20);
  }
  .w-72 {
    width: calc(var(--spacing) * 72);
  }
  .w-fit {
    width: fit-content;
  }
  .w-full {
    width: 100%;
  }
  .max-w-3xl {
    max-width: var(--container-3xl);
  }
  .max-w-\[54rem\] {
    max-width: 54rem;
  }
  .max-w-full {
    max-width: 100%;
  }
  .max-w-xl {
    max-width: var(--container-xl);
  }
  .\!min-w-\[6rem\] {
    min-width: 6rem !important;
  }
  .min-w-0 {
    min-width: calc(var(--spacing) * 0);
  }
  .min-w-9 {
    min-width: calc(var(--spacing) * 9);
  }
  .min-w-\[20rem\] {
    min-width: 20rem;
  }
  .flex-1 {
    flex: 1;
  }
  .flex-shrink-0 {
    flex-shrink: 0;
  }
  .shrink-0 {
    flex-shrink: 0;
  }
  .grow {
    flex-grow: 1;
  }
  .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,);
  }
  .transform\! {
    transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,) !important;
  }
  .cursor-pointer {
    cursor: pointer;
  }
  .resize {
    resize: both;
  }
  .scroll-mt-\[var\(--anchor-offset\)\] {
    scroll-margin-top: var(--anchor-offset);
  }
  .list-none {
    list-style-type: none;
  }
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .flex-col {
    flex-direction: column;
  }
  .flex-wrap {
    flex-wrap: wrap;
  }
  .items-baseline {
    align-items: baseline;
  }
  .items-center {
    align-items: center;
  }
  .items-start {
    align-items: flex-start;
  }
  .justify-between {
    justify-content: space-between;
  }
  .justify-center {
    justify-content: center;
  }
  .justify-end {
    justify-content: flex-end;
  }
  .gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .gap-2\.5 {
    gap: calc(var(--spacing) * 2.5);
  }
  .gap-3 {
    gap: calc(var(--spacing) * 3);
  }
  .gap-4 {
    gap: calc(var(--spacing) * 4);
  }
  .gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .gap-6 {
    gap: calc(var(--spacing) * 6);
  }
  .gap-8 {
    gap: calc(var(--spacing) * 8);
  }
  .gap-\[0\.65rem\] {
    gap: 0.65rem;
  }
  .space-y-1 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-2 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-4 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-5 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .space-y-6 {
    :where(& > :not(:last-child)) {
      --tw-space-y-reverse: 0;
      margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
      margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
    }
  }
  .gap-x-2 {
    column-gap: calc(var(--spacing) * 2);
  }
  .gap-y-1 {
    row-gap: calc(var(--spacing) * 1);
  }
  .self-start {
    align-self: flex-start;
  }
  .overflow-hidden {
    overflow: hidden;
  }
  .overflow-x-auto {
    overflow-x: auto;
  }
  .rounded {
    border-radius: 0.25rem;
  }
  .rounded-2xl {
    border-radius: var(--radius-2xl);
  }
  .rounded-3xl {
    border-radius: var(--radius-3xl);
  }
  .rounded-full {
    border-radius: calc(infinity * 1px);
  }
  .rounded-lg {
    border-radius: var(--radius-lg);
  }
  .rounded-md {
    border-radius: var(--radius-md);
  }
  .rounded-xl {
    border-radius: var(--radius-xl);
  }
  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }
  .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-dashed {
    --tw-border-style: dashed;
    border-style: dashed;
  }
  .border-\[\#12417e\]\/15 {
    border-color: color-mix(in oklab, #12417e 15%, transparent);
  }
  .border-orange-200 {
    border-color: var(--color-orange-200);
  }
  .border-orange-200\/70 {
    border-color: color-mix(in srgb, oklch(90.1% 0.076 70.697) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-orange-200) 70%, transparent);
    }
  }
  .border-red-200 {
    border-color: var(--color-red-200);
  }
  .border-rose-200 {
    border-color: var(--color-rose-200);
  }
  .border-slate-200 {
    border-color: var(--color-slate-200);
  }
  .border-slate-200\/80 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 80%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 80%, transparent);
    }
  }
  .border-slate-200\/85 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 85%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 85%, transparent);
    }
  }
  .border-slate-200\/90 {
    border-color: color-mix(in srgb, oklch(92.9% 0.013 255.508) 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-200) 90%, transparent);
    }
  }
  .border-slate-300 {
    border-color: var(--color-slate-300);
  }
  .border-slate-400\/50 {
    border-color: color-mix(in srgb, oklch(70.4% 0.04 256.788) 50%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      border-color: color-mix(in oklab, var(--color-slate-400) 50%, transparent);
    }
  }
  .bg-amber-100 {
    background-color: var(--color-amber-100);
  }
  .bg-emerald-100 {
    background-color: var(--color-emerald-100);
  }
  .bg-green-600 {
    background-color: var(--color-green-600);
  }
  .bg-indigo-100 {
    background-color: var(--color-indigo-100);
  }
  .bg-orange-50 {
    background-color: var(--color-orange-50);
  }
  .bg-red-100 {
    background-color: var(--color-red-100);
  }
  .bg-rose-50 {
    background-color: var(--color-rose-50);
  }
  .bg-rose-100 {
    background-color: var(--color-rose-100);
  }
  .bg-sky-100 {
    background-color: var(--color-sky-100);
  }
  .bg-slate-50 {
    background-color: var(--color-slate-50);
  }
  .bg-slate-50\/70 {
    background-color: color-mix(in srgb, oklch(98.4% 0.003 247.858) 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-slate-50) 70%, transparent);
    }
  }
  .bg-slate-100 {
    background-color: var(--color-slate-100);
  }
  .bg-slate-200 {
    background-color: var(--color-slate-200);
  }
  .bg-slate-300 {
    background-color: var(--color-slate-300);
  }
  .bg-white {
    background-color: var(--color-white);
  }
  .bg-white\/10 {
    background-color: color-mix(in srgb, #fff 10%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 10%, transparent);
    }
  }
  .bg-white\/20 {
    background-color: color-mix(in srgb, #fff 20%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 20%, transparent);
    }
  }
  .bg-white\/90 {
    background-color: color-mix(in srgb, #fff 90%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 90%, transparent);
    }
  }
  .bg-white\/95 {
    background-color: color-mix(in srgb, #fff 95%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 95%, transparent);
    }
  }
  .bg-white\/96 {
    background-color: color-mix(in srgb, #fff 96%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      background-color: color-mix(in oklab, var(--color-white) 96%, transparent);
    }
  }
  .bg-gradient-to-r {
    --tw-gradient-position: to right in oklab;
    background-image: linear-gradient(var(--tw-gradient-stops));
  }
  .bg-\[linear-gradient\(135deg\,var\(--color-blue\)_0\%\,var\(--color-blue-dark\)_65\%\)\] {
    background-image: linear-gradient(135deg,var(--color-blue) 0%,var(--color-blue-dark) 65%);
  }
  .bg-\[linear-gradient\(180deg\,\#ffffff\,\#f8fafc\)\] {
    background-image: linear-gradient(180deg,#ffffff,#f8fafc);
  }
  .bg-\[linear-gradient\(180deg\,rgba\(18\,65\,126\,0\.08\)\,rgba\(255\,255\,255\,0\.98\)\)\] {
    background-image: linear-gradient(180deg,rgba(18,65,126,0.08),rgba(255,255,255,0.98));
  }
  .from-orange-500 {
    --tw-gradient-from: var(--color-orange-500);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .via-orange-400 {
    --tw-gradient-via: var(--color-orange-400);
    --tw-gradient-via-stops: var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);
    --tw-gradient-stops: var(--tw-gradient-via-stops);
  }
  .to-blue-700 {
    --tw-gradient-to: var(--color-blue-700);
    --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
  }
  .object-contain {
    object-fit: contain;
  }
  .p-2 {
    padding: calc(var(--spacing) * 2);
  }
  .p-3 {
    padding: calc(var(--spacing) * 3);
  }
  .p-3\.5 {
    padding: calc(var(--spacing) * 3.5);
  }
  .p-5 {
    padding: calc(var(--spacing) * 5);
  }
  .p-6 {
    padding: calc(var(--spacing) * 6);
  }
  .p-\[1\.15rem\] {
    padding: 1.15rem;
  }
  .px-1 {
    padding-inline: calc(var(--spacing) * 1);
  }
  .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-7 {
    padding-inline: calc(var(--spacing) * 7);
  }
  .px-8 {
    padding-inline: calc(var(--spacing) * 8);
  }
  .px-9 {
    padding-inline: calc(var(--spacing) * 9);
  }
  .py-1 {
    padding-block: calc(var(--spacing) * 1);
  }
  .py-2 {
    padding-block: calc(var(--spacing) * 2);
  }
  .py-3 {
    padding-block: calc(var(--spacing) * 3);
  }
  .py-3\.5 {
    padding-block: calc(var(--spacing) * 3.5);
  }
  .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-9 {
    padding-block: calc(var(--spacing) * 9);
  }
  .py-10 {
    padding-block: calc(var(--spacing) * 10);
  }
  .pt-4 {
    padding-top: calc(var(--spacing) * 4);
  }
  .pt-6 {
    padding-top: calc(var(--spacing) * 6);
  }
  .pt-8 {
    padding-top: calc(var(--spacing) * 8);
  }
  .pb-3 {
    padding-bottom: calc(var(--spacing) * 3);
  }
  .pb-\[0\.65rem\] {
    padding-bottom: 0.65rem;
  }
  .text-left {
    text-align: left;
  }
  .text-right {
    text-align: right;
  }
  .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-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-\[0\.72rem\] {
    font-size: 0.72rem;
  }
  .text-\[0\.78rem\] {
    font-size: 0.78rem;
  }
  .text-\[0\.82rem\] {
    font-size: 0.82rem;
  }
  .text-\[0\.88rem\] {
    font-size: 0.88rem;
  }
  .text-\[0\.92rem\] {
    font-size: 0.92rem;
  }
  .text-\[0\.94rem\] {
    font-size: 0.94rem;
  }
  .text-\[0\.95rem\] {
    font-size: 0.95rem;
  }
  .text-\[1\.08rem\] {
    font-size: 1.08rem;
  }
  .text-\[1\.9rem\] {
    font-size: 1.9rem;
  }
  .text-\[2\.2rem\] {
    font-size: 2.2rem;
  }
  .leading-6 {
    --tw-leading: calc(var(--spacing) * 6);
    line-height: calc(var(--spacing) * 6);
  }
  .leading-7 {
    --tw-leading: calc(var(--spacing) * 7);
    line-height: calc(var(--spacing) * 7);
  }
  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }
  .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-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }
  .tracking-\[0\.2em\] {
    --tw-tracking: 0.2em;
    letter-spacing: 0.2em;
  }
  .tracking-\[0\.08em\] {
    --tw-tracking: 0.08em;
    letter-spacing: 0.08em;
  }
  .tracking-\[0\.14em\] {
    --tw-tracking: 0.14em;
    letter-spacing: 0.14em;
  }
  .tracking-\[0\.22em\] {
    --tw-tracking: 0.22em;
    letter-spacing: 0.22em;
  }
  .tracking-\[0\.24em\] {
    --tw-tracking: 0.24em;
    letter-spacing: 0.24em;
  }
  .tracking-\[0\.32em\] {
    --tw-tracking: 0.32em;
    letter-spacing: 0.32em;
  }
  .tracking-tight {
    --tw-tracking: var(--tracking-tight);
    letter-spacing: var(--tracking-tight);
  }
  .whitespace-nowrap {
    white-space: nowrap;
  }
  .text-\[\#12417e\] {
    color: #12417e;
  }
  .text-amber-800 {
    color: var(--color-amber-800);
  }
  .text-blue-900 {
    color: var(--color-blue-900);
  }
  .text-blue-950 {
    color: var(--color-blue-950);
  }
  .text-emerald-800 {
    color: var(--color-emerald-800);
  }
  .text-indigo-800 {
    color: var(--color-indigo-800);
  }
  .text-orange-500 {
    color: var(--color-orange-500);
  }
  .text-orange-700 {
    color: var(--color-orange-700);
  }
  .text-orange-800 {
    color: var(--color-orange-800);
  }
  .text-red-700 {
    color: var(--color-red-700);
  }
  .text-rose-700 {
    color: var(--color-rose-700);
  }
  .text-rose-800 {
    color: var(--color-rose-800);
  }
  .text-sky-800 {
    color: var(--color-sky-800);
  }
  .text-slate-500 {
    color: var(--color-slate-500);
  }
  .text-slate-600 {
    color: var(--color-slate-600);
  }
  .text-slate-700 {
    color: var(--color-slate-700);
  }
  .text-slate-900 {
    color: var(--color-slate-900);
  }
  .text-slate-950 {
    color: var(--color-slate-950);
  }
  .text-white {
    color: var(--color-white);
  }
  .text-white\/70 {
    color: color-mix(in srgb, #fff 70%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 70%, transparent);
    }
  }
  .text-white\/85 {
    color: color-mix(in srgb, #fff 85%, transparent);
    @supports (color: color-mix(in lab, red, red)) {
      color: color-mix(in oklab, var(--color-white) 85%, transparent);
    }
  }
  .capitalize {
    text-transform: capitalize;
  }
  .lowercase {
    text-transform: lowercase;
  }
  .uppercase {
    text-transform: uppercase;
  }
  .italic {
    font-style: italic;
  }
  .shadow {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_0_0_3px_rgba\(22\,163\,74\,0\.12\)\] {
    --tw-shadow: 0 0 0 3px var(--tw-shadow-color, rgba(22,163,74,0.12));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_16px_34px_-26px_rgba\(15\,23\,42\,0\.2\)\] {
    --tw-shadow: 0 16px 34px -26px var(--tw-shadow-color, rgba(15,23,42,0.2));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_18px_42px_-30px_rgba\(15\,23\,42\,0\.28\)\] {
    --tw-shadow: 0 18px 42px -30px var(--tw-shadow-color, rgba(15,23,42,0.28));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_24px_48px_-28px_rgba\(13\,47\,92\,0\.55\)\] {
    --tw-shadow: 0 24px 48px -28px var(--tw-shadow-color, rgba(13,47,92,0.55));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[0_32px_80px_-40px_rgba\(15\,23\,42\,0\.35\)\] {
    --tw-shadow: 0 32px 80px -40px var(--tw-shadow-color, rgba(15,23,42,0.35));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-\[inset_0_1px_0_rgba\(255\,255\,255\,0\.7\)\] {
    --tw-shadow: inset 0 1px 0 var(--tw-shadow-color, rgba(255,255,255,0.7));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .shadow-sm {
    --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .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-1 {
    --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
    box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
  }
  .ring-slate-200 {
    --tw-ring-color: var(--color-slate-200);
  }
  .blur {
    --tw-blur: blur(8px);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .blur-3xl {
    --tw-blur: blur(var(--blur-3xl));
    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,);
  }
  .invert {
    --tw-invert: invert(100%);
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .filter {
    filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
  }
  .backdrop-blur {
    --tw-backdrop-blur: blur(8px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
    backdrop-filter: var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);
  }
  .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));
  }
  .\[rdoc-ref\:lib\/racc\/rdoc\/grammar\.en\.rdoc\] {
    rdoc-ref: lib/racc/rdoc/grammar.en.rdoc;
  }
  .group-open\:rotate-180 {
    &:is(:where(.group):is([open], :popover-open, :open) *) {
      rotate: 180deg;
    }
  }
  .peer-checked\:bg-\[linear-gradient\(135deg\,var\(--color-orange\)\,\#f7b355\)\] {
    &:is(:where(.peer):checked ~ *) {
      background-image: linear-gradient(135deg,var(--color-orange),#f7b355);
    }
  }
  .peer-focus-visible\:outline {
    &:is(:where(.peer):focus-visible ~ *) {
      outline-style: var(--tw-outline-style);
      outline-width: 1px;
    }
  }
  .peer-focus-visible\:outline-2 {
    &:is(:where(.peer):focus-visible ~ *) {
      outline-style: var(--tw-outline-style);
      outline-width: 2px;
    }
  }
  .peer-focus-visible\:outline-offset-2 {
    &:is(:where(.peer):focus-visible ~ *) {
      outline-offset: 2px;
    }
  }
  .peer-focus-visible\:outline-\[\#12417e\]\/30 {
    &:is(:where(.peer):focus-visible ~ *) {
      outline-color: color-mix(in oklab, #12417e 30%, transparent);
    }
  }
  .marker\:hidden {
    & *::marker {
      display: none;
    }
    &::marker {
      display: none;
    }
    & *::-webkit-details-marker {
      display: none;
    }
    &::-webkit-details-marker {
      display: none;
    }
  }
  .after\:absolute {
    &::after {
      content: var(--tw-content);
      position: absolute;
    }
  }
  .after\:top-\[0\.18rem\] {
    &::after {
      content: var(--tw-content);
      top: 0.18rem;
    }
  }
  .after\:left-\[0\.18rem\] {
    &::after {
      content: var(--tw-content);
      left: 0.18rem;
    }
  }
  .after\:h-\[1\.34rem\] {
    &::after {
      content: var(--tw-content);
      height: 1.34rem;
    }
  }
  .after\:w-\[1\.34rem\] {
    &::after {
      content: var(--tw-content);
      width: 1.34rem;
    }
  }
  .after\:rounded-full {
    &::after {
      content: var(--tw-content);
      border-radius: calc(infinity * 1px);
    }
  }
  .after\:bg-white {
    &::after {
      content: var(--tw-content);
      background-color: var(--color-white);
    }
  }
  .after\:shadow-\[0_8px_16px_-12px_rgba\(15\,23\,42\,0\.55\)\] {
    &::after {
      content: var(--tw-content);
      --tw-shadow: 0 8px 16px -12px var(--tw-shadow-color, rgba(15,23,42,0.55));
      box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
    }
  }
  .after\:transition-transform {
    &::after {
      content: var(--tw-content);
      transition-property: transform, translate, scale, rotate;
      transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
      transition-duration: var(--tw-duration, var(--default-transition-duration));
    }
  }
  .peer-checked\:after\:translate-x-\[1\.2rem\] {
    &:is(:where(.peer):checked ~ *) {
      &::after {
        content: var(--tw-content);
        --tw-translate-x: 1.2rem;
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:-translate-y-0\.5 {
    &:hover {
      @media (hover: hover) {
        --tw-translate-y: calc(var(--spacing) * -0.5);
        translate: var(--tw-translate-x) var(--tw-translate-y);
      }
    }
  }
  .hover\:border-orange-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-orange-300);
      }
    }
  }
  .hover\:border-rose-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-rose-300);
      }
    }
  }
  .hover\:border-slate-300 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-slate-300);
      }
    }
  }
  .hover\:border-slate-400 {
    &:hover {
      @media (hover: hover) {
        border-color: var(--color-slate-400);
      }
    }
  }
  .hover\:bg-red-200 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-red-200);
      }
    }
  }
  .hover\:bg-rose-100 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-rose-100);
      }
    }
  }
  .hover\:bg-slate-50 {
    &:hover {
      @media (hover: hover) {
        background-color: var(--color-slate-50);
      }
    }
  }
  .hover\:text-\[\#12417e\] {
    &:hover {
      @media (hover: hover) {
        color: #12417e;
      }
    }
  }
  .hover\:text-red-800 {
    &:hover {
      @media (hover: hover) {
        color: var(--color-red-800);
      }
    }
  }
  .hover\:shadow-md {
    &:hover {
      @media (hover: hover) {
        --tw-shadow: 0 4px 6px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 2px 4px -2px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
        box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
      }
    }
  }
  .focus\:ring-2 {
    &:focus {
      --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);
    }
  }
  .focus\:ring-blue-500 {
    &:focus {
      --tw-ring-color: var(--color-blue-500);
    }
  }
  .focus\:ring-orange-400 {
    &:focus {
      --tw-ring-color: var(--color-orange-400);
    }
  }
  .focus\:ring-offset-2 {
    &:focus {
      --tw-ring-offset-width: 2px;
      --tw-ring-offset-shadow: var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    }
  }
  .focus\:outline-none {
    &:focus {
      --tw-outline-style: none;
      outline-style: none;
    }
  }
  .sm\:grid-cols-2 {
    @media (width >= 40rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .sm\:flex-row {
    @media (width >= 40rem) {
      flex-direction: row;
    }
  }
  .sm\:items-start {
    @media (width >= 40rem) {
      align-items: flex-start;
    }
  }
  .sm\:justify-between {
    @media (width >= 40rem) {
      justify-content: space-between;
    }
  }
  .sm\:px-7 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 7);
    }
  }
  .sm\:px-8 {
    @media (width >= 40rem) {
      padding-inline: calc(var(--spacing) * 8);
    }
  }
  .sm\:py-9 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 9);
    }
  }
  .sm\:py-10 {
    @media (width >= 40rem) {
      padding-block: calc(var(--spacing) * 10);
    }
  }
  .sm\:text-4xl {
    @media (width >= 40rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .sm\:text-5xl {
    @media (width >= 40rem) {
      font-size: var(--text-5xl);
      line-height: var(--tw-leading, var(--text-5xl--line-height));
    }
  }
  .md\:col-span-3 {
    @media (width >= 48rem) {
      grid-column: span 3 / span 3;
    }
  }
  .md\:w-64 {
    @media (width >= 48rem) {
      width: calc(var(--spacing) * 64);
    }
  }
  .md\:max-w-md {
    @media (width >= 48rem) {
      max-width: var(--container-md);
    }
  }
  .md\:flex-1 {
    @media (width >= 48rem) {
      flex: 1;
    }
  }
  .md\:grid-cols-2 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-3 {
    @media (width >= 48rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .md\:grid-cols-\[5\.5rem_minmax\(0\,1fr\)\] {
    @media (width >= 48rem) {
      grid-template-columns: 5.5rem minmax(0,1fr);
    }
  }
  .md\:flex-row {
    @media (width >= 48rem) {
      flex-direction: row;
    }
  }
  .md\:items-end {
    @media (width >= 48rem) {
      align-items: flex-end;
    }
  }
  .lg\:flex-row {
    @media (width >= 64rem) {
      flex-direction: row;
    }
  }
  .lg\:items-center {
    @media (width >= 64rem) {
      align-items: center;
    }
  }
  .lg\:items-end {
    @media (width >= 64rem) {
      align-items: flex-end;
    }
  }
  .lg\:justify-between {
    @media (width >= 64rem) {
      justify-content: space-between;
    }
  }
  .lg\:justify-end {
    @media (width >= 64rem) {
      justify-content: flex-end;
    }
  }
  .lg\:px-6 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 6);
    }
  }
  .lg\:px-10 {
    @media (width >= 64rem) {
      padding-inline: calc(var(--spacing) * 10);
    }
  }
  .lg\:py-12 {
    @media (width >= 64rem) {
      padding-block: calc(var(--spacing) * 12);
    }
  }
  .lg\:text-4xl {
    @media (width >= 64rem) {
      font-size: var(--text-4xl);
      line-height: var(--tw-leading, var(--text-4xl--line-height));
    }
  }
  .xl\:sticky {
    @media (width >= 80rem) {
      position: sticky;
    }
  }
  .xl\:top-\[var\(--content-sticky-offset\)\] {
    @media (width >= 80rem) {
      top: var(--content-sticky-offset);
    }
  }
  .xl\:max-h-\[calc\(100vh-var\(--content-sticky-offset\)-1rem\)\] {
    @media (width >= 80rem) {
      max-height: calc(100vh - var(--content-sticky-offset) - 1rem);
    }
  }
  .xl\:grid-cols-3 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(3, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-4 {
    @media (width >= 80rem) {
      grid-template-columns: repeat(4, minmax(0, 1fr));
    }
  }
  .xl\:grid-cols-\[minmax\(0\,1fr\)_22rem\] {
    @media (width >= 80rem) {
      grid-template-columns: minmax(0,1fr) 22rem;
    }
  }
  .xl\:grid-cols-\[minmax\(0\,1fr\)_23rem\] {
    @media (width >= 80rem) {
      grid-template-columns: minmax(0,1fr) 23rem;
    }
  }
  .xl\:self-start {
    @media (width >= 80rem) {
      align-self: flex-start;
    }
  }
  .\32 xl\:grid-cols-7 {
    @media (width >= 96rem) {
      grid-template-columns: repeat(7, minmax(0, 1fr));
    }
  }
}
trix-editor {
  border: 1px solid #bbb;
  border-radius: 3px;
  margin: 0;
  padding: 0.4em 0.6em;
  min-height: 5em;
  outline: none;
}
trix-toolbar * {
  box-sizing: border-box;
}
trix-toolbar .trix-button-row {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  overflow-x: auto;
}
trix-toolbar .trix-button-group {
  display: flex;
  margin-bottom: 10px;
  border: 1px solid #bbb;
  border-top-color: #ccc;
  border-bottom-color: #888;
  border-radius: 3px;
}
trix-toolbar .trix-button-group:not(:first-child) {
  margin-left: 1.5vw;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group:not(:first-child) {
    margin-left: 0;
  }
}
trix-toolbar .trix-button-group-spacer {
  flex-grow: 1;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button-group-spacer {
    display: none;
  }
}
trix-toolbar .trix-button {
  position: relative;
  float: left;
  color: rgba(0, 0, 0, 0.6);
  font-size: 0.75em;
  font-weight: 600;
  white-space: nowrap;
  padding: 0 0.5em;
  margin: 0;
  outline: none;
  border: none;
  border-bottom: 1px solid #ddd;
  border-radius: 0;
  background: transparent;
}
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-toolbar .trix-button.trix-active {
  background: #cbeefa;
  color: black;
}
trix-toolbar .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-toolbar .trix-button:disabled {
  color: rgba(0, 0, 0, 0.125);
}
@media (max-width: 768px) {
  trix-toolbar .trix-button {
    letter-spacing: -0.01em;
    padding: 0 0.3em;
  }
}
trix-toolbar .trix-button--icon {
  font-size: inherit;
  width: 2.6em;
  height: 1.6em;
  max-width: calc(0.8em + 4vw);
  text-indent: -9999px;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon {
    height: 2em;
    max-width: calc(0.8em + 3.5vw);
  }
}
trix-toolbar .trix-button--icon::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.6;
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  trix-toolbar .trix-button--icon::before {
    right: 6%;
    left: 6%;
  }
}
trix-toolbar .trix-button--icon.trix-active::before {
  opacity: 1;
}
trix-toolbar .trix-button--icon:disabled::before {
  opacity: 0.125;
}
trix-toolbar .trix-button--icon-attach::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M10.5%2018V7.5c0-2.25%203-2.25%203%200V18c0%204.125-6%204.125-6%200V7.5c0-6.375%209-6.375%209%200V18%22%20stroke%3D%22%23000%22%20stroke-width%3D%222%22%20stroke-miterlimit%3D%2210%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
  top: 8%;
  bottom: 4%;
}
trix-toolbar .trix-button--icon-bold::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.522%2019.242a.5.5%200%200%201-.5-.5V5.35a.5.5%200%200%201%20.5-.5h5.783c1.347%200%202.46.345%203.24.982.783.64%201.216%201.562%201.216%202.683%200%201.13-.587%202.129-1.476%202.71a.35.35%200%200%200%20.049.613c1.259.56%202.101%201.742%202.101%203.22%200%201.282-.483%202.334-1.363%203.063-.876.726-2.132%201.12-3.66%201.12h-5.89ZM9.27%207.347v3.362h1.97c.766%200%201.347-.17%201.733-.464.38-.291.587-.716.587-1.27%200-.53-.183-.928-.513-1.198-.334-.273-.838-.43-1.505-.43H9.27Zm0%205.606v3.791h2.389c.832%200%201.448-.177%201.853-.497.399-.315.614-.786.614-1.423%200-.62-.22-1.077-.63-1.385-.418-.313-1.053-.486-1.905-.486H9.27Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-italic::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%205h6.5v2h-2.23l-2.31%2010H13v2H6v-2h2.461l2.306-10H9V5Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-link::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M18.948%205.258a4.337%204.337%200%200%200-6.108%200L11.217%206.87a.993.993%200%200%200%200%201.41c.392.39%201.027.39%201.418%200l1.623-1.613a2.323%202.323%200%200%201%203.271%200%202.29%202.29%200%200%201%200%203.251l-2.393%202.38a3.021%203.021%200%200%201-4.255%200l-.05-.049a1.007%201.007%200%200%200-1.418%200%20.993.993%200%200%200%200%201.41l.05.049a5.036%205.036%200%200%200%207.091%200l2.394-2.38a4.275%204.275%200%200%200%200-6.072Zm-13.683%2013.6a4.337%204.337%200%200%200%206.108%200l1.262-1.255a.993.993%200%200%200%200-1.41%201.007%201.007%200%200%200-1.418%200L9.954%2017.45a2.323%202.323%200%200%201-3.27%200%202.29%202.29%200%200%201%200-3.251l2.344-2.331a2.579%202.579%200%200%201%203.631%200c.392.39%201.027.39%201.419%200a.993.993%200%200%200%200-1.41%204.593%204.593%200%200%200-6.468%200l-2.345%202.33a4.275%204.275%200%200%200%200%206.072Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-strike::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6%2014.986c.088%202.647%202.246%204.258%205.635%204.258%203.496%200%205.713-1.728%205.713-4.463%200-.275-.02-.536-.062-.781h-3.461c.398.293.573.654.573%201.123%200%201.035-1.074%201.787-2.646%201.787-1.563%200-2.773-.762-2.91-1.924H6ZM6.432%2010h3.763c-.632-.314-.914-.715-.914-1.273%200-1.045.977-1.739%202.432-1.739%201.475%200%202.52.723%202.617%201.914h2.764c-.05-2.548-2.11-4.238-5.39-4.238-3.145%200-5.392%201.719-5.392%204.316%200%20.363.04.703.12%201.02ZM4%2011a1%201%200%201%200%200%202h15a1%201%200%201%200%200-2H4Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-quote::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M4.581%208.471c.44-.5%201.056-.834%201.758-.995C8.074%207.17%209.201%207.822%2010%208.752c1.354%201.578%201.33%203.555.394%205.277-.941%201.731-2.788%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.121-.49.16-.764.294-.286.567-.566.791-.835.222-.266.413-.54.524-.815.113-.28.156-.597.026-.908-.128-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.674-2.7c0-.905.283-1.59.72-2.088Zm9.419%200c.44-.5%201.055-.834%201.758-.995%201.734-.306%202.862.346%203.66%201.276%201.355%201.578%201.33%203.555.395%205.277-.941%201.731-2.789%203.163-4.988%203.56a.622.622%200%200%201-.653-.317c-.113-.205-.122-.49.16-.764.294-.286.567-.566.791-.835.222-.266.412-.54.523-.815.114-.28.157-.597.026-.908-.127-.303-.39-.524-.72-.69a3.02%203.02%200%200%201-1.672-2.701c0-.905.283-1.59.72-2.088Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-heading-1::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21.5%207.5v-3h-12v3H14v13h3v-13h4.5ZM9%2013.5h3.5v-3h-10v3H6v7h3v-7Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-code::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.293%2011.293a1%201%200%200%200%200%201.414l4%204a1%201%200%201%200%201.414-1.414L5.414%2012l3.293-3.293a1%201%200%200%200-1.414-1.414l-4%204Zm13.414%205.414%204-4a1%201%200%200%200%200-1.414l-4-4a1%201%200%201%200-1.414%201.414L18.586%2012l-3.293%203.293a1%201%200%200%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-bullet-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%207.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203ZM8%206a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-2.5-5a1.5%201.5%200%201%201-3%200%201.5%201.5%200%200%201%203%200ZM5%2019.5a1.5%201.5%200%201%200%200-3%201.5%201.5%200%200%200%200%203Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-number-list::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%204h2v4H4V5H3V4Zm5%202a1%201%200%200%201%201-1h11a1%201%200%201%201%200%202H9a1%201%200%200%201-1-1Zm1%205a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm0%206a1%201%200%201%200%200%202h11a1%201%200%201%200%200-2H9Zm-3.5-7H6v1l-1.5%202H6v1H3v-1l1.667-2H3v-1h2.5ZM3%2017v-1h3v4H3v-1h2v-.5H4v-1h1V17H3Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-undo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3%2014a1%201%200%200%200%201%201h6a1%201%200%201%200%200-2H6.257c2.247-2.764%205.151-3.668%207.579-3.264%202.589.432%204.739%202.356%205.174%205.405a1%201%200%200%200%201.98-.283c-.564-3.95-3.415-6.526-6.825-7.095C11.084%207.25%207.63%208.377%205%2011.39V8a1%201%200%200%200-2%200v6Zm2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-redo::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M21%2014a1%201%200%200%201-1%201h-6a1%201%200%201%201%200-2h3.743c-2.247-2.764-5.151-3.668-7.579-3.264-2.589.432-4.739%202.356-5.174%205.405a1%201%200%200%201-1.98-.283c.564-3.95%203.415-6.526%206.826-7.095%203.08-.513%206.534.614%209.164%203.626V8a1%201%200%201%201%202%200v6Zm-2-1Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-decrease-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-3.707-5.707a1%201%200%200%200%200%201.414l2%202a1%201%200%201%200%201.414-1.414L4.414%2012l1.293-1.293a1%201%200%200%200-1.414-1.414l-2%202Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-button--icon-increase-nesting-level::before {
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2224%22%20height%3D%2224%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M5%206a1%201%200%200%201%201-1h12a1%201%200%201%201%200%202H6a1%201%200%200%201-1-1Zm4%205a1%201%200%201%200%200%202h9a1%201%200%201%200%200-2H9Zm-3%206a1%201%200%201%200%200%202h12a1%201%200%201%200%200-2H6Zm-2.293-2.293%202-2a1%201%200%200%200%200-1.414l-2-2a1%201%200%201%200-1.414%201.414L3.586%2012l-1.293%201.293a1%201%200%201%200%201.414%201.414Z%22%20fill%3D%22%23000%22%2F%3E%3C%2Fsvg%3E");
}
trix-toolbar .trix-dialogs {
  position: relative;
}
trix-toolbar .trix-dialog {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  font-size: 0.75em;
  padding: 15px 10px;
  background: #fff;
  box-shadow: 0 0.3em 1em #ccc;
  border-top: 2px solid #888;
  border-radius: 5px;
  z-index: 5;
}
trix-toolbar .trix-input--dialog {
  font-size: inherit;
  font-weight: normal;
  padding: 0.5em 0.8em;
  margin: 0 10px 0 0;
  border-radius: 3px;
  border: 1px solid #bbb;
  background-color: #fff;
  box-shadow: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-toolbar .trix-input--dialog.validate:invalid {
  box-shadow: #F00 0px 0px 1.5px 1px;
}
trix-toolbar .trix-button--dialog {
  font-size: inherit;
  padding: 0.5em;
  border-bottom: none;
}
trix-toolbar .trix-dialog--link {
  max-width: 600px;
}
trix-toolbar .trix-dialog__link-fields {
  display: flex;
  align-items: baseline;
}
trix-toolbar .trix-dialog__link-fields .trix-input {
  flex: 1;
}
trix-toolbar .trix-dialog__link-fields .trix-button-group {
  flex: 0 0 content;
  margin: 0;
}
trix-editor [data-trix-mutable]:not(.attachment__caption-editor) {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
trix-editor [data-trix-mutable]::-moz-selection,
trix-editor [data-trix-cursor-target]::-moz-selection, trix-editor [data-trix-mutable] ::-moz-selection {
  background: none;
}
trix-editor [data-trix-mutable]::selection,
trix-editor [data-trix-cursor-target]::selection, trix-editor [data-trix-mutable] ::selection {
  background: none;
}
trix-editor .attachment__caption-editor:focus[data-trix-mutable]::-moz-selection {
  background: highlight;
}
trix-editor .attachment__caption-editor:focus[data-trix-mutable]::selection {
  background: highlight;
}
trix-editor [data-trix-mutable].attachment.attachment--file {
  box-shadow: 0 0 0 2px highlight;
  border-color: transparent;
}
trix-editor [data-trix-mutable].attachment img {
  box-shadow: 0 0 0 2px highlight;
}
trix-editor .attachment {
  position: relative;
}
trix-editor .attachment:hover {
  cursor: default;
}
trix-editor .attachment--preview .attachment__caption:hover {
  cursor: text;
}
trix-editor .attachment__progress {
  position: absolute;
  z-index: 1;
  height: 20px;
  top: calc(50% - 10px);
  left: 5%;
  width: 90%;
  opacity: 0.9;
  transition: opacity 200ms ease-in;
}
trix-editor .attachment__progress[value="100"] {
  opacity: 0;
}
trix-editor .attachment__caption-editor {
  display: inline-block;
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  color: inherit;
  text-align: center;
  vertical-align: top;
  border: none;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}
trix-editor .attachment__toolbar {
  position: absolute;
  z-index: 1;
  top: -0.9em;
  left: 0;
  width: 100%;
  text-align: center;
}
trix-editor .trix-button-group {
  display: inline-flex;
}
trix-editor .trix-button {
  position: relative;
  float: left;
  color: #666;
  white-space: nowrap;
  font-size: 80%;
  padding: 0 0.8em;
  margin: 0;
  outline: none;
  border: none;
  border-radius: 0;
  background: transparent;
}
trix-editor .trix-button:not(:first-child) {
  border-left: 1px solid #ccc;
}
trix-editor .trix-button.trix-active {
  background: #cbeefa;
}
trix-editor .trix-button:not(:disabled) {
  cursor: pointer;
}
trix-editor .trix-button--remove {
  text-indent: -9999px;
  display: inline-block;
  padding: 0;
  outline: none;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  border-radius: 50%;
  background-color: #fff;
  border: 2px solid highlight;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.25);
}
trix-editor .trix-button--remove::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.7;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg%20height%3D%2224%22%20width%3D%2224%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M19%206.41%2017.59%205%2012%2010.59%206.41%205%205%206.41%2010.59%2012%205%2017.59%206.41%2019%2012%2013.41%2017.59%2019%2019%2017.59%2013.41%2012z%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 90%;
}
trix-editor .trix-button--remove:hover {
  border-color: #333;
}
trix-editor .trix-button--remove:hover::before {
  opacity: 1;
}
trix-editor .attachment__metadata-container {
  position: relative;
}
trix-editor .attachment__metadata {
  position: absolute;
  left: 50%;
  top: 2em;
  transform: translate(-50%, 0);
  max-width: 90%;
  padding: 0.1em 0.6em;
  font-size: 0.8em;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 3px;
}
trix-editor .attachment__metadata .attachment__name {
  display: inline-block;
  max-width: 100%;
  vertical-align: bottom;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
trix-editor .attachment__metadata .attachment__size {
  margin-left: 0.2em;
  white-space: nowrap;
}
.trix-content {
  line-height: 1.5;
  overflow-wrap: break-word;
  word-break: break-word;
}
.trix-content * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
.trix-content h1 {
  font-size: 1.2em;
  line-height: 1.2;
}
.trix-content blockquote {
  border: 0 solid #ccc;
  border-left-width: 0.3em;
  margin-left: 0.3em;
  padding-left: 0.6em;
}
.trix-content [dir=rtl] blockquote,
.trix-content blockquote[dir=rtl] {
  border-width: 0;
  border-right-width: 0.3em;
  margin-right: 0.3em;
  padding-right: 0.6em;
}
.trix-content li {
  margin-left: 1em;
}
.trix-content [dir=rtl] li {
  margin-right: 1em;
}
.trix-content pre {
  display: inline-block;
  width: 100%;
  vertical-align: top;
  font-family: monospace;
  font-size: 0.9em;
  padding: 0.5em;
  white-space: pre;
  background-color: #eee;
  overflow-x: auto;
}
.trix-content img {
  max-width: 100%;
  height: auto;
}
.trix-content .attachment {
  display: inline-block;
  position: relative;
  max-width: 100%;
}
.trix-content .attachment a {
  color: inherit;
  text-decoration: none;
}
.trix-content .attachment a:hover, .trix-content .attachment a:visited:hover {
  color: inherit;
}
.trix-content .attachment__caption {
  text-align: center;
}
.trix-content .attachment__caption .attachment__name + .attachment__size::before {
  content: " •";
}
.trix-content .attachment--preview {
  width: 100%;
  text-align: center;
}
.trix-content .attachment--preview .attachment__caption {
  color: #666;
  font-size: 0.9em;
  line-height: 1.2;
}
.trix-content .attachment--file {
  color: #333;
  line-height: 1;
  margin: 0 2px 2px 2px;
  padding: 0.4em 1em;
  border: 1px solid #bbb;
  border-radius: 5px;
}
.trix-content .attachment-gallery {
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.trix-content .attachment-gallery .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}
.trix-content .attachment-gallery.attachment-gallery--2 .attachment, .trix-content .attachment-gallery.attachment-gallery--4 .attachment {
  flex-basis: 50%;
  max-width: 50%;
}
.trix-content .attachment-gallery > action-text-attachment,
.trix-content .attachment-gallery > .attachment {
  flex: 1 0 33%;
  padding: 0 0.5em;
  max-width: 33%;
}
.trix-content .attachment-gallery.attachment-gallery--2 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--2 > .attachment, .trix-content .attachment-gallery.attachment-gallery--4 > action-text-attachment,
.trix-content .attachment-gallery.attachment-gallery--4 > .attachment {
  flex-basis: 50%;
  max-width: 50%;
}
.trix-content action-text-attachment .attachment {
  padding: 0 !important;
  max-width: 100% !important;
}
:root {
  --color-orange: #d97500;
  --color-blue: #12417e;
  --color-blue-dark: #0d2f5c;
  --color-slate-50: #f8fafc;
  --color-slate-100: #f1f5f9;
  --color-slate-200: #e2e8f0;
  --color-slate-300: #cbd5e1;
  --color-slate-500: #64748b;
  --color-slate-700: #334155;
  --color-slate-900: #0f172a;
  --radius-xs: 0.2rem;
  --radius-sm: 0.35rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.7rem;
  --radius-xl: 0.9rem;
  --anchor-offset: 8.75rem;
  --content-sticky-offset: 7rem;
  --sidebar-width: 17.5rem;
}
html {
  scroll-padding-top: 0;
}
* {
  box-sizing: border-box;
  font-family: "Poppins", sans-serif;
}
body.portal-shell {
  margin: 0;
  min-height: 100vh;
  color: var(--color-slate-900);
  background: radial-gradient(circle at top left, rgba(18, 65, 126, 0.1), transparent 22rem), linear-gradient(180deg, #fdfefe 0%, var(--color-slate-50) 100%);
}
a {
  color: inherit;
  text-decoration: none;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
button,
input,
select,
textarea {
  font: inherit;
}
button,
a,
input,
select,
textarea {
  outline-color: var(--color-orange);
}
.portal-main {
  padding-bottom: 4rem;
}
.portal-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--color-slate-200);
  box-shadow: 0 6px 16px -14px rgba(15, 23, 42, 0.22);
}
.portal-header__inner,
.portal-flash__inner,
.portal-login {
  width: min(1180px, 100% - 2rem);
  margin: 0 auto;
}
.portal-header__inner {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 2rem;
  align-items: center;
  min-height: 5rem;
}
.portal-logo__link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.portal-logo__image {
  width: 3.5rem;
  height: 3.5rem;
  object-fit: contain;
}
.portal-logo__divider {
  width: 1px;
  height: 2rem;
  background: var(--color-slate-200);
}
.portal-logo__text {
  font-size: 0.88rem;
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-blue);
}
.portal-logo__text span {
  color: var(--color-orange);
}
.portal-nav {
  display: flex;
  justify-content: center;
  gap: 0.35rem;
  align-items: center;
}
.portal-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 0.9rem;
  border-radius: var(--radius-md);
  color: var(--color-slate-700);
  font-size: 0.95rem;
  font-weight: 600;
  border: 0;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.portal-nav__link:hover,
.portal-nav__link.is-active {
  background: var(--color-slate-100);
  color: var(--color-blue);
}
.portal-nav__dropdown {
  position: relative;
}
.portal-nav__dropdown.is-active > .portal-nav__dropdown-trigger,
.portal-nav__dropdown:hover > .portal-nav__dropdown-trigger,
.portal-nav__dropdown:focus-within > .portal-nav__dropdown-trigger {
  background: var(--color-slate-100);
  color: var(--color-blue);
}
.portal-nav__dropdown-trigger::after {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  margin-left: 0.55rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-0.05rem);
}
.portal-nav__dropdown-menu {
  position: absolute;
  top: calc(100% + 0.55rem);
  left: 0;
  min-width: 15rem;
  padding: 0.7rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 40px -28px rgba(15, 23, 42, 0.34);
  display: none;
  z-index: 50;
}
.portal-nav__dropdown:hover .portal-nav__dropdown-menu,
.portal-nav__dropdown:focus-within .portal-nav__dropdown-menu {
  display: block;
}
.portal-nav__dropdown-group {
  display: grid;
  gap: 0.25rem;
}
.portal-nav__dropdown-label {
  margin: 0 0 0.2rem;
  padding: 0 0.55rem;
  color: var(--color-slate-500);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.portal-nav__dropdown-link {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.55rem;
  border-radius: var(--radius-sm);
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
}
.portal-nav__dropdown-link:hover {
  background: var(--color-slate-100);
  color: var(--color-blue);
}
.portal-user {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.portal-user__name {
  margin: 0;
  font-weight: 600;
}
.portal-user__meta,
.portal-login__lead {
  margin: 0.15rem 0 0;
  color: var(--color-slate-500);
  font-size: 0.95rem;
  font-weight: 300;
}
.portal-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: var(--radius-sm);
  padding: 0.85rem 1.3rem;
  background: var(--color-orange);
  color: white;
  font-weight: 700;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.portal-button:hover {
  background: #bd6500;
}
.portal-button--secondary {
  background: var(--color-slate-100);
  color: var(--color-blue);
}
.portal-button--secondary:hover {
  background: var(--color-slate-200);
}
.portal-button--ghost-light {
  background: rgba(255, 255, 255, 0.12);
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.portal-button--ghost-light:hover {
  background: rgba(255, 255, 255, 0.18);
}
.portal-button--compact {
  padding: 0.75rem 1rem;
  border-radius: var(--radius-sm);
}
.portal-button--icon {
  min-width: 2.75rem;
  padding-inline: 0.9rem;
  font-size: 1.15rem;
  line-height: 1;
}
.portal-button--full {
  width: 100%;
}
button,
input[type=submit],
input[type=button],
input[type=reset] {
  cursor: pointer;
}
button:disabled,
input[type=submit]:disabled,
input[type=button]:disabled,
input[type=reset]:disabled {
  cursor: not-allowed;
}
.portal-toast-stack {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 120;
  display: grid;
  gap: 0.75rem;
  width: min(24rem, 100vw - 2rem);
}
.portal-toast {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: start;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(217, 117, 0, 0.18);
  border-radius: 1rem;
  background: rgba(255, 247, 239, 0.98);
  box-shadow: 0 24px 40px -28px rgba(15, 23, 42, 0.38);
  color: #8b4a02;
  animation: portal-toast-enter 180ms ease-out;
}
.portal-toast--alert {
  background: rgba(255, 241, 242, 0.98);
  border-color: rgba(225, 29, 72, 0.14);
  color: #9f1239;
}
.portal-toast.is-leaving {
  opacity: 0;
  transform: translateY(-0.35rem);
  transition: opacity 180ms ease, transform 180ms ease;
}
.portal-toast__title {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portal-toast__message {
  margin: 0.2rem 0 0;
  font-size: 0.92rem;
  font-weight: 600;
  line-height: 1.45;
}
.portal-toast__dismiss {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  padding: 0;
  border: 0;
  border-radius: 0.7rem;
  background: transparent;
  color: currentColor;
  cursor: pointer;
}
.portal-toast__dismiss:hover {
  background: rgba(15, 23, 42, 0.06);
}
@keyframes portal-toast-enter {
  from {
    opacity: 0;
    transform: translateY(-0.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.portal-login {
  padding-top: 2rem;
}
.portal-hero,
.portal-panel,
.portal-login__hero,
.portal-login__cards > * {
  background: white;
  border: 1px solid rgba(226, 232, 240, 0.9);
  box-shadow: 0 18px 45px -28px rgba(15, 23, 42, 0.3), 0 10px 24px -18px rgba(15, 23, 42, 0.18);
}
.portal-hero,
.portal-panel,
.portal-login__hero,
.portal-login__cards > * {
  border-radius: var(--radius-xl);
}
.portal-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 2rem;
  padding: 2rem;
  margin-bottom: 1.5rem;
}
.portal-eyebrow {
  margin: 0 0 0.35rem;
  color: var(--color-slate-500);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
  font-weight: 600;
}
.portal-login__title {
  margin: 0;
  font-size: clamp(2.1rem, 4vw, 3.5rem);
  line-height: 1;
  color: var(--color-blue);
}
.portal-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.portal-stat-card {
  background: white;
  border: 1px solid rgba(226, 232, 240, 0.9);
  border-radius: var(--radius-lg);
  padding: 1.25rem;
}
.portal-stat-card__label {
  display: block;
  color: var(--color-slate-500);
  font-size: 0.85rem;
}
.portal-stat-card__value {
  display: block;
  margin-top: 0.4rem;
  font-size: 1.9rem;
  color: var(--color-blue);
}
.portal-panel {
  padding: 1.5rem;
}
.portal-panel--tight {
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem;
}
.portal-upload-form {
  margin-top: 1rem;
}
.portal-upload-form__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
}
.portal-upload-form__actions {
  display: flex;
  align-items: end;
}
.portal-section-title {
  margin: 0;
  font-size: 1.35rem;
  color: var(--color-blue);
}
.portal-document-shell {
  margin: 0;
  background: #edf2f7;
  color: var(--color-slate-900);
  font-family: "Helvetica Neue", Arial, sans-serif;
}
.portal-document-main {
  width: min(210mm, 100% - 1.5rem);
  margin: 0 auto;
  padding: 1rem 0 3rem;
}
.portal-status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--radius-sm);
  padding: 0.3rem 0.7rem;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
  font-size: 0.78rem;
  font-weight: 600;
}
.portal-table {
  width: 100%;
  border-collapse: collapse;
}
.portal-table th,
.portal-table td {
  padding: 1rem;
  text-align: left;
  border-bottom: 1px solid var(--color-slate-200);
}
.portal-table th {
  color: var(--color-slate-500);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}
.portal-table__link {
  color: var(--color-blue);
  font-weight: 600;
}
.portal-login {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  align-items: start;
  gap: 1.5rem;
  padding-top: 4rem;
}
.portal-login__hero {
  padding: 2.4rem;
  min-height: 24rem;
}
.portal-login__cards {
  display: grid;
  gap: 1.5rem;
}
.portal-scroll-top {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  background: var(--color-blue);
  color: white;
  cursor: pointer;
  box-shadow: 0 18px 34px -18px rgba(15, 23, 42, 0.45);
  opacity: 0;
  pointer-events: none;
  transform: translateY(0.75rem);
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
  z-index: 45;
}
.portal-scroll-top:hover {
  background: var(--color-blue-dark);
}
.portal-scroll-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
.portal-summary-card {
  border-radius: var(--radius-xl);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  box-shadow: 0 18px 42px -30px rgba(15, 23, 42, 0.28);
}
.portal-form-fieldset {
  display: grid;
  gap: 1.5rem;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.portal-form-fieldset:disabled {
  opacity: 1;
}
.portal-form-fieldset:disabled .portal-field__control,
.portal-form-fieldset:disabled .portal-radio-card,
.portal-form-fieldset:disabled .portal-link-button,
.portal-form-fieldset:disabled .portal-button--secondary {
  cursor: not-allowed;
}
.portal-form-fieldset:disabled .portal-field__control,
.portal-form-fieldset:disabled .portal-radio-card {
  background: #f8fafc;
}
.portal-form-error-summary {
  padding: 1.1rem 1.2rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(225, 29, 72, 0.18);
  background: linear-gradient(180deg, #fff4f6, #fff1f2);
  color: #9f1239;
}
.portal-form-error-summary__title {
  margin: 0;
  font-size: 1rem;
}
.portal-form-error-summary__text {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
}
.portal-form-grid {
  display: grid;
  gap: 1.1rem 1rem;
}
.portal-form-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.portal-form-grid--3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.portal-form-grid__span-2 {
  grid-column: span 2;
}
.portal-field {
  display: grid;
  gap: 0.45rem;
}
.portal-field:has(> label.portal-field__label) {
  position: relative;
  gap: 0.35rem;
  padding-top: 0.55rem;
}
.portal-field--error .portal-field__label {
  color: #be123c;
}
.portal-field__label {
  color: var(--color-slate-700);
  font-size: 0.9rem;
  font-weight: 700;
}
.portal-field > label.portal-field__label {
  position: absolute;
  top: 0;
  left: 0.85rem;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 1.1rem;
  max-width: calc(100% - 1.7rem);
  padding: 0 0.4rem;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
  color: var(--color-slate-500);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  white-space: nowrap;
}
.portal-field__hint {
  margin: 0;
  color: var(--color-slate-500);
  font-size: 0.85rem;
}
.portal-field__control {
  width: 100%;
  min-height: 3.25rem;
  border: 1px solid var(--color-slate-300);
  border-radius: var(--radius-md);
  background: white;
  padding: 0.9rem 1rem;
  color: var(--color-slate-900);
  box-shadow: inset 0 1px 1px rgba(15, 23, 42, 0.03);
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.portal-field:has(> label.portal-field__label) .portal-field__control {
  min-height: 3.4rem;
  padding-top: 1.35rem;
  padding-bottom: 0.65rem;
}
.portal-field:has(> label.portal-field__label) .portal-field__control:disabled {
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
  color: var(--color-slate-500);
  cursor: not-allowed;
}
.portal-field__control--disabled,
.portal-field__control--disabled:disabled {
  background: linear-gradient(180deg, #f8fafc, #f1f5f9);
  color: var(--color-slate-500);
  cursor: not-allowed;
}
.portal-field__control:focus {
  border-color: rgba(217, 117, 0, 0.7);
  box-shadow: 0 0 0 4px rgba(217, 117, 0, 0.12);
}
.portal-field__control--textarea {
  min-height: 7rem;
  resize: vertical;
}
.portal-field:has(> label.portal-field__label) .portal-field__control--file {
  min-height: 3.55rem;
  padding-top: 1.45rem;
  padding-bottom: 0.8rem;
}
.portal-field__control--error {
  border-color: rgba(225, 29, 72, 0.55);
  background: #fff8fa;
  box-shadow: 0 0 0 3px rgba(225, 29, 72, 0.08);
}
.portal-field__errors {
  margin: 0;
  color: #be123c;
  font-size: 0.84rem;
  font-weight: 600;
}
.portal-info-stack {
  display: grid;
  gap: 1rem;
}
.portal-info-card {
  padding: 1rem 1.1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}
.portal-info-card__label {
  margin: 0;
  color: var(--color-slate-500);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.72rem;
  font-weight: 700;
}
.portal-info-card__value {
  margin: 0.45rem 0 0;
  color: var(--color-slate-900);
  font-size: 1rem;
  font-weight: 700;
}
.portal-form-subsection {
  margin-top: 1.6rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}
.portal-form-subsection__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1rem;
}
.portal-form-subsection__header > :first-child {
  min-width: 0;
  flex: 1 1 18rem;
}
.portal-form-subsection__title {
  margin: 0;
  color: var(--color-slate-900);
  font-size: 1.05rem;
  line-height: 1.3;
}
.portal-form-subsection__note {
  margin: 0;
  color: var(--color-slate-500);
  font-size: 0.85rem;
  max-width: 24rem;
}
.portal-form-subsection__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.75rem;
}
.portal-form-inline-actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 0.75rem;
}
.portal-schedule-list {
  display: grid;
  gap: 0.9rem;
}
.portal-schedule-card {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding: 1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(241, 245, 249, 0.8));
}
.portal-schedule-card__actions {
  grid-column: 1/-1;
  display: flex;
  justify-content: flex-end;
}
.portal-link-button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-orange);
  font-size: 0.88rem;
  font-weight: 700;
  cursor: pointer;
}
.portal-link-button:hover {
  color: #bd6500;
}
.portal-choice-grid,
.portal-choice-stack {
  display: grid;
  gap: 0.85rem;
}
.portal-choice-grid--2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.portal-radio-card {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(203, 213, 225, 0.95);
  border-radius: var(--radius-lg);
  background: white;
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  cursor: pointer;
}
.portal-radio-card:hover {
  border-color: rgba(217, 117, 0, 0.45);
  box-shadow: 0 10px 24px -22px rgba(15, 23, 42, 0.4);
  transform: translateY(-1px);
}
.portal-radio-card input {
  margin-top: 0.25rem;
}
.portal-radio-card__content {
  display: grid;
  gap: 0.3rem;
}
.portal-radio-card__title {
  color: var(--color-slate-900);
  font-size: 0.95rem;
  font-weight: 700;
}
.portal-radio-card__description {
  color: var(--color-slate-500);
  font-size: 0.88rem;
  line-height: 1.45;
}
.portal-radio-card__field {
  min-width: 8rem;
}
.portal-dps-sidebar {
  display: grid;
  gap: 1rem;
  position: sticky;
  top: var(--content-sticky-offset);
  align-self: start;
  max-height: calc(100vh - var(--content-sticky-offset) - 1rem);
}
.portal-decision-card__text {
  margin: 0;
  color: var(--color-slate-700);
  line-height: 1.55;
}
.portal-empty-state {
  margin: 0.7rem 0 0;
  color: var(--color-slate-600);
  line-height: 1.6;
}
.portal-form-subsection--panel {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(226, 232, 240, 0.9);
}
.portal-field__control--file {
  padding: 0.7rem 0.9rem;
}
.portal-field__control--file::file-selector-button {
  margin-right: 0.75rem;
  border: 0;
  border-radius: 999px;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
  padding: 0.45rem 0.8rem;
  font-weight: 700;
  cursor: pointer;
}
.portal-trix-editor {
  min-height: 16rem;
  border: 1px solid var(--color-slate-300);
  border-radius: var(--radius-md);
  background: white;
  padding: 0.4rem 0.6rem;
}
.portal-trix-editor:focus-within {
  border-color: rgba(217, 117, 0, 0.7);
  box-shadow: 0 0 0 4px rgba(217, 117, 0, 0.12);
}
trix-toolbar {
  margin-bottom: 0.8rem;
}
trix-toolbar .trix-button-group {
  margin-bottom: 0;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 12px 24px -22px rgba(15, 23, 42, 0.2);
}
trix-toolbar .trix-button-row {
  gap: 0.65rem;
}
trix-toolbar .trix-button {
  color: var(--color-slate-600);
  border-bottom: 0;
  background: rgba(255, 255, 255, 0.98);
  min-height: 2.35rem;
  padding: 0 0.75rem;
  transition: background 0.18s ease, color 0.18s ease;
}
trix-toolbar .trix-button:not(:first-child) {
  border-left: 1px solid rgba(226, 232, 240, 0.95);
}
trix-toolbar .trix-button:hover:not(:disabled) {
  background: rgba(248, 250, 252, 0.98);
  color: var(--color-blue);
}
trix-toolbar .trix-button.trix-active {
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
trix-editor {
  border: 0;
  min-height: 12rem;
  padding: 0;
  line-height: 1.65;
}
trix-editor:focus {
  outline: none;
}
trix-editor h3,
.portal-rich-content h3 {
  margin: 0 0 0.85rem;
  color: var(--color-blue);
  font-size: 1.05rem;
}
trix-editor p,
.portal-rich-content p {
  margin: 0 0 0.85rem;
}
trix-editor ul,
trix-editor ol,
.portal-rich-content ul,
.portal-rich-content ol {
  margin: 0 0 0.85rem 1.25rem;
}
trix-editor .portal-convention-device-box,
trix-editor .portal-convention-amount-box,
trix-editor .portal-convention-panel {
  margin: 1rem auto;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(18, 65, 126, 0.14);
  background: white;
  box-shadow: none;
}
trix-editor .portal-convention-device-box {
  max-width: 40rem;
  text-align: center;
}
trix-editor .portal-convention-amount-box {
  max-width: 44rem;
  text-align: center;
}
trix-editor .portal-convention-amount-box__value,
trix-editor .portal-convention-amount-box__words,
trix-editor .portal-convention-quote-reference {
  margin: 0;
}
trix-editor .portal-convention-amount-box__value {
  color: var(--color-blue);
  font-size: 1rem;
  font-weight: 700;
}
trix-editor .portal-convention-amount-box__words {
  margin-top: 0.45rem;
  font-size: 0.86rem;
  font-style: italic;
}
trix-editor .portal-convention-quote-reference {
  margin-top: 0.85rem;
  text-align: center;
}
trix-editor .portal-convention-panel h3 {
  margin: 0 0 0.75rem;
  color: var(--color-blue);
  font-size: 0.95rem;
  font-weight: 700;
}
.portal-identity-list,
.portal-signature-identity-list,
.portal-signed-list {
  display: grid;
  gap: 1rem;
}
.portal-identity-card,
.portal-signature-identity-card,
.portal-signed-card {
  display: grid;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}
.portal-identity-card__preview,
.portal-signature-identity-card__preview,
.portal-signed-card__preview {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 92px;
  padding: 0.85rem;
  border-radius: var(--radius-md);
  background: #fff;
  border: 1px dashed rgba(148, 163, 184, 0.5);
}
.portal-identity-card__signature-image,
.portal-signature-identity-card__image,
.portal-signed-card__image {
  max-width: 100%;
  max-height: 76px;
}
.portal-identity-card__signature-placeholder {
  color: var(--color-slate-500);
  font-size: 0.9rem;
}
.portal-identity-card__title,
.portal-signature-identity-card__title,
.portal-signed-card__title {
  margin: 0;
  color: var(--color-slate-900);
  font-weight: 700;
}
.portal-identity-card__meta,
.portal-signature-identity-card__meta,
.portal-signed-card__meta {
  margin: 0.25rem 0 0;
  color: var(--color-slate-600);
  font-size: 0.9rem;
}
.portal-signature-section + .portal-signature-section {
  margin-top: 1.4rem;
}
.portal-signature-identity-card__actions {
  display: flex;
  align-items: center;
}
.portal-signature-chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.35rem 0.75rem;
  border-radius: var(--radius-sm);
  background: rgba(11, 92, 171, 0.08);
  color: var(--color-blue);
  font-size: 0.85rem;
  font-weight: 700;
}
.portal-signature-chip--muted {
  background: rgba(148, 163, 184, 0.14);
  color: var(--color-slate-600);
}
.button_to {
  display: inline-flex;
}
.portal-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 40;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 1.5rem;
  background: rgba(15, 23, 42, 0.48);
  backdrop-filter: blur(4px);
}
.portal-modal-backdrop--visible {
  display: flex;
}
.portal-modal-card {
  width: min(34rem, 100%);
  padding: 1.25rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: var(--radius-md);
  background: #fff;
  box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
}
.portal-modal-card--wide {
  width: min(56rem, 100%);
}
.portal-modal-card--editor {
  width: min(64rem, 100%);
}
.portal-modal-card__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 0.75rem;
}
.portal-modal-card__body-copy {
  margin: 0;
  color: var(--color-slate-600);
  font-size: 0.95rem;
  line-height: 1.55;
}
.portal-modal-card__close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0;
  border-radius: var(--radius-sm);
  background: var(--color-slate-100);
  color: var(--color-slate-700);
  font-size: 1.45rem;
  line-height: 1;
  cursor: pointer;
}
.portal-modal-card__close:hover {
  background: var(--color-slate-200);
}
.portal-modal-card__footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  margin-top: 1rem;
}
.portal-modal-card__footer .portal-button {
  padding: 0.62rem 0.9rem;
  font-size: 0.9rem;
  line-height: 1.2;
}
.portal-admin-grid-table--modal .portal-admin-grid-table__row {
  grid-template-columns: minmax(4.5rem, 5.5rem) minmax(0, 7rem) minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(0, 1fr) minmax(7rem, 8rem);
}
.portal-admin-grid-table__preview--modal {
  min-height: 100%;
}
@media (max-width: 960px) {
  .portal-header__inner,
  .portal-login,
  .portal-hero,
  .portal-stats,
  .portal-schedule-card,
  .portal-form-grid--2,
  .portal-form-grid--3,
  .portal-choice-grid--2 {
    display: grid;
    grid-template-columns: 1fr;
  }
  .portal-user,
  .portal-nav {
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .portal-form-subsection__header {
    align-items: flex-start;
  }
  .portal-dps-sidebar {
    position: static;
    top: auto;
  }
  .portal-section-nav {
    position: static;
    top: auto;
    padding-top: 0;
  }
  .portal-section-nav__actions {
    width: 100%;
    justify-content: flex-end;
  }
  .portal-scroll-top {
    right: 1rem;
    bottom: 1rem;
  }
  .portal-risk-breakdown {
    grid-template-columns: 1fr;
  }
  .portal-form-grid__span-2 {
    grid-column: auto;
  }
}
body.portal-shell {
  background: radial-gradient(circle at top left, rgba(18, 65, 126, 0.09), transparent 20rem), linear-gradient(180deg, #f4f7fb 0%, #eef3f9 100%);
}
.portal-admin-shell {
  display: block;
  min-height: 100vh;
}
.portal-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: var(--sidebar-width);
  height: 100vh;
  padding: 1.35rem 1rem 1rem;
  background: linear-gradient(180deg, #10335f 0%, #12417e 68%, #0f2f59 100%);
  color: rgba(255, 255, 255, 0.9);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 18px 0 50px -42px rgba(15, 23, 42, 0.55);
  overflow-y: auto;
}
.portal-sidebar__brand-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.35rem 0.45rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.05);
}
.portal-sidebar__brand-image {
  width: 2.9rem;
  height: 2.9rem;
  object-fit: contain;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.35rem;
}
.portal-sidebar__brand-kicker {
  margin: 0 0 0.15rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.portal-sidebar__brand-title {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.portal-sidebar__nav {
  display: grid;
  gap: 1.25rem;
}
.portal-sidebar__section {
  display: grid;
  gap: 0.4rem;
}
.portal-sidebar__section-label {
  margin: 0 0 0.3rem;
  padding: 0 0.55rem;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-sidebar__link,
.portal-sidebar__details-summary {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.85rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.95rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.portal-sidebar__details-summary {
  list-style: none;
  cursor: pointer;
}
.portal-sidebar__details-summary::-webkit-details-marker {
  display: none;
}
.portal-sidebar__details[open] > .portal-sidebar__details-summary,
.portal-sidebar__details-summary:hover,
.portal-sidebar__link:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.portal-sidebar__link.is-active {
  background: linear-gradient(135deg, rgba(217, 117, 0, 0.94), rgba(244, 159, 44, 0.96));
  color: #fff;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 30px -22px rgba(217, 117, 0, 0.9);
}
.portal-sidebar__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  opacity: 0.92;
}
.portal-sidebar__subnav {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.35rem;
  padding-left: 0.8rem;
}
.portal-sidebar__subnav .portal-sidebar__link {
  min-height: 2.6rem;
  border-radius: 0.8rem;
  padding-left: 0.8rem;
}
.portal-sidebar__footer {
  margin-top: auto;
  padding: 1rem 0.55rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.portal-sidebar__account-name {
  margin: 0;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
}
.portal-sidebar__account-meta {
  margin: 0.15rem 0 1rem;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.85rem;
}
.portal-app {
  margin-left: var(--sidebar-width);
  min-width: 0;
  padding: 1.1rem 1.35rem 2rem;
}
.portal-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 35px -30px rgba(15, 23, 42, 0.35);
}
.portal-topbar__intro {
  display: grid;
  gap: 0.3rem;
}
.portal-topbar__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-slate-500);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-topbar__eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.65rem;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topbar__title {
  margin: 0;
  color: var(--color-slate-900);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.1;
}
.portal-topbar__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.portal-topbar__profile {
  position: relative;
  padding-bottom: 0.35rem;
  margin-bottom: -0.35rem;
}
.portal-topbar__chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.78);
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
}
.portal-topbar__chip--profile {
  gap: 0.7rem;
  padding-right: 0.8rem;
  cursor: pointer;
}
.portal-topbar__avatar,
.portal-topbar__chip-caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.portal-topbar__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 0.75rem;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topbar__chip-copy {
  display: grid;
  gap: 0.1rem;
  text-align: left;
}
.portal-topbar__chip-label {
  color: var(--color-slate-900);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.1;
}
.portal-topbar__chip-meta {
  color: var(--color-slate-500);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.1;
}
.portal-topbar__profile-menu {
  position: absolute;
  top: calc(100% - 0.1rem);
  right: 0;
  min-width: 17rem;
  padding: 1rem 0.8rem 0.8rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 30px 45px -30px rgba(15, 23, 42, 0.34);
  display: none;
  z-index: 60;
}
.portal-topbar__profile:hover .portal-topbar__profile-menu,
.portal-topbar__profile:focus-within .portal-topbar__profile-menu {
  display: grid;
  gap: 0.75rem;
}
.portal-topbar__profile-group {
  display: grid;
  gap: 0.35rem;
}
.portal-topbar__profile-label {
  margin: 0;
  padding: 0 0.45rem;
  color: var(--color-slate-500);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-topbar__logout-button {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  width: 100%;
  padding: 0.7rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  background: transparent;
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.portal-topbar__logout-button:hover {
  background: rgba(18, 65, 126, 0.07);
  border-color: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topnav__dropdown-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.7rem 0.8rem;
  border-radius: 0.85rem;
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.portal-topnav__dropdown-link:hover,
.portal-topnav__dropdown-link.is-active {
  background: rgba(18, 65, 126, 0.07);
  border-color: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-icon {
  width: 1rem;
  height: 1rem;
  stroke-width: 2.1;
  flex: none;
}
.portal-icon--small,
.portal-icon--nav {
  width: 1.05rem;
  height: 1.05rem;
}
.portal-main {
  padding-bottom: 2rem;
}
.portal-hero,
.portal-panel,
.portal-login__hero,
.portal-login__cards > *,
.portal-admin-section-card,
.portal-surface-card,
.portal-modal-card {
  border-radius: 1rem;
  border-color: rgba(226, 232, 240, 0.92);
  box-shadow: 0 20px 46px -34px rgba(15, 23, 42, 0.28);
}
.portal-surface-card {
  border: 1px solid rgba(226, 232, 240, 0.92);
  background: #fff;
}
.portal-surface-card--compact {
  padding: 1.5rem;
}
.portal-surface-card--dense {
  padding: 0.75rem;
}
.portal-surface-card--muted {
  background: rgba(248, 250, 252, 0.7);
  box-shadow: none;
}
.portal-hero {
  align-items: flex-start;
  padding: 1.5rem 1.65rem;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 252, 255, 0.94));
}
.portal-stats {
  gap: 1rem;
}
.portal-stat-card {
  border-radius: 1rem;
  border: 1px solid rgba(226, 232, 240, 0.9);
  background: linear-gradient(180deg, #fff, #fbfdff);
  box-shadow: 0 18px 42px -34px rgba(15, 23, 42, 0.26);
}
.portal-stat-card__label {
  color: var(--color-slate-500);
  font-weight: 600;
}
.portal-stat-card__value {
  color: var(--color-blue);
}
.portal-table th {
  background: #f6f9fc;
  color: var(--color-slate-500);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portal-table td {
  background: rgba(255, 255, 255, 0.97);
}
.portal-table tbody tr:hover td {
  background: #fbfdff;
}
.portal-status-badge {
  border-radius: 999px;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-button {
  border-radius: 0.85rem;
  box-shadow: 0 14px 28px -20px rgba(217, 117, 0, 0.68);
}
.portal-button--secondary {
  box-shadow: none;
  border: 1px solid rgba(203, 213, 225, 0.75);
}
.portal-button--dirty {
  background: linear-gradient(135deg, var(--color-orange), #f3a534);
  color: #fff;
  border: 0;
  box-shadow: 0 14px 28px -20px rgba(217, 117, 0, 0.68);
}
.portal-button--dirty:hover {
  background: linear-gradient(135deg, #bd6500, #e28f1b);
}
.portal-button--ghost-light {
  border-color: rgba(255, 255, 255, 0.24);
}
@media (max-width: 1080px) {
  .portal-admin-shell {
    display: block;
  }
  .portal-sidebar {
    position: relative;
    left: auto;
    width: auto;
    height: auto;
    min-height: auto;
    border-right: 0;
    overflow: visible;
  }
  .portal-app {
    margin-left: 0;
  }
  .portal-topbar,
  .portal-main {
    padding-inline: 1rem;
  }
}
@media (max-width: 720px) {
  .portal-topbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .portal-topbar__meta {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .portal-topbar__profile-menu {
    left: 0;
    right: auto;
    min-width: min(17rem, 100vw - 3rem);
  }
}
.portal-admin-grid-table {
  display: grid;
  gap: 0.75rem;
}
.portal-admin-stack--grid-table {
  display: grid;
  gap: 0.75rem;
}
.portal-admin-grid-table__header,
.portal-admin-grid-table__row {
  display: grid;
  grid-template-columns: 74px 88px minmax(180px, 1.3fr) minmax(180px, 1.3fr) minmax(150px, 1fr) 112px 132px;
  gap: 0.75rem;
  align-items: center;
}
.portal-admin-grid-table__header {
  padding: 0 0.25rem;
  color: var(--color-slate-500);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portal-admin-grid-table__row {
  padding: 0.85rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: var(--radius-md);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.portal-admin-grid-table__row:hover {
  border-color: rgba(18, 65, 126, 0.18);
  box-shadow: 0 16px 24px -24px rgba(15, 23, 42, 0.28);
}
.portal-admin-grid-table--create .portal-admin-grid-table__row,
.portal-admin-grid-table__row--catalog-create {
  border-color: rgba(18, 65, 126, 0.16);
  background: linear-gradient(180deg, rgba(18, 65, 126, 0.04), rgba(255, 255, 255, 0.98));
}
.portal-admin-grid-table__row--catalog-editable {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
}
.portal-admin-grid-table__row--catalog-editable:hover {
  border-color: rgba(18, 65, 126, 0.2);
  box-shadow: 0 16px 24px -24px rgba(15, 23, 42, 0.28);
}
.portal-admin-grid-table__row--catalog-create,
.portal-admin-grid-table__row--catalog-editable {
  grid-template-columns: minmax(88px, 96px) minmax(180px, 1.35fr) minmax(180px, 1.35fr) minmax(150px, 1fr) 112px;
}
@media (min-width: 1280px) {
  .portal-admin-grid-table__row--catalog-create {
    grid-template-columns: 88px minmax(180px, 1.3fr) minmax(180px, 1.3fr) minmax(150px, 1fr) 112px;
  }
  .portal-admin-grid-table__row--catalog-editable {
    grid-template-columns: 96px minmax(240px, 1.45fr) minmax(240px, 1.45fr) minmax(160px, 1fr) 112px 132px;
  }
}
.portal-admin-grid-table__row .portal-field {
  min-width: 0;
}
.portal-admin-grid-table__row .portal-field__control {
  min-width: 0;
  margin-top: 0;
}
.portal-admin-grid-table__toggle,
.portal-admin-grid-table__actions {
  display: flex;
  justify-content: center;
}
.portal-admin-grid-table__order {
  display: flex;
  justify-content: center;
}
.portal-admin-order-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 3.5rem;
  min-height: 2.5rem;
  padding: 0.4rem 0.75rem;
  border-radius: var(--radius-sm);
  background: rgba(18, 65, 126, 0.08);
  border: 1px solid rgba(18, 65, 126, 0.14);
  color: var(--color-blue);
  font-size: 0.82rem;
  font-weight: 700;
}
.portal-admin-grid-table__preview {
  display: grid;
  gap: 0.15rem;
  color: var(--color-slate-600);
  font-size: 0.84rem;
  line-height: 1.35;
}
.portal-admin-grid-table__preview--modal {
  align-content: center;
}
.portal-admin-grid-table__preview--placeholder {
  color: var(--color-slate-400);
  font-style: italic;
}
.portal-admin-grid-table__errors {
  margin-top: 0.5rem;
}
.portal-admin-section-card {
  display: grid;
  gap: 1rem;
  padding: 1.1rem 1.15rem 1.2rem;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
  box-shadow: 0 18px 26px -28px rgba(15, 23, 42, 0.24);
}
.portal-admin-section-card--create {
  border-color: rgba(18, 65, 126, 0.16);
  background: linear-gradient(180deg, rgba(18, 65, 126, 0.04), rgba(255, 255, 255, 0.98));
}
.portal-admin-section-card--editor {
  gap: 1.5rem;
  padding: 1.5rem 1.5rem 1.6rem;
}
.portal-admin-section-card__header,
.portal-admin-section-card__identity,
.portal-admin-section-card__actions,
.portal-admin-section-card__grid {
  display: flex;
  gap: 0.85rem;
}
.portal-admin-section-card__header {
  align-items: flex-start;
  justify-content: space-between;
}
.portal-admin-section-card__identity {
  align-items: center;
}
.portal-admin-section-card__header--responsive {
  flex-direction: column;
  gap: 1.5rem;
}
.portal-admin-section-card__identity--responsive {
  min-width: 0;
  flex: 1;
  flex-wrap: wrap;
}
.portal-admin-section-card__header--compact {
  flex-direction: column;
  gap: 0.75rem;
}
.portal-admin-section-card__identity--antenna {
  display: grid;
  min-width: 0;
  flex: 1;
  gap: 0.75rem;
}
.portal-admin-section-card__actions {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.portal-admin-section-card__grid {
  align-items: flex-start;
  display: grid;
  grid-template-columns: 7rem 12rem minmax(0, 1fr);
  gap: 0.85rem;
}
.portal-admin-section-card__title-field {
  min-width: 0;
}
.portal-admin-section-card__errors {
  margin: 0;
}
.portal-admin-section-card__field--position {
  width: 6rem;
  flex-shrink: 0;
}
.portal-admin-section-card__field--title {
  min-width: 18rem;
  flex: 1;
}
.portal-admin-section-card__field--kind {
  width: 11rem;
  flex-shrink: 0;
}
.portal-admin-section-card__field--antenna-position {
  min-width: 5.25rem;
  max-width: 5.25rem;
}
.portal-admin-section-card__control {
  min-height: 2.9rem;
  margin-top: 0;
  border: 2px solid var(--color-slate-300);
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.06);
}
.portal-admin-section-card__control:focus {
  border-color: rgba(217, 117, 0, 0.95);
  background: rgba(255, 247, 237, 0.72);
  box-shadow: 0 0 0 4px rgba(217, 117, 0, 0.12);
  outline: none;
}
.portal-admin-section-card__control--position {
  padding: 0.625rem 0.75rem;
  color: var(--color-blue);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
}
.portal-admin-section-card__control--title {
  padding: 0.625rem 1rem;
  color: var(--color-slate-900);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.portal-admin-section-card__control--title::placeholder {
  color: #94a3b8;
}
.portal-admin-section-card__control--select {
  padding: 0.625rem 0.75rem;
  color: var(--color-slate-700);
  font-size: 0.875rem;
  font-weight: 600;
}
.portal-admin-placeholder-picker {
  display: grid;
  gap: 0.45rem;
  padding: 0.65rem 0.72rem;
  border: 1px dashed rgba(148, 163, 184, 0.42);
  border-radius: var(--radius-md);
  background: rgba(248, 250, 252, 0.82);
  margin-bottom: 0.6rem;
}
.portal-admin-placeholder-picker__header {
  display: grid;
  gap: 0.2rem;
}
.portal-admin-placeholder-picker__toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.5rem;
  align-items: center;
}
.portal-admin-anchor-offset {
  scroll-margin-top: 7rem;
}
.portal-admin-stack--sections {
  display: grid;
  gap: 1.5rem;
}
.portal-admin-placeholder-picker__select {
  min-height: 2.35rem;
}
.portal-toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
}
.portal-toggle__input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.portal-toggle__track {
  position: relative;
  display: inline-flex;
  width: 2.9rem;
  height: 1.7rem;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.42);
  transition: background-color 0.18s ease, box-shadow 0.18s ease;
  box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.12);
}
.portal-toggle__track::after {
  content: "";
  position: absolute;
  top: 0.18rem;
  left: 0.18rem;
  width: 1.34rem;
  height: 1.34rem;
  border-radius: 999px;
  background: white;
  box-shadow: 0 8px 16px -12px rgba(15, 23, 42, 0.55);
  transition: transform 0.18s ease;
}
.portal-toggle__input:checked + .portal-toggle__track {
  background: linear-gradient(135deg, var(--color-orange), #f7b355);
}
.portal-toggle__input:checked + .portal-toggle__track::after {
  transform: translateX(1.2rem);
}
.portal-toggle__input:focus-visible + .portal-toggle__track {
  outline: 2px solid rgba(18, 65, 126, 0.28);
  outline-offset: 2px;
}
.portal-toggle__label {
  min-width: 2.25rem;
  color: var(--color-slate-600);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
@media (min-width: 1024px) {
  .portal-admin-section-card__header--responsive {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .portal-admin-section-card__header--compact {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
  }
  .portal-admin-section-card__identity--antenna {
    grid-template-columns: 5.25rem minmax(0, 1fr) auto;
    align-items: flex-start;
  }
}
.portal-admin-shell {
  display: block;
  min-height: 100vh;
}
.portal-sidebar {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  width: var(--sidebar-width);
  height: 100vh;
  padding: 1.35rem 1rem 1rem;
  background: linear-gradient(180deg, #10335f 0%, #12417e 68%, #0f2f59 100%);
  color: rgba(255, 255, 255, 0.9);
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 18px 0 50px -42px rgba(15, 23, 42, 0.55);
  overflow-y: auto;
}
.portal-sidebar__brand-link {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  padding: 0.35rem 0.45rem;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.05);
}
.portal-sidebar__brand-image {
  width: 2.9rem;
  height: 2.9rem;
  object-fit: contain;
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.08);
  padding: 0.35rem;
}
.portal-sidebar__brand-kicker {
  margin: 0 0 0.15rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.portal-sidebar__brand-title {
  margin: 0;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}
.portal-sidebar__nav {
  display: grid;
  gap: 1.25rem;
}
.portal-sidebar__section {
  display: grid;
  gap: 0.4rem;
}
.portal-sidebar__section-label {
  margin: 0 0 0.3rem;
  padding: 0 0.55rem;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-sidebar__link,
.portal-sidebar__details-summary {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 2.85rem;
  padding: 0.75rem 0.9rem;
  border-radius: 0.95rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.95rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.portal-sidebar__details-summary {
  list-style: none;
  cursor: pointer;
}
.portal-sidebar__details-summary::-webkit-details-marker {
  display: none;
}
.portal-sidebar__details[open] > .portal-sidebar__details-summary,
.portal-sidebar__details-summary:hover,
.portal-sidebar__link:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.08);
  color: #fff;
}
.portal-sidebar__link.is-active {
  background: linear-gradient(135deg, rgba(217, 117, 0, 0.94), rgba(244, 159, 44, 0.96));
  color: #fff;
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 14px 30px -22px rgba(217, 117, 0, 0.9);
}
.portal-sidebar__link-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.2rem;
  height: 1.2rem;
  opacity: 0.92;
}
.portal-sidebar__subnav {
  display: grid;
  gap: 0.35rem;
  margin-top: 0.35rem;
  padding-left: 0.8rem;
}
.portal-sidebar__subnav .portal-sidebar__link {
  min-height: 2.6rem;
  border-radius: 0.8rem;
  padding-left: 0.8rem;
}
.portal-sidebar__footer {
  margin-top: auto;
  padding: 1rem 0.55rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.portal-sidebar__account-name {
  margin: 0;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
}
.portal-sidebar__account-meta {
  margin: 0.15rem 0 1rem;
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.85rem;
}
.portal-app {
  margin-left: var(--sidebar-width);
  min-width: 0;
  padding: 1.1rem 1.35rem 2rem;
}
.portal-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.85rem;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 1.1rem;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 18px 35px -30px rgba(15, 23, 42, 0.35);
}
.portal-topbar__intro {
  display: grid;
  gap: 0.3rem;
}
.portal-topbar__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--color-slate-500);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-topbar__eyebrow-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 0.65rem;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topbar__title {
  margin: 0;
  color: var(--color-slate-900);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.1;
}
.portal-topbar__meta {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.portal-topbar__profile {
  position: relative;
  padding-bottom: 0.35rem;
  margin-bottom: -0.35rem;
}
.portal-topbar__chip {
  display: inline-flex;
  align-items: center;
  min-height: 2.5rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.78);
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
}
.portal-topbar__chip--profile {
  gap: 0.7rem;
  padding-right: 0.8rem;
  cursor: pointer;
}
.portal-topbar__avatar,
.portal-topbar__chip-caret {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.portal-topbar__avatar {
  width: 2rem;
  height: 2rem;
  border-radius: 0.75rem;
  background: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topbar__chip-copy {
  display: grid;
  gap: 0.1rem;
  text-align: left;
}
.portal-topbar__chip-label {
  color: var(--color-slate-900);
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.1;
}
.portal-topbar__chip-meta {
  color: var(--color-slate-500);
  font-size: 0.74rem;
  font-weight: 600;
  line-height: 1.1;
}
.portal-topbar__profile-menu {
  position: absolute;
  top: calc(100% - 0.1rem);
  right: 0;
  min-width: 17rem;
  padding: 1rem 0.8rem 0.8rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 30px 45px -30px rgba(15, 23, 42, 0.34);
  display: none;
  z-index: 60;
}
.portal-topbar__profile:hover .portal-topbar__profile-menu,
.portal-topbar__profile:focus-within .portal-topbar__profile-menu {
  display: grid;
  gap: 0.75rem;
}
.portal-topbar__profile-group {
  display: grid;
  gap: 0.35rem;
}
.portal-topbar__profile-label {
  margin: 0;
  padding: 0 0.45rem;
  color: var(--color-slate-500);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.portal-topbar__logout-button {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  width: 100%;
  padding: 0.7rem 0.8rem;
  border: 1px solid transparent;
  border-radius: 0.85rem;
  background: transparent;
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}
.portal-topbar__logout-button:hover {
  background: rgba(18, 65, 126, 0.07);
  border-color: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
.portal-topnav__dropdown-link {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 2.75rem;
  padding: 0.7rem 0.8rem;
  border-radius: 0.85rem;
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.portal-topnav__dropdown-link:hover,
.portal-topnav__dropdown-link.is-active {
  background: rgba(18, 65, 126, 0.07);
  border-color: rgba(18, 65, 126, 0.08);
  color: var(--color-blue);
}
@media (max-width: 1080px) {
  .portal-admin-shell {
    display: block;
  }
  .portal-sidebar {
    position: relative;
    left: auto;
    width: auto;
    height: auto;
    min-height: auto;
    border-right: 0;
    overflow: visible;
  }
  .portal-app {
    margin-left: 0;
  }
  .portal-topbar,
  .portal-main {
    padding-inline: 1rem;
  }
  .portal-admin-grid-table__header {
    display: none;
  }
  .portal-admin-grid-table__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .portal-admin-section-card__header,
  .portal-admin-section-card__identity,
  .portal-admin-section-card__actions,
  .portal-admin-section-card__grid {
    grid-template-columns: 1fr;
  }
  .portal-admin-grid-table__toggle,
  .portal-admin-grid-table__actions {
    justify-content: flex-start;
  }
}
@media (max-width: 720px) {
  .portal-topbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .portal-topbar__meta {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .portal-topbar__profile-menu {
    left: 0;
    right: auto;
    min-width: min(17rem, 100vw - 3rem);
  }
}
.portal-section-nav-shell {
  position: sticky;
  top: 1rem;
  z-index: 20;
}
.portal-section-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.5rem;
  position: relative;
  padding: 0.65rem;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(226, 232, 240, 0.72);
  backdrop-filter: blur(10px);
  transition: box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}
.portal-section-nav__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  min-width: 0;
}
.portal-section-nav__actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-left: auto;
}
.portal-section-nav.is-stuck {
  box-shadow: 0 16px 30px -26px rgba(15, 23, 42, 0.38);
  border-color: rgba(18, 65, 126, 0.12);
  background: rgba(255, 255, 255, 0.94);
}
.portal-section-nav__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.75rem;
  padding: 0.75rem 1.1rem;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(226, 232, 240, 0.95);
  color: var(--color-slate-700);
  font-size: 0.9rem;
  font-weight: 700;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
  transition: transform 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}
.portal-section-nav__label {
  white-space: nowrap;
}
.portal-section-nav__indicator {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 999px;
  background: #16a34a;
  box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.12);
  flex-shrink: 0;
}
.portal-section-nav__link.is-incomplete .portal-section-nav__indicator {
  background: var(--color-orange);
  box-shadow: 0 0 0 3px rgba(217, 117, 0, 0.14);
}
.portal-section-nav__link:hover {
  transform: translateY(-1px);
  border-color: rgba(217, 117, 0, 0.45);
  color: var(--color-blue);
}
.portal-section-nav__link.is-active {
  background: var(--color-blue);
  border-color: var(--color-blue);
  color: white;
}
.portal-section-nav__link.is-active .portal-section-nav__indicator {
  background: rgba(255, 255, 255, 0.96);
  box-shadow: none;
}
.portal-risk-card {
  padding: 1.5rem;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(18, 65, 126, 0.14);
  background: linear-gradient(180deg, rgba(18, 65, 126, 0.08), rgba(255, 255, 255, 0.98));
}
.portal-risk-card__headline {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
}
.portal-risk-card__score {
  color: var(--color-blue);
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1;
}
.portal-risk-card__level {
  margin: 0.35rem 0 0;
  color: var(--color-slate-700);
  font-size: 0.92rem;
  font-weight: 600;
}
.portal-risk-card__recommendation {
  margin: 0.9rem 0 0;
  color: var(--color-slate-700);
  line-height: 1.55;
}
.portal-risk-breakdown {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 1.15rem;
}
.portal-risk-breakdown__item {
  padding: 0.95rem 1rem;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(226, 232, 240, 0.95);
}
.portal-risk-breakdown__label {
  margin: 0;
  color: var(--color-slate-500);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 700;
}
.portal-risk-breakdown__value {
  margin: 0.35rem 0 0;
  color: var(--color-slate-900);
  font-size: 1rem;
  font-weight: 700;
}
.portal-timeline {
  display: grid;
  gap: 0.85rem;
}
.portal-timeline__item {
  padding: 0.95rem 1rem;
  border-radius: var(--radius-md);
  border: 1px solid rgba(226, 232, 240, 0.95);
  background: var(--color-slate-50);
}
.portal-timeline__field {
  margin: 0;
  color: var(--color-slate-900);
  font-size: 0.9rem;
  font-weight: 700;
}
.portal-timeline__change {
  margin: 0.4rem 0 0;
  color: var(--color-slate-700);
  font-size: 0.88rem;
}
.portal-timeline__meta,
.portal-timeline__empty {
  margin: 0.45rem 0 0;
  color: var(--color-slate-500);
  font-size: 0.8rem;
}
@media (max-width: 960px) {
  .portal-section-nav {
    position: static;
    top: auto;
    padding-top: 0;
  }
  .portal-section-nav__actions {
    width: 100%;
    justify-content: flex-end;
  }
  .portal-risk-breakdown {
    grid-template-columns: 1fr;
  }
}
.portal-convention-document {
  display: grid;
  gap: 3mm;
}
.portal-convention-page,
.portal-convention-appendix-page {
  display: block;
  position: relative;
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  background: white;
  border: 1px solid rgba(15, 23, 42, 0.08);
  box-shadow: 0 10px 24px -24px rgba(15, 23, 42, 0.18);
  overflow: hidden;
  break-after: page;
  page-break-after: always;
}
.portal-convention-document > :last-child {
  break-after: auto;
  page-break-after: auto;
}
.portal-convention-page__header,
.portal-convention-page__footer {
  position: absolute;
  left: 0;
  width: 100%;
}
.portal-convention-page__header {
  top: 0;
}
.portal-convention-page__footer {
  bottom: 0;
}
.portal-convention-page__header-art,
.portal-convention-page__footer-art,
.portal-convention-appendix-page__image {
  display: block;
  width: 100%;
  height: auto;
}
.portal-convention-page__header-meta {
  position: absolute;
  top: 13.5mm;
  left: 21mm;
  display: inline-flex;
  align-items: center;
}
.portal-convention-page__department {
  color: rgba(255, 255, 255, 0.96);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.portal-convention-page__body {
  min-height: 297mm;
  padding: 33.5mm 18mm 31mm;
}
.portal-convention-page__footer-content {
  position: absolute;
  right: 16mm;
  left: 16mm;
  bottom: 7.2mm;
  display: grid;
  justify-items: center;
  gap: 0.08rem;
  color: #092d5e;
  font-size: 0.46rem;
  line-height: 1.25;
  font-weight: 600;
  text-align: center;
}
.portal-convention-page__footer-content p {
  margin: 0;
}
.portal-convention-page__footer-content span {
  color: #0b5cab;
  text-decoration: underline;
}
.portal-convention-page__footer-page-number {
  position: absolute;
  right: 10mm;
  bottom: 2.2mm;
  color: rgba(255, 255, 255, 0.96);
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.portal-convention-opening {
  display: grid;
  justify-items: center;
  gap: 2.8mm;
  margin-bottom: 5.5mm;
}
.portal-convention-opening__heading {
  display: grid;
  justify-items: center;
  gap: 2.2mm;
}
.portal-convention-opening__title {
  margin: 0;
  color: var(--color-blue);
  font-size: 1.18rem;
  line-height: 1.12;
  font-weight: 700;
  text-align: center;
}
.portal-convention-opening__reference-box {
  display: inline-flex;
  align-items: center;
  gap: 3mm;
  min-width: 72mm;
  padding: 1.8mm 3.2mm;
  border: 1px solid rgba(18, 65, 126, 0.16);
  background: white;
}
.portal-convention-opening__reference-label,
.portal-convention-opening__reference-value {
  font-size: 0.84rem;
}
.portal-convention-opening__reference-label {
  font-weight: 700;
}
.portal-convention-opening__reference-value {
  margin-left: auto;
}
.portal-convention-section,
.portal-convention-article {
  margin-top: 5mm;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-section:first-of-type,
.portal-convention-article:first-of-type {
  margin-top: 0;
}
.portal-convention-section__title,
.portal-convention-article__title {
  margin: 0 0 2.2mm;
  color: var(--color-blue);
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase;
}
.portal-convention-text {
  display: grid;
  gap: 2.5mm;
  color: #111827;
  font-size: 0.83rem;
  line-height: 1.45;
}
.portal-convention-text--compact {
  gap: 1.5mm;
}
.portal-convention-text--signature-intro {
  margin-bottom: 4mm;
}
.portal-convention-text p,
.portal-convention-rich-content p {
  margin: 0;
}
.portal-convention-rich-content > :first-child {
  margin-top: 0;
}
.portal-convention-rich-content > :last-child {
  margin-bottom: 0;
}
.portal-convention-definition-list {
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 3mm 4mm;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-definition-list div,
.portal-convention-highlight,
.portal-convention-panel,
.portal-convention-signature-card {
  border: 1px solid rgba(18, 65, 126, 0.14);
  background: white;
  box-shadow: none;
}
.portal-convention-definition-list div {
  padding: 3.5mm 4mm;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-definition-list dt {
  margin-bottom: 1mm;
  color: var(--color-slate-500);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.portal-convention-definition-list dd {
  margin: 0;
  color: var(--color-slate-900);
  font-size: 0.9rem;
  font-weight: 600;
}
.portal-convention-highlight-grid,
.portal-convention-panel-grid,
.portal-convention-signatures {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5mm;
  align-items: start;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-highlight,
.portal-convention-panel,
.portal-convention-rich-content,
.portal-convention-signature-card {
  padding: 3.2mm 3.6mm;
}
.portal-convention-highlight,
.portal-convention-panel,
.portal-convention-device-box,
.portal-convention-amount-box,
.portal-convention-signature-card {
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-highlight__label {
  margin: 0;
  color: var(--color-slate-500);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.portal-convention-highlight__value {
  margin: 2mm 0 0;
  color: var(--color-blue);
  font-size: 1rem;
  font-weight: 700;
}
.portal-convention-emphasis {
  color: var(--color-blue);
  font-size: 0.98rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.portal-convention-panel h3 {
  margin: 0 0 2.2mm;
  color: var(--color-blue);
  font-size: 0.88rem;
}
.portal-convention-table {
  width: 100%;
  border-collapse: collapse;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-table th,
.portal-convention-table td {
  padding: 2.2mm 2.5mm;
  border: 1px solid rgba(203, 213, 225, 0.92);
  text-align: left;
  font-size: 0.84rem;
}
.portal-convention-table th {
  background: var(--color-slate-50);
  color: var(--color-blue);
  font-weight: 700;
}
.portal-convention-rich-content {
  font-size: 0.83rem;
  line-height: 1.45;
}
.portal-document-shell .trix-content,
.portal-document-shell .portal-convention-rich-content,
.portal-document-shell .portal-convention-rich-content * {
  font-family: Tahoma, Arial, sans-serif;
  color: #111827;
}
.portal-convention-rich-content h1,
.portal-convention-rich-content h2,
.portal-convention-rich-content h3,
.portal-convention-rich-content h4,
.portal-convention-rich-content h5,
.portal-convention-rich-content h6 {
  margin: 0 0 2.5mm;
  color: var(--color-blue);
  font-size: 0.85rem;
  font-weight: 700;
}
.portal-convention-rich-content div {
  margin: 0;
}
.portal-convention-rich-content ul,
.portal-convention-rich-content ol {
  margin: 2mm 0 0 4.5mm;
  padding-left: 4.5mm;
  break-inside: avoid;
  page-break-inside: avoid;
}
.portal-convention-rich-content li + li {
  margin-top: 1.2mm;
}
.portal-convention-section--opening .portal-convention-section__title {
  margin-bottom: 1.6mm;
  color: var(--color-blue);
  font-size: 0.8rem;
  font-weight: 700;
  text-transform: none;
}
.portal-convention-section--opening .portal-convention-rich-content,
.portal-convention-section--opening .portal-convention-rich-content * {
  font-size: 0.82rem;
}
.portal-convention-section--opening .portal-convention-rich-content {
  padding: 0;
}
.portal-convention-device-box,
.portal-convention-amount-box {
  margin: 3mm auto;
  padding: 2.4mm 3.2mm;
  border: 1px solid rgba(18, 65, 126, 0.14);
  background: white;
  box-shadow: none;
  text-align: center;
}
.portal-convention-device-box {
  max-width: 136mm;
}
.portal-convention-amount-box {
  max-width: 150mm;
}
.portal-convention-amount-box__value,
.portal-convention-amount-box__words {
  margin: 0;
}
.portal-convention-amount-box__value {
  font-size: 0.98rem;
}
.portal-convention-amount-box__words {
  margin-top: 1.4mm;
  font-size: 0.78rem;
  font-style: italic;
}
.portal-convention-quote-reference {
  margin-top: 3mm;
  text-align: center;
}
.portal-convention-rich-content strong {
  font-weight: 700;
}
.portal-convention-rich-content em {
  font-style: italic;
}
.portal-convention-rich-content a {
  color: inherit;
  text-decoration: underline;
}
.portal-convention-signature-card {
  display: grid;
  align-content: start;
  min-height: 60mm;
  border: 0;
  border-top: 1px solid rgba(18, 65, 126, 0.2);
  padding: 3mm 0 0;
}
.portal-convention-signature-card__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 3mm;
}
.portal-convention-signature-card__identity {
  display: grid;
  gap: 1.2mm;
  margin-top: 2.2mm;
}
.portal-convention-signature-card__heading {
  margin: 1.6mm 0 0;
  color: var(--color-blue);
  font-size: 0.74rem;
  font-weight: 700;
}
.portal-convention-signature-card__name {
  margin: 2.2mm 0 0;
  color: var(--color-blue);
  font-size: 0.88rem;
  font-weight: 700;
}
.portal-convention-signature-card__role {
  margin: 1.5mm 0 0;
  color: #111827;
  font-size: 0.8rem;
}
.portal-convention-signature-card__place,
.portal-convention-signature-card__date,
.portal-convention-signature-card__meta {
  margin: 0;
  color: #111827;
  font-size: 0.78rem;
  line-height: 1.4;
}
.portal-convention-signature-card__date {
  margin-top: 0;
  text-align: right;
}
.portal-convention-signature-card__meta {
  margin-top: 0.6mm;
}
.portal-convention-signature-card__preview,
.portal-convention-signature-card__placeholder {
  margin-top: 4mm;
  min-height: 24mm;
  display: flex;
  align-items: end;
}
.portal-convention-signature-card__placeholder {
  border-top: 1px solid rgba(148, 163, 184, 0.75);
}
.portal-convention-signature-card__image {
  max-width: 100%;
  max-height: 20mm;
  object-fit: contain;
}
.portal-convention-appendix-page {
  display: flex;
  align-items: stretch;
  justify-content: center;
}
.portal-convention-appendix-page__image {
  width: 100%;
  height: auto;
  object-fit: cover;
}
.portal-convention-preview-frame {
  display: flex;
  justify-content: center;
  overflow: hidden;
  width: 100%;
  height: calc(297mm + 2.25rem);
  margin: 0 auto;
  padding: 0.875rem;
  border: 1px solid rgba(18, 65, 126, 0.08);
  border-radius: 1rem;
  background: linear-gradient(180deg, #edf2f8 0%, #e5ecf5 100%);
}
.portal-convention-preview-frame__iframe {
  display: block;
  width: calc(210mm + 0.4rem);
  min-width: calc(210mm + 0.4rem);
  height: calc(297mm + 0.5rem);
  min-height: calc(297mm + 0.5rem);
  flex: 0 0 calc(210mm + 0.4rem);
  margin: 0 auto;
  border: 0;
  border-radius: 0.75rem;
  background: #fff;
  box-shadow: 0 18px 42px -30px rgba(15, 23, 42, 0.34);
}
.portal-document-shell--preview .portal-document-main {
  width: auto;
  margin: 0;
  padding: 0;
}
.portal-document-shell--preview .portal-convention-document {
  gap: 0;
}
.portal-document-shell--preview .portal-convention-page,
.portal-document-shell--preview .portal-convention-appendix-page {
  border: 0;
  box-shadow: none;
}
@media print {
  @page {
    size: A4;
    margin: 0;
  }
  .portal-document-main {
    width: auto;
    margin: 0;
    padding: 0;
  }
  .portal-convention-document {
    gap: 0;
  }
  .portal-convention-page,
  .portal-convention-appendix-page {
    border: 0;
    box-shadow: none;
  }
}
@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-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false;
}
@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-content {
  syntax: "*";
  initial-value: "";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@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-border-style: solid;
      --tw-gradient-position: initial;
      --tw-gradient-from: #0000;
      --tw-gradient-via: #0000;
      --tw-gradient-to: #0000;
      --tw-gradient-stops: initial;
      --tw-gradient-via-stops: initial;
      --tw-gradient-from-position: 0%;
      --tw-gradient-via-position: 50%;
      --tw-gradient-to-position: 100%;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-tracking: initial;
      --tw-shadow: 0 0 #0000;
      --tw-shadow-color: initial;
      --tw-shadow-alpha: 100%;
      --tw-inset-shadow: 0 0 #0000;
      --tw-inset-shadow-color: initial;
      --tw-inset-shadow-alpha: 100%;
      --tw-ring-color: initial;
      --tw-ring-shadow: 0 0 #0000;
      --tw-inset-ring-color: initial;
      --tw-inset-ring-shadow: 0 0 #0000;
      --tw-ring-inset: initial;
      --tw-ring-offset-width: 0px;
      --tw-ring-offset-color: #fff;
      --tw-ring-offset-shadow: 0 0 #0000;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-outline-style: solid;
      --tw-content: "";
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
    }
  }
}