.title {
  text-align: center;
  font-size: 48px;
  margin-top: 200px;
  margin-bottom: auto;
}

.subTitle {
  text-align: center;
  font-size: 24px;
}

.projectLogo {
  max-height: 460px;
  margin-left: auto;
}

.pagedjs_page {
  background: white;
  border: 1px solid #d6d9dc;
  border-radius: 4px;
  margin: 1.5rem;
}

p {
  font-size: 14px;
}

.grid-3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  column-gap: 1rem;
}

.procedure-body h5 {
  font-size: 10px;
  text-transform: uppercase;
  color: #606d78;
  letter-spacing: 0.03px;
  margin-bottom: -0.5rem;
}

h3 span {
  font-size: 10px;
  color: #fff;
  background: indigo;
  padding: 0.125rem;
  border-radius: 2px;
  position: relative;
  top: -3px;
}

.table-title {
  display: flex;
}

.table-title div:last-child {
  margin-left: auto;
}
img {
  max-width: 100%;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 4px;
  border-style: hidden; /* hide standard table (collapsed) border */
  box-shadow: 0 0 0 1px #d6d9dc; /* this draws the table border  */
  color: #011627;
}

table table {
  margin: 0.25rem 0;
}

thead {
  border: 0;
  padding: 0;
}

thead td {
  padding: 0;
  text-transform: uppercase;
  color: #606d78;
  text-align: right;
  height: 30px;
  font-size: 10px !important;
}

table thead tr:first-child td:first-child {
  text-align: left;
}

tbody td {
  font-size: 12px;
  padding: 0;
  text-align: right;
  height: 24px;
}

tbody td:first-child {
  text-align: left;
}

td.strong {
  font-weight: bold;
}

tfoot td:first-child {
  text-align: left;
}

tfoot td {
  height: 40px;
  padding: 0;
  font-size: 12px;
  text-align: right;
}

hr {
  height: 1px;
  border: 1px solid #d6d9dc;
  border-bottom: none;
}

@media print {
  .pagedjs_page {
    border: none;
    border-radius: 0px;
  }
}

.paragraphs > span {
  margin-top: 20px;
  font-size: 110%;
  font-weight: bold;
}

.paragraph {
  line-height: 1.5;
  margin: 8px 8px 8px;
}

.paragraphName {
  font-size: 110%;
  font-weight: bold;
}

.paragraphs p {
  font-size: 12px;
}

.container {
  display: inline-flex;
  align-items: center;
  width: 100%;
}

.content {
  margin-right: auto;
}

.label {
  font-size: 12px;
}

thead {
  display: table-header-group;
}

tfoot {
  display: table-footer-group;
}

i {
  font-family: 'Font Awesome\ 5 Free';
}

.procedure-checklist ul {
  padding-inline-start: 0;
  list-style-type: none;
}

.procedure-checklist li {
  padding: 8px;
  font-size: 12px;
}

.row {
  display: flex;
}

ul.checkpoint-list > .list-group-item {
  border: none;
  border-bottom: 1px solid #ddd !important;
}

.text-muted {
  color: #777;
}

.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #777;
  border-radius: 10px;
}

i {
  font-family: 'Font Awesome\ 5 Free';
}

.procedure-deviations ul {
  padding-inline-start: 0;
  list-style-type: none;
}

.procedure-deviations li {
  padding: 8px;
  font-size: 12px;
}

.row {
  display: flex;
}

ul.checkpoint-list > .list-group-item {
  border: none;
  border-bottom: 1px solid #ddd !important;
}

.text-muted {
  color: #777;
}

.table-deviation {
  text-align: left;
  border-spacing: 0;
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
  page-break-inside: avoid;
}

.badge {
  margin-left: 5px;
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  line-height: 1;
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: bold;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #777;
  border-radius: 10px;
}

.active {
  font-size: 12px;
  font-weight: normal !important;
}

.company {
  font-size: 12px;
  font-weight: bold !important;
}

.procedure-deviations > span {
  font-weight: normal !important;
  font-size: 12px !important;
}

.table-bordered th,
.table-bordered td,
.table-bordered tr {
  padding: 2px 10px;
  vertical-align: top;
  border: 1px solid #ddd;
  border-collapse: collapse;
}

.noBorder {
  border: 1px white solid;
}

.producer-file li {
  padding: 2px;
  font-size: 12px;
}

.noBorder {
  border: 1px white solid;
}

thead {
  display: table-header-group;
}

tfoot {
  display: table-footer-group;
}

table {
  page-break-inside: avoid;
}

.pdf-header {
  padding-top: 12px;
}

.company-header table {
  margin: 8px 8px 8px;
}

.nowrap {
  white-space: nowrap !important;
}

table td {
  padding: 2px 3px 0px;
}

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

.company-header {
  display: flex;
  justify-content: space-between;
}

.logo {
  max-height: 45px;
  max-width: 160px;
}

.pdf-stamp {
  text-align: left;
  font-size: 0.8rem;
  color: #71717a;
}

.table-header {
}

.table-footer {
  table-layout: fixed;
}

.table-footer > table tr td {
  box-shadow: none; /* this draws the table border  */
}

.table-footer > tbody td {
  height: 12px;
  padding-bottom: 0;
  text-align: left;
}

.pageNumber {
  text-align: right !important;
}

.procedure-index {
  margin-top: -8em !important;
}

.procedure-index > span {
  margin-top: 20px;
  font-size: 110%;
  font-weight: bold;
}

.procedure-index ul {
  padding-inline-start: 0;
  list-style-type: none;
}

.procedure-index li {
  padding: 8px;
  font-size: 12px;
}

.procedure-index > td {
  height: 100%;
  margin-bottom: auto !important;
  padding-bottom: unset !important;
}

.pageNumber {
  text-align: right !important;
}

.border-top {
  border-top: 1px solid black;
}

.planner .title {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
}

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

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

.fs-10 {
  font-size: 10px !important;
}

.row {
  display: flex;
  flex-direction: row;
}

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

.planner .title .pdf-stamp {
  margin-right: 20px;
  float: right;
  text-align: left;
  font-size: 0.8rem;
  color: rgb(113, 113, 122);
}

.list-unstyled {
  padding-left: 0px;
  list-style: none;
  font-size: 12px;
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

.planner .contents {
  display: contents;
}

.gap-m {
  gap: 5px;
}

.title-header {
  margin-bottom: 16px;
  display: flex;
  justify-content: space-between;
}

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

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

.fs-10 {
  font-size: 10px !important;
}

.row {
  display: flex;
  flex-direction: row;
}

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

.pdf-stamp {
  margin-right: 20px;
  float: right;
  text-align: left;
  font-size: 0.8rem;
  color: rgb(113, 113, 122);
}

.list-unstyled {
  padding-left: 0px;
  list-style: none;
  font-size: 12px;
}

.flex-1 {
  flex: 1;
}

.flex-2 {
  flex: 2;
}

.contents {
  display: contents;
}

.gap-m {
  gap: 5px;
}

.legend {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 12px;
  font-family: 'Open Sans', sans-serif;
  font-size: 11px;
  color: #374151;
}

.legend-label {
  font-weight: 700;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #1e293b;
}

.legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 11px;
}

.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

/* Absence status colors — shared with grid rows */
.processing,
.waitingforemployee {
  background: #0ea5e9;
}

.awaiting-approval,
.waitingforapproval {
  background: #f59e0b;
}

