.loader-wrapper[data-v-7a8d49cc] {
  position: fixed;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  background-color: rgba(255, 255, 255, 0.7);
}
.layout[data-v-bac6fca9] {
  min-height: 100vh;
}
main[data-v-bac6fca9] {
  padding-bottom: 56px;
  margin-bottom: 30px;
}
/* Page container */
.home-page[data-v-27eba577] {
  background: var(--color-primary-contrast);
}
.page-wrapper[data-v-27eba577] {
  position: relative;
  max-width: var(--home-page-max-width);
  margin: 0 auto;
  padding: var(--home-page-padding-desktop);
  display: flex;
  flex-direction: column;
  gap: var(--home-page-gap-lg);
}
.home-page--side-menu-expanded .page-wrapper[data-v-27eba577] {
  padding-left: 80px;
  padding-right: 80px;
}
.hero-section[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: var(--home-banner-top-padding);
}
.home-top-nav[data-v-27eba577] {
  display: flex;
  align-items: center;
  min-height: 40px;
  width: min(100%, var(--home-banner-frame-width));
  margin: 0 auto;
}

/* Banner */
.banner-card[data-v-27eba577] {
  background: var(--home-banner-bg);
  border-radius: 48px;
  padding: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  overflow: hidden;
}
.banner-content[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: 32px;
  flex: 1 0 0;
  color: var(--color-primary-contrast);
  max-width: 520px;
  z-index: 2;
}
.banner-text[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.banner-title[data-v-27eba577] {
  font-weight: 700;
  margin: 0;
  color: var(--color-primary-contrast);
  white-space: nowrap;
}
.banner-description[data-v-27eba577] {
  font-weight: 500;
  margin: 0;
  color: var(--color-primary-contrast);
  max-width: 460px;
}
.banner-cta[data-v-27eba577] {
  width: fit-content;
}
.banner-mockup[data-v-27eba577] {
  width: 636px;
  height: 367px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.banner-mockup-img[data-v-27eba577] {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Login bar */
.login-bar[data-v-27eba577] {
  display: flex;
  align-items: flex-end;
  gap: 24px;
}
.login-bar-content[data-v-27eba577] {
  background: var(--home-login-bg);
  border-radius: var(--home-login-radius);
  padding: var(--home-login-padding);
  gap: var(--home-login-gap);
  justify-content: center;
  flex: 1;
}
.login-bar-icon[data-v-27eba577] {
  width: var(--home-login-icon-size);
  height: var(--home-login-icon-size);
  border-radius: 999px;
  background: var(--home-login-icon-bg);
  flex-shrink: 0;
}
.login-bar-title[data-v-27eba577] {
  font-size: var(--home-login-title-size);
  font-weight: 700;
  line-height: var(--home-login-title-line-height);
  color: var(--home-login-title-color);
  margin: 0;
  white-space: nowrap;
  flex-shrink: 0;
}
.login-bar-subtitle[data-v-27eba577] {
  font-size: var(--home-login-subtitle-size);
  font-weight: 500;
  line-height: var(--home-login-subtitle-line-height);
  color: var(--color-primary-contrast);
  margin: 0;
  flex: 1;
}
.login-bar-cta[data-v-27eba577] {
  flex-shrink: 0;
}
.orders-section[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
}
.orders-heading[data-v-27eba577] {
  margin: 0;
  font-size: var(--home-section-title-size);
  font-weight: 700;
  line-height: var(--home-section-title-line-height);
  color: var(--color-text-primary);
  text-align: center;
}
.orders-grid[data-v-27eba577] {
  width: 100%;
  gap: var(--home-grid-gap);
  align-items: stretch;
}
.order-card[data-v-27eba577] {
  flex: 1;
  min-width: 0;
  background: var(--color-primary-contrast);
  border-radius: 8px;
  box-shadow: var(--home-elevation-sm);
  padding: 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.order-image-wrap[data-v-27eba577] {
  width: 210px;
  height: 140px;
  overflow: hidden;
}
.order-image[data-v-27eba577] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.order-image--placeholder[data-v-27eba577] {
  object-fit: contain;
  padding: 12px;
}
.order-status[data-v-27eba577] {
  margin-top: 24px;
}
.order-title[data-v-27eba577] {
  margin: 8px 0 0;
  font-size: var(--home-login-title-size);
  font-weight: 700;
  line-height: var(--home-login-title-line-height);
  color: var(--color-text-primary);
}
.order-date[data-v-27eba577] {
  margin: 8px 0 0;
  color: var(--color-heading);
}
.order-action[data-v-27eba577] {
  margin-top: 8px;
}
.orders-all-cta[data-v-27eba577] {
  width: fit-content;
}

/* Section headings */
.section-heading[data-v-27eba577] {
  font-size: var(--home-section-title-size);
  font-weight: 700;
  line-height: var(--home-section-title-line-height);
  color: var(--color-text-primary);
  margin: 0;
}
.section-heading--center[data-v-27eba577] {
  text-align: center;
}

/* Steps section */
.steps-section[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: var(--home-section-gap-xl);
}
.steps-grid[data-v-27eba577] {
  gap: var(--home-grid-gap);
  align-items: stretch;
}
.step-item[data-v-27eba577] {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.step-card[data-v-27eba577] {
  background: var(--color-primary-contrast);
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.step-media-zone[data-v-27eba577] {
  height: var(--home-step-media-height);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.step-photo[data-v-27eba577] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.step-content[data-v-27eba577] {
  padding: 24px 0;
  display: flex;
  flex-direction: column;
  gap: var(--home-step-content-gap);
  flex: 1;
}
.step-title[data-v-27eba577] {
  font-size: var(--home-step-title-size);
  font-weight: 700;
  line-height: var(--home-step-title-line-height);
  color: var(--color-text-primary);
  margin: 0;
}
.step-description[data-v-27eba577] {
  font-size: var(--home-body-text-size);
  line-height: var(--home-body-text-line-height);
  color: var(--color-content-secondary);
  margin: 0;
}
.step-link-wrap[data-v-27eba577] {
  margin-top: auto;
  padding-top: 24px;
}

/* Pricing section */
.pricing-section[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: var(--home-section-gap-xl);
}
.pricing-grid[data-v-27eba577] {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--home-grid-gap);
  align-items: stretch;
}

/* Custom info cards (pricing + production) */
.info-card[data-v-27eba577] {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: var(--home-elevation-sm);
  display: flex;
  flex-direction: column;
}
.info-card-media[data-v-27eba577] {
  height: var(--home-card-media-height);
  overflow: hidden;
  flex-shrink: 0;
}
.info-card-photo[data-v-27eba577] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pricing-photo[data-v-27eba577] {
  object-position: center top;
}
.production-photo[data-v-27eba577] {
  object-position: center 35%;
}
.info-card-content[data-v-27eba577] {
  flex: 1;
  padding: 24px;
  margin-top: -20px;
  border-radius: 20px 20px 0 0;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.info-card--blue .info-card-content[data-v-27eba577] {
  background: var(--color-focus);
}
.info-card--peach .info-card-content[data-v-27eba577] {
  background: var(--color-brand-secondary-lightest);
}
.info-card-title[data-v-27eba577] {
  font-size: var(--home-step-title-size);
  font-weight: 700;
  line-height: var(--home-step-title-line-height);
  color: var(--color-text-primary);
  margin: 0;
}
.info-card-description[data-v-27eba577] {
  font-size: var(--home-body-text-size);
  line-height: var(--home-body-text-line-height);
  color: var(--color-content-secondary);
  margin: 0;
  flex: 1;
}
.info-card-links[data-v-27eba577] {
  display: flex;
  align-items: center;
  gap: var(--home-card-link-gap);
  flex-wrap: nowrap;
  margin-top: auto;
  padding-top: 12px;
}
.pricing-links-separator[data-v-27eba577] {
  color: var(--color-primary);
  font-size: var(--home-body-text-size);
  line-height: var(--home-body-text-line-height);
}

/* FAQ */
.faq-section[data-v-27eba577] {
  display: flex;
  flex-direction: column;
  gap: var(--home-faq-gap);
}
.faq-answer[data-v-27eba577] {
  font-size: var(--home-body-text-size);
  line-height: var(--home-body-text-line-height);
  color: var(--color-text-primary);
  margin: 0;
  max-width: var(--home-faq-max-width);
}

/* Text link */
.text-link[data-v-27eba577] {
  display: inline-flex;
  align-items: center;
  gap: var(--home-text-link-gap);
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
  cursor: pointer;
}
.text-link[data-v-27eba577]:hover {
  text-decoration: underline;
}
.text-link[data-v-27eba577]:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
  border-radius: var(--home-focus-border-radius);
  text-decoration: none;
}

/* =========================
	 Responsive
	 ========================= */
@media (max-width: 1024px) {
.home-page--side-menu-expanded .page-wrapper[data-v-27eba577] {
    padding: var(--home-page-padding-mobile);
}
.page-wrapper[data-v-27eba577] {
    padding: var(--home-page-padding-tablet);
    gap: var(--home-page-gap-tablet);
}
.banner-card[data-v-27eba577] {
    padding: 24px;
    gap: 24px;
}
.banner-content[data-v-27eba577] {
    max-width: 360px;
}
.banner-mockup[data-v-27eba577] {
    width: 380px;
    height: 210px;
    flex-shrink: 0;
}
.login-bar[data-v-27eba577] {
    flex-wrap: wrap;
    align-items: center;
    gap: 16px;
}
.login-bar-content[data-v-27eba577] {
    border-radius: var(--home-login-radius-tablet);
    width: 100%;
}
.steps-grid[data-v-27eba577],
  .orders-grid[data-v-27eba577] {
    flex-direction: column;
}
.pricing-grid[data-v-27eba577] {
    grid-template-columns: 1fr;
}
.order-card[data-v-27eba577] {
    width: 100%;
}
.info-card-links[data-v-27eba577] {
    flex-wrap: wrap;
}
}
@media (max-width: 768px) {
.home-page--side-menu-expanded .page-wrapper[data-v-27eba577] {
    padding: var(--home-page-padding-mobile);
}
.banner-card[data-v-27eba577] {
    flex-direction: column;
    align-items: flex-start;
}
.banner-content[data-v-27eba577] {
    max-width: none;
    width: 100%;
}
.banner-mockup[data-v-27eba577] {
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 636/367;
    flex-shrink: 0;
}
}
@media (max-width: 640px) {
.home-page--side-menu-expanded .page-wrapper[data-v-27eba577] {
    padding: var(--home-page-padding-mobile);
}
.page-wrapper[data-v-27eba577] {
    padding: var(--home-page-padding-mobile);
    gap: var(--home-page-gap-mobile);
}
.hero-section[data-v-27eba577] {
    margin: 0 -16px;
    padding-top: 0;
}
.banner-card[data-v-27eba577] {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
    padding: 48px 0 24px;
    border-radius: 0;
    gap: 32px;
}
.banner-content[data-v-27eba577] {
    width: 100%;
    padding: 0 32px;
}
.banner-title[data-v-27eba577] {
    white-space: normal;
    font-size: var(--home-banner-title-size-mobile);
    line-height: var(--home-banner-title-line-height-mobile);
}
.banner-mockup[data-v-27eba577] {
    flex-shrink: 0;
    width: 100%;
    max-width: 100%;
    height: auto;
    aspect-ratio: 1000/611;
}
.login-bar[data-v-27eba577] {
    margin: 0 -16px;
    padding-right: 16px;
    overflow: hidden;
    align-items: center;
    gap: 12px;
}
.login-bar-icon[data-v-27eba577] {
    margin-left: -44px;
    flex-shrink: 0;
}
.login-bar-content[data-v-27eba577] {
    border-radius: var(--home-login-radius-mobile);
    padding: var(--home-login-padding-mobile);
    flex: 1;
    min-width: 0;
    gap: 16px;
    align-items: center;
}
.login-bar-title[data-v-27eba577] {
    white-space: normal;
    flex: 1;
}
.orders-section[data-v-27eba577] {
    gap: 24px;
}
.order-card[data-v-27eba577] {
    padding: 20px;
}
.order-image-wrap[data-v-27eba577] {
    width: 100%;
    height: auto;
    aspect-ratio: 3/2;
}
}/* =========================
PostNord design assets
========================= */
html {
  font-size: 62.5%; /* sets 1rem to 10px */
}

body {
  font-size: 1.6rem; /* ~16px */
  margin: 0;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Light.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Light.woff") format("woff");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-LightItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Regular.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-RegularItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-RegularItalic.woff") format("woff");
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Medium.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Medium.woff") format("woff");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-MediumItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Bold.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Bold.woff") format("woff");
  font-weight: bold;
  font-display: swap;
}
@font-face {
  font-family: "PostNordSans";
  src: url("https://portal.postnord.com/fonts/PNSans-BoldItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Light.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Light.woff") format("woff");
  font-weight: 300;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-LightItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-LightItalic.woff") format("woff");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Regular.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Regular.woff") format("woff");
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-RegularItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-RegularItalic.woff") format("woff");
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Medium.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Medium.woff") format("woff");
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-MediumItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-MediumItalic.woff") format("woff");
  font-weight: 500;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-Bold.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-Bold.woff") format("woff");
  font-weight: bold;
  font-display: swap;
}
@font-face {
  font-family: "PNSans";
  src: url("https://portal.postnord.com/fonts/PNSans-BoldItalic.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNSans-BoldItalic.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "PNScript";
  src: url("https://portal.postnord.com/fonts/PNScript-Regular.woff2") format("woff2"), url("https://portal.postnord.com/fonts/PNScript-Regular.woff") format("woff");
  font-weight: 300;
  font-display: swap;
}
body,
button,
input {
  font-family: "PNSans", "Verdana";
}

h1,
h2,
h3,
h4 {
  line-height: 1.1;
  font-weight: bold;
}

.pn-2xl {
  font-size: 3em;
  font-size: clamp(2em, 6vw, 3em);
}

h1,
.pn-xl {
  font-size: 2em;
  font-size: clamp(1.85em, 5vw, 2em);
}

h2,
.pn-l {
  font-size: 1.5em;
}

h3,
.pn-m {
  font-size: 1.25em;
}

h4,
p,
.pn-s {
  font-size: 1em;
}

p,
.pn-s {
  line-height: 1.5;
}

.pn-xs {
  font-size: 0.875em;
}

.pn-2xs,
small {
  font-size: 0.75em;
  font-size: max(.6em, 1.2rem);
}

a.pn-a {
  color: #005d92;
  outline: none;
  border-radius: 0.8rem;
  padding: 0 0.2em;
  transition: box-shadow 0.1s;
}
a.pn-a:focus {
  box-shadow: 0 0 0 0.2rem #005d92;
}
a.pn-a.light {
  color: #8eddf9;
}
a.pn-a.light:focus {
  box-shadow: 0 0 0 0.2rem #8eddf9;
}

/* =========================
	 Global design tokens
	 ========================= */
:root {
  /* Semantic colors */
  --color-primary: #005d92;
  --color-primary-contrast: #ffffff;
  --color-focus: #e0f8ff;
  --color-heading: #767676;
  --color-text-primary: #0e0e0e;
  --color-content-secondary: #4c4c4c;
  --color-text-body: #2a2a2a;
  --color-surface-subtle: #f4f4f4;
  --color-surface-muted: #e5e5e5;
  --color-surface-soft: #f0f0f0;
  --color-border-subtle: rgba(14, 14, 14, 0.12);
  --color-border-medium: rgba(14, 14, 14, 0.2);
  --color-button-neutral: #5e5e5e;
  --color-button-neutral-hover: #4c4c4c;
  --color-brand-secondary-lightest: #fdefee;
  --color-text-primary-dark: #000000;
  --color-focus-ring: #2864dc;
  --color-surface-charcoal: #44484a;
  --color-text-ink: #231f20;
  --color-text-strong: #292929;
  --color-text-muted: #666;
  /* Vertical stepper tokens */
  --vs-badge-size: 35px;
  --vs-badge-active-bg: #8eddf9;
  --vs-badge-active-text: #0d234b;
  --vs-badge-completed-bg: #0d234b;
  --vs-badge-disabled-bg: #b2b2b2;
  --vs-badge-disabled-text: rgba(0, 0, 0, 0.4);
  --vs-connector-color: #d7d7d7;
  --vs-step-gap: 32px;
  /* Typography */
  --font-family-base: "PostNord-Sans", Arial, sans-serif;
  --font-family-heading: "PostNord-Sans", Arial, sans-serif;
  /* Home view reusable tokens */
  --home-page-max-width: 1440px;
  --home-page-gap-lg: 80px;
  --home-page-padding-desktop: 0 120px 80px;
  --home-page-padding-tablet: 0 64px 64px;
  --home-page-padding-mobile: 24px 16px 64px;
  --home-page-gap-tablet: 64px;
  --home-page-gap-mobile: 48px;
  --home-banner-top-padding: 40px;
  --home-banner-frame-width: 1198px;
  --home-banner-bg: #00a0d6;
  --home-banner-radius: 48px;
  --home-banner-radius-mobile: 24px;
  --home-banner-height: 380px;
  --home-banner-min-height-tablet: 280px;
  --home-banner-padding: 64px;
  --home-banner-inner-height: 216px;
  --home-banner-padding-tablet: 40px;
  --home-banner-padding-mobile: 32px 24px;
  --home-banner-title-size: 48px;
  --home-banner-title-size-mobile: 40px;
  --home-banner-title-line-height: 56px;
  --home-banner-title-line-height-mobile: 40px;
  --home-banner-description-size: 20px;
  --home-banner-description-line-height: 24px;
  --home-banner-content-max-width: 437px;
  --home-banner-content-gap: 32px;
  --home-banner-mockup-left: 357px;
  --home-banner-mockup-top: -81px;
  --home-banner-mockup-width: 729px;
  --home-banner-mockup-height: 379px;
  --home-login-bg: #0d234b;
  --home-login-icon-bg: #112449;
  --home-login-title-color: #8eddf9;
  --home-login-radius: 99px;
  --home-login-radius-tablet: 24px;
  --home-login-radius-mobile: 16px;
  --home-login-padding: 20px 32px;
  --home-login-padding-mobile: 20px;
  --home-login-gap: 32px;
  --home-login-icon-size: 87px;
  --home-login-title-size: 24px;
  --home-login-title-line-height: 28px;
  --home-login-subtitle-size: 16px;
  --home-login-subtitle-line-height: 20px;
  --home-section-title-size: 32px;
  --home-section-title-line-height: 36px;
  --home-section-gap-xl: 48px;
  --home-grid-gap: 24px;
  --home-step-media-height: 212px;
  --home-step-content-top-padding: 24px;
  --home-step-content-gap: 12px;
  --home-step-title-size: 20px;
  --home-step-title-line-height: 24px;
  --home-body-text-size: 16px;
  --home-body-text-line-height: 24px;
  --home-card-max-width: 569px;
  --home-card-media-height: 212px;
  --home-card-link-gap: 6px;
  --home-faq-gap: 24px;
  --home-faq-max-width: 80ch;
  --home-text-link-gap: 4px;
  --home-focus-border-radius: 2px;
  --home-elevation-sm: 0 1.6px 3.6px rgba(0, 0, 0, 0.12), 0 0.3px 0.9px rgba(0, 0, 0, 0.12);
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  margin: 0;
  background-color: var(--color-primary-contrast);
}

#app {
  min-height: 100vh;
}

img,
svg,
video,
canvas {
  display: block;
  max-width: 100%;
}

a {
  color: var(--color-primary);
}

button,
input,
select,
textarea {
  font: inherit;
}

/* =========================
	 Accessibility
	 ========================= */
:focus-visible {
  outline: 2px solid var(--color-focus);
  outline-offset: 2px;
}

.skip-to-content {
  position: absolute;
  left: -9999px;
  top: -9999px;
}

.skip-to-content:focus {
  left: 0;
  top: 0;
  background: #fff;
  padding: 8px;
  z-index: 1000;
}

.flex {
  display: flex;
}

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

.justify-right-end {
  justify-content: flex-end;
}

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

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

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

.display-block {
  display: block;
}

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

.gap-4 {
  gap: 4px;
}

.gap-8 {
  gap: 8px;
}

.gap-10 {
  gap: 10px;
}

.gap-32 {
  gap: 32px;
}

.gap-2 {
  gap: 2px;
}

.gap-16 {
  gap: 16px;
}

.width-80 {
  width: 80%;
}

.width-20 {
  width: 20%;
}

.width-100 {
  width: 100%;
}

.padding-2 {
  padding: 2px;
}

.padding-4 {
  padding: 4px;
}

.padding-8 {
  padding: 8px;
}

.padding-10 {
  padding: 10px;
}

.padding-15 {
  padding: 15px;
}

.padding-20 {
  padding: 20px;
}

.padding-30 {
  padding: 30px;
}

.margin-2 {
  margin: 2px;
}

.margin-top-2 {
  margin-top: 2px;
}

.margin-bottom-2 {
  margin-bottom: 2px;
}

.margin-4 {
  margin: 4px;
}

.margin-top-4 {
  margin-top: 4px;
}

.margin-bottom-4 {
  margin-bottom: 4px;
}

.margin-8 {
  margin: 8px;
}

.margin-top-8 {
  margin-top: 8px;
}

.margin-bottom-8 {
  margin-bottom: 8px;
}

.margin-10 {
  margin: 10px;
}

.margin-top-10 {
  margin-top: 10px;
}

.margin-bottom-10 {
  margin-bottom: 10px;
}

.margin-15 {
  margin: 15px;
}

.margin-top-15 {
  margin-top: 15px;
}

.margin-bottom-15 {
  margin-bottom: 15px;
}

.margin-20 {
  margin: 20px;
}

.margin-top-20 {
  margin-top: 20px;
}

.margin-bottom-20 {
  margin-bottom: 20px;
}

.margin-30 {
  margin: 30px;
}

.margin-top-30 {
  margin-top: 30px;
}

.margin-bottom-30 {
  margin-bottom: 30px;
}

.margin-64 {
  margin: 64px;
}

.margin-top-64 {
  margin-top: 64px;
}

.margin-bottom-64 {
  margin-bottom: 64px;
}

.margin-80 {
  margin: 80px;
}

.margin-top-80 {
  margin-top: 80px;
}

.margin-bottom-80 {
  margin-bottom: 80px;
}

.text-10 {
  font-size: 10px;
}

.text-12 {
  font-size: 12px;
}

.text-14 {
  font-size: 14px;
}

.text-16 {
  font-size: 16px;
}

.text-18 {
  font-size: 18px;
}

.text-20 {
  font-size: 20px;
}

.text-24 {
  font-size: 24px;
}

.text-32 {
  font-size: 32px;
}

.text-40 {
  font-size: 40px;
}

.pn-page-container {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  min-height: 100vh;
}
.pn-page-container pn-side-menu {
  grid-column: 1;
  grid-row: 1/3;
}
.pn-page-container .pn-main-view {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
}
.pn-page-container pn-footer-nav {
  grid-column: 1/-1;
  grid-row: 2;
}