.container 
{
  display: flex;
  gap: var(--spacing-large);
  min-height: 100dvh;
  background-color: #fff;
  box-shadow: 0 0 5px #00000011;

  flex: 1;

  overflow: hidden;
}

.logged-out-container 
{
  margin: var(--spacing-large) auto;
  width: fit-content;
  border-radius: var(--border-radius);
  background-color: #fff;
  box-shadow: 0 0 5px #00000011;
}

.error-container 
{
  margin: var(--spacing-medium) 0;
  padding: var(--spacing-large) var(--spacing-medium);
  background-color: var(--color-error-background);
  border-radius: var(--border-radius);
  color: #ff0000;
}

.error-container a 
{
  color: #fff;
}

.error-container a:hover 
{
  text-decoration: underline;
}

.navigation-menu 
{
  width: 300px;
  height: 100%;
  margin: 0;
  padding: var(--spacing-medium) var(--spacing-large);
  background-color: var(--color-primary);

  border-radius: var(--border-radius) 0 0 var(--border-radius);

  list-style: none;

  display: flex;
  flex-direction: column;

  position: fixed;

  z-index: 100;
}

.navigation-menu li
{
  margin-bottom: 8px;
}

.navigation-menu li a
{
  display: block;
  color: var(--color-text-light);
  text-transform: capitalize;
  padding: var(--spacing-small) var(--spacing-small);
  border-radius: 4px;
}

.navigation-menu li a:hover 
{
  text-decoration: none;
  background-color: #fff;
  color: var(--color-primary);
  box-shadow: inset #00000032 0px 0px 1px;
}

.navigation-menu li:nth-last-child(2)
{
  margin-top: auto;
}

.main 
{
  flex: 1;
  margin-left: calc(300px);
  padding: var(--spacing-large);
  overflow: auto;

  height: 100vh;

  display: flex;
  flex-direction: column;
  gap: var(--spacing-large);
}

.form-container 
{
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.form-container form 
{
  width: 100%;
  max-width: 768px;
}

@media (max-width: 768px) {
  .navigation-menu 
  {
    display: none;
    width: 100%;
    border-radius: unset;
  }

  .main 
  {
    margin: 0;
  }

  .form-container 
  {
    width: 100%;
  }

  .form-container form
  {
    min-width: unset;
  }
}

@media print {
  * 
  {
    color: #000 !important;
  }

  .container 
  {
    overflow: visible;
  }
  
  .navigation-menu 
  {
    display: none;
  }

  .main 
  {
    margin: 0;
    overflow: visible;
  }

  #table-container 
  {
    width: 100dvw !important;
  }
}