.accepted,
.approved {
  background: #16a34a;
}

.front-page h1 {
  text-align: center;
}

.front-page .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.front-page .header-logo .logo-container .logo {
  max-height: 300px;
  max-width: 400px;
}

.front-page .project-img {
  max-height: 400px;
}

.front-page .visually-hidden .project-detail {
  height: 380px;
  padding: 16px;
  background-color: var(--background-color-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.front-page h2 span {
  font-size: 14px;
}

.front-page .project-detail .project-detail__title {
  font-size: 20px;
}

.front-page .project-detail .project-detail__subtitle {
  font-size: 14px;
}

.front-page .project-img-container {
  display: grid !important;
  justify-content: center;
  align-items: center;
  background: var(--background-color-3)!important;
}

.front-page .kv-container{
  display: grid;
  grid-template-columns: auto 3fr;
  gap: 2px 8px;
  max-width: 800px;
}

.front-page .kv-container div{
  padding: 6px 0;
  border-bottom: 1px solid #ddd;
}

.front-page .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  border: 0;
}

.front-page .header-logo {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  height: 300px;
  background: linear-gradient(25deg, var(--background-color-3) 50%, white 50%)!important;
}

.introduction h1 {
  text-align: center;
}

.introduction table {
  border-radius: 0;
  /*border: none;*/
  /*box-shadow: none;*/
}

.introduction th,
.introduction td {
  border: 1px solid white;
  border-collapse: collapse;
  text-align: left;
}

.introduction table,
tr,
th {
  text-align: left;
}

.introduction table tr td:first-child {
  background-color: var(--background-color-2);
  font-weight: 500;
  padding: 8px;
  text-align: left;
  width: 145px;
}

.introduction table tr td:last-child {
  background-color: var(--background-color-1);
  padding: 8px;
  text-align: left;
  width: auto;
}

.ikk table tr th {
  padding: 8px;
  background-color: var(--background-color-3);
  text-align: left;
  font-weight: 700;
}

.ikk tbody td {
  text-align: left;
  height: 24px;
}

.ikk table:is(.control) tr td:first-child,
.ikk table:is(.control) tr td:nth-child(2n) {
  min-width: 145px;
}

.ikk table:is(.control) tr td:nth-child(2n) {
  background-color: var(--background-color-1);
  padding: 8px;
  text-align: left;
  width: auto;
}

.ikk table:is(.control) {
  table-layout: auto;
  page-break-inside: auto;
}

.basic-information td,
.basic-information th {
  width: 50% !important;
}

:root {
  --background-color-1: #fbfbfb; /* first-child */
  --background-color-2: #ced9dd; /* second-child */
  --background-color-3: #e0e0e0; /* bg-color of table */
  --background-color-4: #cbeffd; /* bg-color of table */
  --color-danger: #f14f50;
  --color-warning: #f3ac36;
  --color-warning-2: #b1ae67;
  --color-success: #a4bd86;
  --color-unknown: #a4a4a4;
  --pagedjs-string-first-header-title: '';
}

.ikk h2 {
  break-before: page;
}

.ikk h1 {
  text-align: center;
}

.ikk .chapter {
  margin: 0 !important;
  string-set: ref attr(data-reference);
}

.ikk .pagedjs_area {
  margin-top: 0.83em;
}

.ikk h3,
.ikk h4 {
  margin-block-start: 0;
  margin-block-end: 0;
}

.ikk .list-with-lines .row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  border-bottom: solid 2px white;
  padding: 8px;
}

.ikk .list-with-lines .danger {
  color: var(--color-danger);
}

.ikk .list-with-lines .warning {
  color: var(--color-warning);
}

.ikk .list-with-lines .warning-2 {
  color: var(--color-warning-2);
}

.ikk .list-with-lines .success {
  color: var(--color-success);
}

.ikk .list-with-lines .unknown {
  color: var(--color-unknown);
}

@media print {
  html,
  body {
    height: 99%;
  }
}

.ikk #list-toc-generated {
  list-style: none;
}

.a-toc-element::after {
  content: target-counter(attr(href), page)!important;
  float: right;
}

#list-toc-generated .toc-element-level-1 {
  margin-top: 8px;
  font-weight: bold;
}

#list-toc-generated .toc-element-level-2 {
  margin-left: 8px;
}

#list-toc-generated .toc-element-level-3 {
  margin-left: 16px;
}

#my-toc-content {
  display: grid;
  background: white !important;
}

.ikk #my-toc-content .tree-node__header {
  background: white !important;
}

.ikk #my-toc-content ul {
  padding-inline-start: 8px !important;
}

.ikk #list-toc-generated {
  counter-reset: counterTocLevel1;
}

.ikk #list-toc-generated .toc-element-level-1 {
  counter-increment: counterTocLevel1;
  counter-reset: counterTocLevel2;
}

.ikk #list-toc-generated .toc-element-level-1::before {
  padding-right: 5px;
}

.ikk #list-toc-generated .toc-element-level-2 {
  counter-increment: counterTocLevel2;
}

.ikk #list-toc-generated .toc-element-level-2::before {
  padding-right: 5px;
}

.ikk #list-toc-generated .toc-element-level-3 {
  counter-increment: counterTocLevel3;
}

.ikk #list-toc-generated .toc-element-level-3::before {
  padding-right: 10px;
}

.ikk #list-toc-generated {
  overflow-x: hidden;
}

.checkpoint-img {
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.ikk #list-toc-generated .toc-element::after {
  content: '.................................................................................................................................................';
  float: left;
  width: 0;
  padding-left: 5px;
  letter-spacing: 2px;
}

.ikk #list-toc-generated .toc-element {
  display: flex;
}

.ikk #list-toc-generated .toc-element a::after {
  position: absolute;
  right: 0;
  background-color: white;
  padding-left: 6px;
}

.ikk #list-toc-generated .toc-element a {
  right: 0;
}

.ikk .h3-index {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.ikk .page-break-inside-avoid {
  page-break-inside: avoid;
}

/* Keep each component cover block (Komponent: ...) together; avoid sliver overflow to next page */
.ikk .page.front-page {
  page-break-inside: avoid;
  break-inside: avoid;
}

.ikk table.print-friendly tr td,
table.print-friendly tr th {
  page-break-inside: avoid;
}

.ikk .text-area {
  line-height: 1.4;
  white-space: pre-line;
  font-weight: normal;
}

.ikk .header-name {
  overflow-wrap: break-word;
  word-break: normal;
}

.ikk .text-area.description {
  font-style: italic;
  font-size: smaller;
  overflow-wrap: break-word;
  word-break: normal;
}

.ikk .text-area.comment {
  font-style: italic;
  font-size: smaller;
  color: #31708f;
  overflow-wrap: break-word;
  word-break: normal;
}

.ikk .text-wrap-no {
  white-space: nowrap;
}

.ikk .text-area h1 {
  text-align: left;
}

.ikk table td {
  vertical-align: top;
  line-height: 1.4;
}

.ikk h2 {
  string-set: titleBefore content(before),
  title content(text);
}

.ikk h5 {
  font-size: 1em;
  margin-block-start: 0;
  margin-block-end: 0;
}

.bold {
  font-weight: 700;
}

.deviation-conclusion {
  display: flex;
  gap: 8px;
  flex-direction: column;
}

h5:is(.header-title),
h4:is(.header-title),
h3:is(.header-title),
h2:is(.header-title) {
  string-set: titleBefore content(before),
  header-title content(text);
}

.content .do-not-show {
  visibility: hidden;
  height: 0;
  margin: 0;
}

.ikk-box-shadow {
  box-shadow: 0 0 0 1px #d6d9dc;
}

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

.flex-7 {
  flex: 7;
}

.flex-5 {
  flex: 5;
}

.flex-4 {
  flex: 4;
}

.flex-3 {
  flex: 3;
}

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

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

.ikk-box-shadow {
  /*box-shadow: 0 0 0 1px #808080;*/
  box-shadow: none;
  border: 1px solid #b0b0b0;
}

.ikk table {
  /*box-shadow: 0 0 0 1px #808080;*/
  box-shadow: none;
  border: 1px solid #808080;
}

.ikk table td, .ikk table th {
  border: 1px solid #b0b0b0;
  word-break: break-word;
}

.ikk table td,
.ikk table th {
  border: 1px solid #b0b0b0;
}

.ikk-border-top {
  border-top: 1px solid #b0b0b0;
}

.ikk .pagedjs_margin-bottom {
  grid-template-columns: minmax(5%, 1fr) minmax(33%, 90%) minmax(5%, 1fr) !important;
}

.ikk .pagedjs_margin-bottom-center {
  width: 100% !important;
  max-width: 100% !important;
}

.ikk .pagedjs_margin-content {
  white-space: nowrap;
}

.ikk table tr td {
  padding: 8px;
}

.ikk .deviation-item table {
  border-collapse: collapse;
}

.ikk .deviation-item table thead th:first-child {
  border-right: unset;
}
.ikk .deviation-item  .component-header {
  background: #0284c7;
  padding: 8px 8px 8px 6px;
  color: white;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.ikk .avoid-break {
  break-inside: avoid;
  page-break-inside: avoid;
}
.ikk .deviation-item table thead th + th {
  border-left: none;
  border-right: none;
}

.ikk .deviation-item table tr td {
  padding: 4px;
}

.ikk .deviation-item table tr th {
  padding: 2px 4px;
}

.ikk .main-part .bg-color-5 {
  background-color: var(--background-color-2) !important;
}

.ikk .text-area p {
  font-size: unset;
}

.ikk .no-page-break {
  page-break-after: avoid;
  page-break-inside: avoid;
  page-break-before: auto;
}

.ikk .deviation-item  .cost-estimate-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

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

.ikk .display-inline-flex {
  display: inline-flex;
}

.pagedjs_margin-bottom-right {
  white-space: nowrap;
}

.pagedjs_pages > .pagedjs_page > .pagedjs_sheet > .pagedjs_pagebox > .pagedjs_area > div [data-split-from] > .header-name {
  padding-top: 8px;
}

@page {
  size: A4;
  margin: 20mm 20mm 20mm 20mm;

  @bottom-center {
    margin-top: 0.5cm;
    width: 100%;
    font-size: 10px;
    content: string(ref);
  }
  @top-left {
    margin-top: 3em;
    content: string(header-title, first);
  }
  @bottom-right-corner, @bottom-left-corner {
  width: 0;
}

  @bottom-right {
    margin-top: 0.5cm;
    font-size: 10px;
    content: counter(page) ' / ' counter(pages);
  }
}

@page :blank {
  display: none;
}

@page :first {
  @bottom-right {
    content: '';
  }
  @top-left {
    border-bottom: none;
    content: '';
  }
}

.tree-list h1 {
  text-align: center;
}

.tree-list .text-area h1 {
  text-align: left;
}

.tree-list .list-with-lines .row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  border-bottom: solid 2px white;
  padding: 8px;
}

.tree-list .tree-node__header {
  padding: 8px;
  background-color: var(--background-color-2);
}

.tree-list .list-with-lines .danger {
  color: var(--color-danger);
}

.tree-list .list-with-lines .warning {
  color: var(--color-warning);
}

.tree-list .list-with-lines .warning-2 {
  color: var(--color-warning-2);
}

.tree-list .list-with-lines .success {
  color: var(--color-success);
}

.tree-list .list-with-lines .unknown {
  color: var(--color-unknown);
}

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

.checkbox tbody tr td {
  background-color: var(--background-color-1);
}

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

.tag {
  background: black;
  padding: 4px;
  border-radius: 30px;
  display: block;
  color: white;
}

.header-name {
  gap: 8px;
  display: flex;
  flex-direction: column;
  line-height: 1.4;
  word-break: normal;
  overflow-wrap: break-word;
  white-space: normal;
}

.header-name span {
  word-break: normal;
  overflow-wrap: break-word;
  white-space: normal;
}

.ikk table:is(.checkbox) {
  table-layout: auto;
  page-break-inside: auto;
}

.ikk table .color-2 {
  background-color: var(--background-color-2);
}

.ikk table .color-4 {
  background-color: var(--background-color-4);
}

.ikk table .color-1 {
  background-color: var(--background-color-1);
}

.ikk table:is(.signature) tfoot .td {
  width: 100%;
}

.ikk thead td {
  color: #011627;
}

/* The component cover ("Komponent: <navn>") is one page: a header line, the grey image box and up
   to five detail lines. It used to ask for a fixed 600px image box plus a full-height wrapper, so
   the block was already 952px of the 971px page box - one extra detail line, or a name or location
   long enough to wrap, pushed it past the page. pagedjs 0.4.3 has no working break-inside: avoid
   for block boxes, so nothing held the block together: the tail was cut off and left alone on a
   second page (INTG-3961).

   Capping the block at the page box and letting the image area take up the slack means extra text
   shrinks the image instead of overflowing the page. */
.ikk .page.front-page.component-cover {
  /* A4 (297mm) minus the 20mm top and bottom page margins - see the @page rule in ikk.css. */
  max-height: 257mm;
}

.ikk .component-cover .component-cover__body {
  flex: 1 1 auto;
  /* without this the body refuses to shrink below its content, and the cap above just clips */
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.ikk .component-cover .project-img-container {
  /* A definite basis: the box has no height of its own (the cover only has a max-height), so a percentage
     on the image would not resolve and the photo would be clipped instead of scaled (INTG-4656). */
  flex: 1 1 600px;
  /* the floor the image box shrinks to; it keeps the cover recognisable when the text is long */
  min-height: 240px;
  position: relative;
}

/* The detail lines are the part that must stay whole - they never give up height. */
.ikk .component-cover .project-detail {
  flex: 0 0 auto;
}

.ikk .component-cover .project-img {
  /* Fill the box and let object-fit letterbox the photo, so it is scaled whole, never squashed or cropped. */
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
}

.deviation-part {
  table-layout: fixed;
  width: 100%;
}

.deviation-part td {
  text-align: left !important;
}

/* Label column fixed width; TSX also sets inline styles for PDF. */
.deviation-part tbody tr td:first-child:not([colspan]),
.ikk .deviation-item .deviation-part tbody tr td:first-child:not([colspan]) {
  width: 145px !important;
  min-width: 145px !important;
  max-width: 145px !important;
  white-space: nowrap !important;
  vertical-align: top;
  box-sizing: border-box;
}

.deviation-part tfoot tr td {
  background-color: var(--background-color-1);
}

.deviation-footer tr td:first-child {
  background-color: var(--background-color-2);
  font-weight: 500;
  padding: 8px;
  text-align: left !important;
  width: 145px !important;
}

.deviation-part img,
.break-inside-avoid {
  page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
  page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
  page-break-inside: avoid; /* or 'auto' */
}

/* Keep deviation block on one page (avoid overlap at page break). */
.ikk .deviation-item,
.ikk .deviation-item table.deviation-part {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}

/* Keep signature block (comment, date, signature) with content above to prevent overlap when table splits. */
.ikk .deviation-item tbody.deviation-signature-block {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
}
.ikk .deviation-item tbody.deviation-signature-block tr:first-child {
  page-break-before: avoid !important;
  break-before: avoid !important;
}

.protocol-header {
  background-color: var(--background-color-4) !important;
}

.protocol-header td {
  background-color: var(--background-color-4) !important;
}

.protocol-item {
  display: grid;
  font-weight: 500;
  text-align: left;
  gap: 1px;
  background-color: #b0b0b0; /* Kolor tła dla przestrzeni między itemami */
}
.protocol-item-value {
  gap: 1px;
  display: flex;
  justify-content: flex-start;
}

.protocol-item-header {
  border-bottom: 1px solid #b0b0b0;
  padding: 8px;
  background-color: var(--background-color-3);
  text-align: left;
  font-weight: 700;
}

.measurement-protocol table tr td {
  padding: 8px;
}

.protocol-item-cell {
  background-color: var(--background-color-1);
  padding: 8px;
}

.file-container {
  display: flex;
  flex-direction: column;
  gap: 1px;
  page-break-inside: avoid;
}

.file-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 1px;
  page-break-inside: avoid;
}

.file-link {
  padding: 8px;
  word-break: break-word;
}

.file-img-wrapper {
  flex: 2;
  padding: 8px;
  height: 300px;
  page-break-inside: avoid;
}

.file-img {
  height: 100%;
  page-break-inside: avoid;
}

.file-description {
  flex: 1;
  padding: 8px;
  min-height: 34px;
  word-break: break-word;
}

.table-row {
  page-break-inside: avoid;
  break-inside: avoid;
  page-break-before: auto;
  page-break-after: auto;
}

.table-cell {
  padding: 0;
}

.files-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.report-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.my-toc-content li {
  padding: 8px;
  font-size: 12px;
}

body {
  counter-reset: titleLevel1;
}

h2 {
  counter-increment: titleLevel1;
  counter-reset: titleLevel2;
}

h3 {
  counter-increment: titleLevel2;
}

h1 {
  text-align: center;
}

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

.front-page .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.front-page .logo-container .logo {
  max-height: 150px;
}

.front-page .project-img {
  max-height: 400px;
}

.front-page .project-detail {
  height: 280px;
  padding: 16px;
  background-color: var(--background-color-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.front-page h2 span {
  font-size: 14px;
}

.front-page .project-detail .project-detail__title {
  font-size: 20px;
}

.front-page .project-detail .project-detail__subtitle {
  font-size: 14px;
}

.front-page .project-img-container {
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom, white 50%, var(--background-color-3) 50%);
}

/*!
 *  Font Awesome 4.7.0 by @davegandy - http://fontawesome.io - @fontawesome
 *  License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
 */@font-face{font-family:'FontAwesome';src:url('/fontawesome-webfont.4a2277d0.eot?v=4.7.0');src:url('/fontawesome-webfont.4a2277d0.eot?#iefix&v=4.7.0') format('embedded-opentype'),url('/fontawesome-webfont.9fb3877d.woff2?v=4.7.0') format('woff2'),url('/fontawesome-webfont.4e039e70.woff?v=4.7.0') format('woff'),url('/fontawesome-webfont.152c194f.ttf?v=4.7.0') format('truetype'),url('/fontawesome-webfont.a9acc805.svg?v=4.7.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left{margin-right:.3em}.fa.fa-pull-right{margin-left:.3em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)";-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-resistance:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-y-combinator-square:before,.fa-yc-square:before,.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-intersex:before,.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-genderless:before{content:"\f22d"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.fa-yc:before,.fa-y-combinator:before{content:"\f23b"}.fa-optin-monster:before{content:"\f23c"}.fa-opencart:before{content:"\f23d"}.fa-expeditedssl:before{content:"\f23e"}.fa-battery-4:before,.fa-battery:before,.fa-battery-full:before{content:"\f240"}.fa-battery-3:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-battery-2:before,.fa-battery-half:before{content:"\f242"}.fa-battery-1:before,.fa-battery-quarter:before{content:"\f243"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-mouse-pointer:before{content:"\f245"}.fa-i-cursor:before{content:"\f246"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-sticky-note:before{content:"\f249"}.fa-sticky-note-o:before{content:"\f24a"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-diners-club:before{content:"\f24c"}.fa-clone:before{content:"\f24d"}.fa-balance-scale:before{content:"\f24e"}.fa-hourglass-o:before{content:"\f250"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-hourglass:before{content:"\f254"}.fa-hand-grab-o:before,.fa-hand-rock-o:before{content:"\f255"}.fa-hand-stop-o:before,.fa-hand-paper-o:before{content:"\f256"}.fa-hand-scissors-o:before{content:"\f257"}.fa-hand-lizard-o:before{content:"\f258"}.fa-hand-spock-o:before{content:"\f259"}.fa-hand-pointer-o:before{content:"\f25a"}.fa-hand-peace-o:before{content:"\f25b"}.fa-trademark:before{content:"\f25c"}.fa-registered:before{content:"\f25d"}.fa-creative-commons:before{content:"\f25e"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-tripadvisor:before{content:"\f262"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-get-pocket:before{content:"\f265"}.fa-wikipedia-w:before{content:"\f266"}.fa-safari:before{content:"\f267"}.fa-chrome:before{content:"\f268"}.fa-firefox:before{content:"\f269"}.fa-opera:before{content:"\f26a"}.fa-internet-explorer:before{content:"\f26b"}.fa-tv:before,.fa-television:before{content:"\f26c"}.fa-contao:before{content:"\f26d"}.fa-500px:before{content:"\f26e"}.fa-amazon:before{content:"\f270"}.fa-calendar-plus-o:before{content:"\f271"}.fa-calendar-minus-o:before{content:"\f272"}.fa-calendar-times-o:before{content:"\f273"}.fa-calendar-check-o:before{content:"\f274"}.fa-industry:before{content:"\f275"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-map-o:before{content:"\f278"}.fa-map:before{content:"\f279"}.fa-commenting:before{content:"\f27a"}.fa-commenting-o:before{content:"\f27b"}.fa-houzz:before{content:"\f27c"}.fa-vimeo:before{content:"\f27d"}.fa-black-tie:before{content:"\f27e"}.fa-fonticons:before{content:"\f280"}.fa-reddit-alien:before{content:"\f281"}.fa-edge:before{content:"\f282"}.fa-credit-card-alt:before{content:"\f283"}.fa-codiepie:before{content:"\f284"}.fa-modx:before{content:"\f285"}.fa-fort-awesome:before{content:"\f286"}.fa-usb:before{content:"\f287"}.fa-product-hunt:before{content:"\f288"}.fa-mixcloud:before{content:"\f289"}.fa-scribd:before{content:"\f28a"}.fa-pause-circle:before{content:"\f28b"}.fa-pause-circle-o:before{content:"\f28c"}.fa-stop-circle:before{content:"\f28d"}.fa-stop-circle-o:before{content:"\f28e"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-hashtag:before{content:"\f292"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-percent:before{content:"\f295"}.fa-gitlab:before{content:"\f296"}.fa-wpbeginner:before{content:"\f297"}.fa-wpforms:before{content:"\f298"}.fa-envira:before{content:"\f299"}.fa-universal-access:before{content:"\f29a"}.fa-wheelchair-alt:before{content:"\f29b"}.fa-question-circle-o:before{content:"\f29c"}.fa-blind:before{content:"\f29d"}.fa-audio-description:before{content:"\f29e"}.fa-volume-control-phone:before{content:"\f2a0"}.fa-braille:before{content:"\f2a1"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asl-interpreting:before,.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-deafness:before,.fa-hard-of-hearing:before,.fa-deaf:before{content:"\f2a4"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-signing:before,.fa-sign-language:before{content:"\f2a7"}.fa-low-vision:before{content:"\f2a8"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-pied-piper:before{content:"\f2ae"}.fa-first-order:before{content:"\f2b0"}.fa-yoast:before{content:"\f2b1"}.fa-themeisle:before{content:"\f2b2"}.fa-google-plus-circle:before,.fa-google-plus-official:before{content:"\f2b3"}.fa-fa:before,.fa-font-awesome:before{content:"\f2b4"}.fa-handshake-o:before{content:"\f2b5"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-o:before{content:"\f2b7"}.fa-linode:before{content:"\f2b8"}.fa-address-book:before{content:"\f2b9"}.fa-address-book-o:before{content:"\f2ba"}.fa-vcard:before,.fa-address-card:before{content:"\f2bb"}.fa-vcard-o:before,.fa-address-card-o:before{content:"\f2bc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-circle-o:before{content:"\f2be"}.fa-user-o:before{content:"\f2c0"}.fa-id-badge:before{content:"\f2c1"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-drivers-license-o:before,.fa-id-card-o:before{content:"\f2c3"}.fa-quora:before{content:"\f2c4"}.fa-free-code-camp:before{content:"\f2c5"}.fa-telegram:before{content:"\f2c6"}.fa-thermometer-4:before,.fa-thermometer:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-shower:before{content:"\f2cc"}.fa-bathtub:before,.fa-s15:before,.fa-bath:before{content:"\f2cd"}.fa-podcast:before{content:"\f2ce"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-times-rectangle:before,.fa-window-close:before{content:"\f2d3"}.fa-times-rectangle-o:before,.fa-window-close-o:before{content:"\f2d4"}.fa-bandcamp:before{content:"\f2d5"}.fa-grav:before{content:"\f2d6"}.fa-etsy:before{content:"\f2d7"}.fa-imdb:before{content:"\f2d8"}.fa-ravelry:before{content:"\f2d9"}.fa-eercast:before{content:"\f2da"}.fa-microchip:before{content:"\f2db"}.fa-snowflake-o:before{content:"\f2dc"}.fa-superpowers:before{content:"\f2dd"}.fa-wpexplorer:before{content:"\f2de"}.fa-meetup:before{content:"\f2e0"}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}

h1 {
  text-align: center;
}

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

.front-page .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.front-page .logo-container .logo {
  max-height: 150px;
}

.front-page .project-img {
  max-height: 400px;
}

.front-page .project-detail {
  height: 230px;
  padding: 16px;
  background-color: var(--background-color-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.front-page h2 span {
  font-size: 14px;
}

.front-page .project-detail .project-detail__title {
  font-size: 20px;
}

.front-page .project-detail .project-detail__subtitle {
  font-size: 14px;
}

.front-page .project-img-container {
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom, white 50%, var(--background-color-3) 50%);
}

:root {
  --background-color-1: #fbfbfb; /* first-child */
  --background-color-2: #ced9dd; /* second-child */
  --background-color-3: #e0e0e0; /* bg-color of table */
  --background-color-4: #cbeffd; /* bg-color of table */
  --color-danger: #f14f50;
  --color-warning: #f3ac36;
  --color-warning-2: #b1ae67;
  --color-success: #a4bd86;
  --color-unknown: #a4a4a4;
}

h2 {
  break-before: page;
}

h1 {
  text-align: center;
}

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

h3,
h4 {
  margin-block-start: 0;
  margin-block-end: 0;
}

.list-with-lines .row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  border-bottom: solid 2px white;
  padding: 8px;
}

.tree-node__header {
  padding: 8px;
  background-color: var(--background-color-2);
}

.list-with-lines .danger {
  color: var(--color-danger);
}

.list-with-lines .warning {
  color: var(--color-warning);
}

.list-with-lines .warning-2 {
  color: var(--color-warning-2);
}

.list-with-lines .success {
  color: var(--color-success);
}

.chapter {
  string-set: ref attr(data-reference);
}


@media print {
  html,
  body {
    height: 99%;
  }
}

.chapter {
  string-set: ref attr(data-reference);
}

#list-toc-generated {
  list-style: none;
}

#list-toc-generated .toc-element a::after {
  content: target-counter(attr(href), page);
  float: right;
}

#list-toc-generated .toc-element-level-1 {
  margin-top: 8px;
  font-weight: bold;
}

#list-toc-generated .toc-element-level-2 {
  margin-left: 8px;
}

#my-toc-content {
  display: grid;
  background: white !important;
}

#my-toc-content .tree-node__header {
  background: white !important;
}

#my-toc-content ul {
  padding-inline-start: 8px !important;
}

/* target-text(attr(href), before) doesn't work for now, replace with counters (see below)*/
/* #list-toc-generated .toc-element a::before{
    content: target-text(attr(href), before);
} */

/* counters */

#list-toc-generated {
  counter-reset: counterTocLevel1;
}

#list-toc-generated .toc-element-level-1 {
  counter-increment: counterTocLevel1;
  counter-reset: counterTocLevel2;
}

#list-toc-generated .toc-element-level-1::before {
  padding-right: 5px;
}

#list-toc-generated .toc-element-level-2 {
  counter-increment: counterTocLevel2;
}

#list-toc-generated .toc-element-level-2::before {
  padding-right: 5px;
}

/*  leader() doesn't work for now, replace with the hack bellow */
/* #list-toc-generated .toc-element a::after{
    content: leader('.') " p. " target-counter(attr(href), page);
    float: right;
} */

/* hack for leaders */

#list-toc-generated {
  overflow-x: hidden;
}

#list-toc-generated .toc-element::after {
  content: '.................................................................................................................................................';
  float: left;
  width: 0;
  padding-left: 5px;
  letter-spacing: 2px;
}

#list-toc-generated .toc-element {
  display: flex;
}

#list-toc-generated .toc-element a::after {
  position: absolute;
  right: 0;
  background-color: white;
  padding-left: 6px;
}

#list-toc-generated .toc-element a {
  right: 0;
}

.fdv .h3-index {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
  font-weight: normal !important;
}

.text-area {
  line-height: 1.4;
  white-space: pre-line;
}

.fdv table td {
  vertical-align: top;
  line-height: 1.4;
}

.fdv table thead th {
  color: white;
  background: black !important;
  padding: 8px;
}

.fdv table {
  border-collapse: collapse;
  width: 100%;
  box-shadow: none;
  border: 1px solid #808080;
}

.fdv table td,
.ikk table th {
  border: 1px solid #b0b0b0;
}

.fdv th,
.fdv td {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

.fdv .sub-title {
  font-size: 1.17em;
  font-style: italic;
  font-weight: 600;
}

.fdv .tag {
  background: #03a9f4;
  padding: 4px 20px;
  border-radius: 30px;
  display: block;
  color: white;
  font-weight: bold;
}

.fdv .chapter-title {
  position: running(titleRunning);
  font-size: 14px;
  margin-block-start: 3em;
  text-align: left;
  text-transform: uppercase;
}

.fdv .product-img {
  max-height: 185px;
}

.ftv .page-break-inside-avoid {
  page-break-inside: avoid;
}

.ftv .column {
  display: flex;
  flex-direction: column;
}

.gap-16 {
  gap: 16px;
}

.mt-16 {
  margin-top: 16px;
}

table.print-friendly {
  page-break-inside: auto;
}

table.print-friendly thead {
  page-break-after: avoid;
}

table.print-friendly tr {
  page-break-after: auto;
  page-break-before: auto;
}

table.print-friendly tr td,
table.print-friendly tr th {
  page-break-inside: avoid;
}

.fdv h2 {
  string-set:
    titleBefore content(before),
    title content(text);
}

h5:is(.header-title),
h4:is(.header-title),
h3:is(.header-title),
h2:is(.header-title) {
  string-set:
    titleBefore content(before),
    header-title content(text);
}
.header-title-level-1 {
  string-set:
    titleBefore content(before),
    title content(text);
}

.header-title-level-2 {
  string-set:
    titleBefore content(before),
    sub-title content(text);
}

.chapter {
  margin: 8px;
}

.fdv .pagedjs_margin-bottom {
  grid-template-columns: minmax(5%, 1fr) minmax(33%, 90%) minmax(5%, 1fr) !important;
}

.fdv .pagedjs_margin-bottom-center {
  width: 100% !important;
  max-width: 100% !important;
}

.fdv .pagedjs_margin-content {
  white-space: nowrap;
}

@page {
  size: A4;
  margin: 20mm 20mm 20mm 20mm;

  @top-left {
    margin-top: 3em;
    border-bottom: solid 1px black;
    content: string(title, first);
  }

  @bottom-center {
    font-size: 10px;
    margin-top: 0.8cm;
    content: string(ref);
  }

  @bottom-right {
    font-size: 10px;
    margin-top: 0.8cm;
    content: counter(page) ' / ' counter(pages);
  }
}

@page :first {
  @top-left {
    border-bottom: none;
    content: '';
  }
  @bottom-right {
    content: '';
  }

  @top-center {
    content: '';
    border-bottom: none;
  }
}

img,
.break-inside-avoid {
  page-break-before: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
  page-break-after: auto; /* 'always,' 'avoid,' 'left,' 'inherit,' or 'right' */
  page-break-inside: avoid; /* or 'auto' */
}

.project-page table tr td:first-child {
  background: #efefef;
}

.front-page h1 {
  text-align: center;
}

.front-page .logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.front-page .logo-container .logo {
  max-height: 150px;
}

.front-page .project-img {
  max-height: 400px;
}

.front-page .project-detail {
  height: 280px;
  padding: 16px;
  background-color: var(--background-color-3);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.front-page h2 span {
  font-size: 14px;
}

.front-page .project-detail .project-detail__title {
  font-size: 20px;
}

.front-page .project-detail .project-detail__subtitle {
  font-size: 14px;
}

.front-page .project-img-container {
  display: flex;
  justify-content: center;
  background: linear-gradient(to bottom, white 50%, var(--background-color-3) 50%);
}

:root {
  --background-color-1: #fbfbfb; /* first-child */
  --background-color-2: #ced9dd; /* second-child */
  --background-color-3: #e0e0e0; /* bg-color of table */
  --background-color-4: #cbeffd; /* bg-color of table */
  --background-color-5: #f4f4f4; /* bg-color of table */
  --color-danger: #f14f50;
  --color-warning: #f3ac36;
  --color-warning-2: #b1ae67;
  --color-success: #a4bd86;
  --color-unknown: #a4a4a4;
}

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

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

.logo-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

h2 {
  break-before: page;
}

h1 {
  text-align: center;
}

h3,
h4 {
  margin-block-start: 0;
  margin-block-end: 0;
}

.list-with-lines .row {
  display: flex;
  flex-direction: row;
  gap: 8px;
  border-bottom: solid 2px white;
  padding: 8px;
}

.tree-node__header {
  padding: 8px;
  background-color: var(--background-color-2);
}

.list-with-lines .danger {
  color: var(--color-danger);
}

.list-with-lines .warning {
  color: var(--color-warning);
}

.list-with-lines .warning-2 {
  color: var(--color-warning-2);
}

.list-with-lines .success {
  color: var(--color-success);
}

.list-with-lines .unknown {
  color: var(--color-unknown);
}

h2 {
  break-before: page;
}

.chapter {
  string-set: ref attr(data-reference);
}

@media print {
  html,
  body {
    height: 99%;
  }
  .pagedjs_page {
    border: none;
    border-radius: 0;
    margin: 0;
  }
}

.chapter {
  string-set: ref attr(data-reference);
}

#list-toc-generated {
  list-style: none;
}

#list-toc-generated .toc-element a::after {
  content: target-counter(attr(href), page);
  float: right;
}

#list-toc-generated .toc-element-level-1 {
  margin-top: 8px;
  font-weight: bold;
}

#list-toc-generated .toc-element-level-2 {
  margin-left: 8px;
}

#my-toc-content {
  display: grid;
  background: white !important;
}

#my-toc-content .tree-node__header {
  background: white !important;
}

#my-toc-content ul {
  padding-inline-start: 8px !important;
}

/* target-text(attr(href), before) doesn't work for now, replace with counters (see below)*/
/* #list-toc-generated .toc-element a::before{
    content: target-text(attr(href), before);
} */

/* counters */

#list-toc-generated {
  counter-reset: counterTocLevel1;
}

#list-toc-generated .toc-element-level-1 {
  counter-increment: counterTocLevel1;
  counter-reset: counterTocLevel2;
}

#list-toc-generated .toc-element-level-1::before {
  padding-right: 5px;
}

#list-toc-generated .toc-element-level-2 {
  counter-increment: counterTocLevel2;
}

#list-toc-generated .toc-element-level-2::before {
  padding-right: 5px;
}

/*  leader() doesn't work for now, replace with the hack bellow */
/* #list-toc-generated .toc-element a::after{
    content: leader('.') " p. " target-counter(attr(href), page);
    float: right;
} */

/* hack for leaders */

#list-toc-generated {
  overflow-x: hidden;
}

#list-toc-generated .toc-element::after {
  content: '.................................................................................................................................................';
  float: left;
  width: 0;
  padding-left: 5px;
  letter-spacing: 2px;
}

#list-toc-generated .toc-element {
  display: flex;
}

#list-toc-generated .toc-element a::after {
  position: absolute;
  right: 0;
  background-color: white;
  padding-left: 6px;
}

#list-toc-generated .toc-element a {
  right: 0;
}

.h3-index {
  margin-block-start: 0 !important;
  margin-block-end: 0 !important;
}

.text-area {
  line-height: 1.4;
  white-space: pre-line;
}

table td {
  vertical-align: top;
  line-height: 1.4;
}

#pdf_header {
  position: running(pdf_header);
}

@page {
  size: A4;
  margin: 20mm 20mm 20mm 20mm;

  @top-center {
    content: element(pdf_header);
  }

  @bottom-center {
    font-size: 10px;
    content: string(ref);
  }

  @bottom-right {
    font-size: 10px;
    content: counter(page) ' / ' counter(pages);
  }
}

@page :first {
  @bottom-right {
    content: '';
  }
}

.report-document-header {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-bottom: 16px;
  margin-bottom: 16px;
  border-bottom: 1px solid #e0e0e0;
  page-break-inside: avoid;
  break-inside: avoid;
  page-break-after: avoid;
  break-after: avoid;
}

.report-document-header__logo {
  max-height: 64px;
  max-width: 180px;
  object-fit: contain;
}

.report-document-header__info {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.report-document-header__company {
  margin: 0 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #212121 !important;
}

.report-document-header__org-number {
  margin: 0 !important;
  font-size: 13px !important;
  color: #616161 !important;
}

.leave-summary-header {
  margin-bottom: 12px;
  margin-top: 16px;
  page-break-inside: avoid;
  break-inside: avoid;
  page-break-after: avoid;
  break-after: avoid;
}

.leave-summary-header .employee-count {
  font-size: 13px;
  color: #9e9e9e;
  margin: 0 0 12px 5px;
}

.leave-summary-header .summary-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 2px;
  font-size: 15px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.leave-summary-header .summary-badge.company-level {
  background: #e8f4fd !important;
  color: #2196f3 !important;
}

.leave-summary-header .summary-title {
  margin: 0 0 6px 0 !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  color: #212121 !important;
}

.leave-summary-header .summary-subtitle {
  margin: 0 0 12px 0 !important;
  font-size: 13px !important;
  color: #9e9e9e !important;
}

.summary-info {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
}

.info-row {
  display: flex;
  gap: 16px;
  font-size: 13px;
}

.info-label {
  font-weight: 600;
  color: #424242;
  min-width: 60px;
}

.info-value {
  color: #424242;
}

.employee-info-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.employee-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ff6b6b;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  flex-shrink: 0;
}

.employee-details {
  flex: 1;
}

.employee-details .summary-title {
  margin: 0 0 4px 0;
}

.employee-department {
  margin: 0;
  font-size: 12px;
  color: #9e9e9e;
}

.summary-badge.employee-level {
  background: #fff3e0;
  color: #f57c00;
}

.summary-badge.department-level {
  background: #e8f5e9;
  color: #43a047;
}

/* Shared styles for all report sections */

.report-section {
  margin-bottom: 12px;
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  display: block;
}

.section-header {
  margin-bottom: 6px;
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  page-break-after: avoid !important;
  break-after: avoid !important;
}

.section-title {
  margin: 0 0 3px 0;
  font-size: 16px;
  font-weight: 600;
  color: #212121;
  page-break-after: avoid !important;
  break-after: avoid !important;
}

.section-subtitle {
  margin: 0 0 8px 0;
  font-size: 12px;
  color: #9e9e9e;
  page-break-after: avoid !important;
  break-after: avoid !important;
}

.section-table-wrapper {
  border: none;
  border-radius: 4px;
  overflow: hidden;
  margin-bottom: 6px;
  background: white;
  page-break-before: avoid !important;
  break-before: avoid !important;
  page-break-inside: auto;
  break-inside: auto;
}

.section-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  page-break-inside: auto;
  break-inside: auto;
  border: 1px solid #e0e0e0;
}

.section-table thead {
  background: white !important;
}

.section-table th {
  padding: 12px 16px !important;
  text-align: left !important;
  font-weight: 500 !important;
  color: #616161 !important;
  font-size: 12px !important;
  background: white !important;
  border: 1px solid #e0e0e0 !important;
}

.section-table th:first-child {
  width: auto;
}

.section-table th:not(:first-child) {
  text-align: right !important;
}

.section-table tbody tr {
}

.section-table tbody tr.total-row {
  background: #e8f5e9 !important;
  font-weight: 500;
}

.section-table tbody td {
  padding: 14px 16px;
  border: 1px solid #e0e0e0;
}

.section-table .row-label {
  font-weight: 400;
  color: #424242;
}

.section-table .row-value {
  text-align: right;
  color: #2196f3;
  font-weight: 500;
}

.section-table .total-row .row-label {
  font-weight: 500;
}

.section-table .total-row .row-value {
  font-weight: 600;
}

/* Monthly table styles */
.section-table.monthly-table th {
  text-align: center !important;
  padding: 12px 8px !important;
}

.section-table.monthly-table th:first-child {
  text-align: left !important;
  width: 100px;
}

.section-table.monthly-table .row-label {
  text-align: left;
}

.section-table.monthly-table .monthly-value {
  text-align: center !important;
  padding: 14px 8px;
}

/* Breakdown table with multiple columns */
.section-table.breakdown-table th:not(:first-child) {
  text-align: right !important;
  width: auto;
}

.section-table.breakdown-table th:first-child {
  width: auto;
  min-width: 8rem;
}

/* Total column styling - same background as total rows */
.section-table th.total-column,
.section-table td.total-column {
  background: #e8f5e9 !important;
  font-weight: 600 !important;
}

.section-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  margin-top: 4px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  page-break-inside: avoid;
  break-inside: avoid;
  page-break-before: avoid;
  break-before: avoid;
}

.section-label {
  color: #9e9e9e;
}

.section-tag {
  background: #e8f4fd;
  color: #2196f3;
  padding: 3px 8px;
  border-radius: 3px;
  font-weight: 500;
}

.state-component {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
  color: #666;
}

.state-component p {
  margin: 8px 0;
  font-size: 14px;
}

/* Loading State */
.loading-state {
  min-height: 200px;
}

.spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #0066cc;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Empty State */
.empty-state {
  min-height: 200px;
}

.empty-icon {
  font-size: 64px;
  margin-bottom: 20px;
  opacity: 0.5;
}

.empty-state p {
  font-size: 16px;
  color: #999;
  max-width: 400px;
}

/* Error State */
.error-state {
  color: #d32f2f;
  min-height: 300px;
}

.error-icon {
  font-size: 64px;
  margin-bottom: 20px;
}

.error-state h3 {
  font-size: 20px;
  margin-bottom: 12px;
  color: #d32f2f;
}

.error-state p {
  font-size: 14px;
  color: #666;
  max-width: 500px;
  margin-bottom: 20px;
}

.retry-button {
  padding: 10px 24px;
  background-color: #4caf50;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.retry-button:hover {
  background-color: #45a049;
}

/* Skeleton Components */
.skeleton-line {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: loading 1.5s ease-in-out infinite;
  border-radius: 4px;
}

@keyframes loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}

.skeleton-header {
  margin-bottom: 24px;
}

.skeleton-title {
  height: 32px;
  width: 60%;
  margin-bottom: 12px;
}

.skeleton-subtitle {
  height: 20px;
  width: 40%;
}

.skeleton-card {
  padding: 20px;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 16px;
}

.skeleton-card-title {
  height: 20px;
  width: 50%;
  margin-bottom: 12px;
}

.skeleton-card-value {
  height: 28px;
  width: 30%;
}

.skeleton-table {
  width: 100%;
  margin-top: 16px;
}

.skeleton-table-header {
  display: flex;
  gap: 16px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 2px solid #e0e0e0;
}

.skeleton-th {
  height: 20px;
  flex: 1;
}

.skeleton-table-row {
  display: flex;
  gap: 16px;
  margin-bottom: 8px;
}

.skeleton-td {
  height: 20px;
  flex: 1;
}

.empty-icon {
  font-size: 48px;
  margin-bottom: 16px;
  opacity: 0.5;
}

/* Error State */
.error-state {
  min-height: 200px;
  color: #d32f2f;
}

.error-icon {
  font-size: 48px;
  margin-bottom: 16px;
}

.error-message {
  font-weight: 600;
  color: #d32f2f;
}

.error-details {
  font-size: 12px;
  color: #666;
  margin-top: 8px;
  font-family: monospace;
}

.report-preview {
  display: flex;
  flex-direction: column;
  gap: 0;
  background: white;
  padding: 0 24px 24px;
  border-radius: 0;
  box-shadow: none;
  max-width: min(900px, 100%);
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

.report-warnings {
  background: #fff3e0;
  border: 1px solid #ffb74d;
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 12px;
  page-break-inside: avoid;
}

.report-warnings .warning-message {
  margin: 0 0 4px 0;
  font-size: 0.9em;
  color: #e65100;
}

.report-warnings .warning-message:last-child {
  margin-bottom: 0;
}

/* Report level grouping */
.report-level {
  page-break-inside: auto;
  break-inside: auto;
  margin-bottom: 0;
}

.report-level.employee-level {
  page-break-before: page;
  break-before: page;
}

.employee-report {
  page-break-inside: avoid;
  break-inside: avoid;
  margin-bottom: 16px;
}

.level-intro {
  padding: 16px 0 12px 0;
  text-align: center;
  page-break-after: avoid !important;
  break-after: avoid !important;
}

.level-intro .level-badge {
  display: inline-block;
  background: #4caf50;
  color: white;
  padding: 12px 20px;
  border-radius: 4px;
  margin-bottom: 12px;
}

.level-intro .badge-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.level-intro .employee-count {
  font-size: 15px;
  font-weight: 500;
  margin: 0;
}

.leave-statistics-view {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 0;
  background: transparent;
  min-height: auto;
}

.leave-statistics-view h1 {
  display: none;
}

.report-preview-shell {
  border: 1px solid #dce3ea;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.report-file-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #e8edf2;
  background: #fcfdff;
}

.report-file-icon {
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: #1f9d55;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.report-file-name {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
  color: #253041;
}

.report-file-meta {
  margin: 2px 0 0;
  font-size: 12px;
  color: #708090;
}

.report-document {
  padding: 12px 16px 16px;
  background: #fff;
}

.leave-statistics {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
  padding: 0;
  margin: 0;
  background: white;
  line-height: 1.5;
  min-height: 100vh;
}

.leave-statistics .chapter {
  background: white;
  margin: 0 auto !important;
  max-width: 210mm;
  box-sizing: border-box;
}

.leave-statistics * {
  box-sizing: border-box;
}

.leave-statistics h1 {
  font-size: 24px;
  margin-bottom: 16px;
  font-weight: 600;
  color: #212121;
  break-before: page;
}

.leave-statistics h2 {
  font-size: 20px;
  margin-bottom: 12px;
  font-weight: 600;
  color: #212121;
  break-before: auto;
}

/* Page break support */
.leave-statistics .report-section {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  orphans: 3;
  widows: 3;
}

.leave-statistics .section-header + .section-table-wrapper {
  page-break-before: avoid !important;
  break-before: avoid !important;
}

.leave-statistics .section-table-wrapper {
  page-break-inside: auto;
  break-inside: auto;
}

/* A4 Page Setup */
@page {
  size: A4;
  margin: 20mm 20mm 20mm 20mm;
}

@page :first {
  margin-top: 20mm;
}

@media print {
  html,
  body {
    height: 99%;
  }

  .leave-statistics {
    background: white;
    margin: 0;
    padding: 0;
  }

  .leave-statistics .chapter {
    margin: 0;
    page-break-after: always;
  }
}

:root {
  --background-color-primary: #fbfbfb;
  --background-color-secondary: #f5f5f5;
  --background-color-table: #e0e0e0;
  --text-color-primary: #212121;
  --text-color-secondary: #757575;
  --border-color: #e0e0e0;
  --pagedjs-string-first-header-title: '';
}

/* ===================================
   Base styling for leave statistics
   =================================== */
.leave-statistics {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
  padding: 0;
  margin: 0;
  background: white;
  line-height: 1.5;
  color: var(--text-color-primary);
  font-size: 14px;
}

.leave-statistics * {
  box-sizing: border-box;
}

.leave-statistics .pagedjs_area {
  margin-top: 0.83em;
}

/* ===================================
   Typography
   =================================== */
.leave-statistics h1 {
  text-align: center;
  font-size: 24px;
  margin: 0 0 12px 0;
  font-weight: 600;
  color: var(--text-color-primary);
  page-break-after: avoid;
  break-after: avoid;
}

.leave-statistics h2 {
  font-size: 20px;
  margin: 8px 0 8px 0;
  font-weight: 600;
  color: var(--text-color-primary);
  page-break-after: avoid;
  break-after: avoid;
}

.leave-statistics h3 {
  font-size: 18px;
  margin: 10px 0 8px 0;
  font-weight: 600;
  color: var(--text-color-primary);
}

.leave-statistics h4 {
  font-size: 16px;
  margin: 8px 0 6px 0;
  font-weight: 600;
  color: var(--text-color-primary);
}

.leave-statistics .text-area {
  line-height: 1.4;
  white-space: pre-line;
  font-weight: normal;
}

.leave-statistics .header-name {
  overflow-wrap: break-word;
  word-break: break-word;
  word-break: break-all;
  overflow-wrap: anywhere;
}

/* ===================================
   Page break control
   =================================== */
.leave-statistics .page-break-inside-avoid {
  page-break-inside: avoid;
  break-inside: avoid;
}

.leave-statistics .no-page-break {
  page-break-after: avoid;
  page-break-inside: avoid;
  page-break-before: auto;
  break-after: avoid;
  break-inside: avoid;
  break-before: auto;
}

/* ===================================
   Report sections
   =================================== */
.leave-statistics .report-section {
  page-break-inside: avoid !important;
  break-inside: avoid !important;
  orphans: 3;
  widows: 3;
  margin-bottom: 16px;
}

.leave-statistics .section-header {
  page-break-after: avoid !important;
  break-after: avoid !important;
}

.leave-statistics .section-header + .section-table-wrapper {
  page-break-before: avoid !important;
  break-before: avoid !important;
}

.leave-statistics .section-table-wrapper {
  page-break-inside: auto;
  break-inside: auto;
}

/* ===================================
   Tables
   =================================== */
.leave-statistics table {
  border-collapse: collapse;
  width: 100%;
}

.leave-statistics table.print-friendly tr td,
.leave-statistics table.print-friendly tr th {
  page-break-inside: avoid;
  break-inside: avoid;
}

.leave-statistics table thead tr {
  page-break-after: avoid;
  break-after: avoid;
}

.leave-statistics table tbody tr {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* ===================================
   Print media queries
   =================================== */
@media print {
  html,
  body {
    height: 99%;
  }

  .leave-statistics {
    background: white;
    margin: 0;
    padding: 0;
  }

  .leave-statistics .chapter {
    margin: 0;
    page-break-after: always;
  }
}


/*# sourceMappingURL=/src.5aa174a5.css.map */