/*
 * ELZAK – jednotné tiskové jádro
 * SERVIS-003B
 *
 * Tento soubor řeší pouze společnou tiskovou vrstvu.
 * Orientace stránky a zvláštní rozměry konkrétní sestavy zůstávají
 * v lokální šabloně, například A4 na šířku u kalendáře a rozpočtu.
 */

@media print {

  /* ------------------------------------------------------------------
     ZÁKLAD STRÁNKY
     ------------------------------------------------------------------ */

  html,
  body {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    background: #ffffff !important;
    color: #000000 !important;

    text-shadow: none !important;
    filter: none !important;
  }

  body {
    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 10pt !important;
    line-height: 1.3 !important;

    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* ------------------------------------------------------------------
     ODSTRANĚNÍ WEBOVÉHO OVLÁDÁNÍ
     ------------------------------------------------------------------ */

  nav,
  header,
  footer,
  aside,

  .navbar,
  .topbar,
  .sidebar,
  .drawer-side,

  .ez-topbar,
  .ez-header,
  .elzak-header,
  .elzak-page-head,
  .elzak-top-crumbs,

  .breadcrumbs,
  .page-actions,
  .ez-page-actions,

  .elzak-help-button,
  .elzak-help-popup,

  .no-print,
  .print-toolbar,
  .toolbar {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     ODSTRANĚNÍ POSUNU OBSAHU KVŮLI MENU A WEBOVÉMU ROZLOŽENÍ
     ------------------------------------------------------------------ */

  main,
  .content,
  .main-content,
  .content-wrapper,
  .page-wrapper,
  .drawer-content,

  .container,
  .container-fluid,

  .p-4,
  .p-6,
  .lg\:p-6 {
    position: static !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    margin-left: 0 !important;

    padding: 0 !important;
    padding-left: 0 !important;

    overflow: visible !important;

    transform: none !important;
    box-shadow: none !important;

    background: #ffffff !important;
    color: #000000 !important;
  }

  /* ------------------------------------------------------------------
     ODSTRANĚNÍ ŠEDÝCH STÍNŮ A WEBOVÝCH EFEKTŮ
     ------------------------------------------------------------------ */

  .card,
  .card-body,
  .print-card,
  .print-box,
  .document-box,
  .am-card,
  .am-mobile-card,
  .summary-box,
  .photo-card {
    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;

    background-color: #ffffff !important;
    color: #000000 !important;
  }

  /*
   * Velké bloky smějí pokračovat na další stránce.
   * Původní plošné break-inside: avoid způsobovalo velké mezery
   * a rozpad krátké sestavy na několik stran.
   */
  .card,
  .card-body,
  .print-card,
  .print-box,
  .document-box,
  .section,
  .am-card,
  .am-mobile-card,
  .summary-box {
    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /* ------------------------------------------------------------------
     TABULKY
     ------------------------------------------------------------------ */

  table {
    width: 100% !important;
    max-width: 100% !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    border-collapse: collapse !important;
    border-spacing: 0 !important;

    table-layout: auto !important;

    overflow: visible !important;
  }

  thead {
    display: table-header-group !important;
  }

  tfoot {
    display: table-footer-group !important;
  }

  tbody {
    display: table-row-group !important;
  }

  tr {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  th,
  td {
    position: static !important;

    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;

    padding: 3px 5px !important;

    overflow: visible !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-wrap: break-word !important;
    word-break: normal !important;

    vertical-align: top !important;

    color: #000000 !important;
    text-shadow: none !important;
    filter: none !important;
  }

  th {
    font-weight: 700 !important;
  }

  /*
   * Výjimka pro krátká čísla, data a kódy.
   * Konkrétní šablona může tuto třídu použít vědomě.
   */
  .elzak-print-nowrap {
    white-space: nowrap !important;
    overflow-wrap: normal !important;
  }

  /* ------------------------------------------------------------------
     OBRÁZKY A PŘÍLOHY
     ------------------------------------------------------------------ */

  img,
  svg,
  canvas,
  figure {
    max-width: 100% !important;
    height: auto !important;
  }

  img,
  figure,
  .photo-card {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  /* ------------------------------------------------------------------
     TEXT A ODKAZY
     ------------------------------------------------------------------ */

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  span,
  strong,
  small,
  label,
  a {
    color: #000000 !important;
    text-shadow: none !important;
    filter: none !important;
  }

  h1,
  h2,
  h3,
  h4 {
    break-after: avoid-page !important;
    page-break-after: avoid !important;
  }

  p {
    orphans: 3;
    widows: 3;
  }

  a,
  a:visited {
    color: #000000 !important;
    text-decoration: none !important;
  }

  a[href]::after {
    content: none !important;
  }

  /* ------------------------------------------------------------------
     VODOROVNÉ POSUVNÍKY A MOBILNÍ OBALY
     ------------------------------------------------------------------ */

  .table-responsive,
  .am-table-wrap,
  .cal-wrap,
  .print-budget-wrap {
    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;

    transform: none !important;
    box-shadow: none !important;
  }

  /* ------------------------------------------------------------------
     TISKOVÉ ZOBRAZENÍ
     ------------------------------------------------------------------ */

  .print-only {
    display: block !important;
  }

  .screen-only {
    display: none !important;
  }

  /* ------------------------------------------------------------------
     OCHRANA PROTI PŘETÉKÁNÍ
     ------------------------------------------------------------------ */

  pre,
  code {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
  }

  * {
    box-sizing: border-box !important;
  }
}

/*
 * SERVIS-003C-DEFINITIVNI-RESET-TMAVEHO-POZADI
 *
 * Odstraňuje pozadí a překryvy základního webového rozložení ELZAK,
 * které zůstávaly viditelné v tiskovém náhledu.
 */

@media print {

  @page {
    margin: 10mm;
  }

  html,
  body {
    background-color: #ffffff !important;
    background-image: none !important;
  }

  body::before,
  body::after,

  main::before,
  main::after,

  .drawer::before,
  .drawer::after,

  .drawer-content::before,
  .drawer-content::after,

  .content::before,
  .content::after,

  .main-content::before,
  .main-content::after,

  .content-wrapper::before,
  .content-wrapper::after,

  .page-wrapper::before,
  .page-wrapper::after {
    content: none !important;
    display: none !important;

    background: transparent !important;
    background-image: none !important;

    box-shadow: none !important;
    filter: none !important;
  }

  body,
  main,
  .drawer,
  .drawer-content,
  .content,
  .main-content,
  .content-wrapper,
  .page-wrapper,
  .content-area,
  .app-shell,
  .layout,
  .min-h-screen,

  .bg-base-100,
  .bg-base-200,
  .bg-base-300,

  [class~="bg-base-100"],
  [class~="bg-base-200"],
  [class~="bg-base-300"] {
    background-color: #ffffff !important;
    background-image: none !important;

    box-shadow: none !important;
    text-shadow: none !important;
    filter: none !important;

    opacity: 1 !important;
  }

  main,
  .drawer,
  .drawer-content,
  .content,
  .main-content,
  .content-wrapper,
  .page-wrapper,
  .content-area,
  .app-shell,
  .layout,
  .min-h-screen {
    position: static !important;

    inset: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    transform: none !important;
  }

  /*
   * Webové barevné a gradientní obaly nesmějí vytvořit tmavou
   * plochu přes stránku. Jednotlivé buňky a štítky si mohou
   * následně nastavit vlastní tiskovou podobu.
   */
  .card,
  .card-body,
  .print-card,
  .print-box,
  .document-box,
  .am-wrap,
  .am-grid,
  .am-card,
  .am-table-wrap,
  .cal-wrap,
  .print-budget-wrap {
    background-color: #ffffff !important;
    background-image: none !important;
  }

  /*
   * Skutečně skryté webové navigační prvky.
   */
  .drawer-side,
  .navbar,
  .topbar,
  .sidebar,
  .menu,
  .breadcrumbs,
  .ez-topbar,
  .ez-header,
  .elzak-header,
  .elzak-page-head,
  .elzak-top-crumbs,
  .page-actions,
  .ez-page-actions,
  .no-print {
    display: none !important;
  }
}



/*
 * SERVIS-003CR-FINALNI-BILY-PAPIR
 * Tento blok je načítán až za lokálními styly jednotlivých šablon.
 */

@media print {

  html,
  body,
  body > *,
  .drawer,
  .drawer-content,
  .min-h-screen,
  main,
  .content,
  .main-content,
  .content-wrapper,
  .page-wrapper,
  .container,
  .container-fluid {
    background: #ffffff !important;
    background-color: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;
  }

  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .drawer,
  .drawer-content,
  main,
  .content,
  .main-content,
  .content-wrapper,
  .page-wrapper,
  .container,
  .container-fluid {
    position: static !important;
    inset: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    transform: none !important;
  }

  nav,
  header,
  footer,
  aside,
  .navbar,
  .topbar,
  .sidebar,
  .drawer-side,
  .menu,
  .breadcrumbs,
  .ez-topbar,
  .ez-header,
  .elzak-header,
  .elzak-page-head,
  .elzak-top-crumbs,
  .page-actions,
  .ez-page-actions,
  .no-print,
  .print-toolbar,
  .toolbar {
    display: none !important;
  }

  body::before,
  body::after,
  .drawer::before,
  .drawer::after,
  .drawer-content::before,
  .drawer-content::after,
  main::before,
  main::after {
    content: none !important;
    display: none !important;
  }

  .print-wrap,
  .print-card,
  .print-box,
  .document-box,
  .am-wrap,
  .am-card,
  .am-table-wrap,
  .cal-wrap,
  .print-budget-wrap {
    background: #ffffff !important;
    background-image: none !important;
    box-shadow: none !important;
    filter: none !important;

    max-width: none !important;
  }
}

/*
 * SERVIS-003CS-PLNA-SIRKA-PAPIRU
 *
 * Zrušení webového dvousloupcového rozložení, rezervované šířky
 * levého menu a omezení pracovní plochy při tisku.
 */

@media print {

  html,
  body {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;
  }

  /*
   * Hlavní konstrukční vrstvy ELZAK nesmějí při tisku zachovat
   * sloupec pro levé menu ani webovou mřížku.
   */
  .drawer,
  .drawer-content,

  .app-shell,
  .app-layout,
  .main-layout,
  .page-layout,
  .layout,

  .elzak-shell,
  .elzak-layout,
  .elzak-main,
  .elzak-content,

  .ez-shell,
  .ez-layout,
  .ez-main,
  .ez-content,

  .content-wrapper,
  .page-wrapper,
  .main-wrapper,

  main,
  .content,
  .main-content,
  .page-content,
  .content-area {
    display: block !important;

    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    grid-column: 1 / -1 !important;

    flex: none !important;

    position: static !important;
    inset: auto !important;

    left: auto !important;
    right: auto !important;
    top: auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;

    padding: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;

    overflow: visible !important;
    transform: none !important;

    background: #ffffff !important;
    box-shadow: none !important;
  }

  /*
   * Časté kontejnerové utility nesmějí omezit tiskovou šířku.
   */
  .container,
  .container-fluid,
  .mx-auto,
  .w-full,
  .max-w-screen-xl,
  .max-w-screen-2xl {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin-left: 0 !important;
    margin-right: 0 !important;

    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /*
   * Skrytí skutečné horní navigace včetně variant základní šablony.
   */
  .main-header,
  .app-header,
  .page-header,
  .ez-app-header,
  .elzak-app-header,
  .ez-topbar,
  .elzak-topbar,
  .navbar,
  .topbar,
  .drawer-side,
  .sidebar,
  .menu,
  .no-print {
    display: none !important;
  }

  /*
   * Konkrétní plné šířky hlavních sestav.
   */
  .am-wrap,
  .am-table-wrap,
  .cal-wrap,
  .print-wrap,
  .print-budget-wrap,
  .doc,
  .document-box {
    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
  }

  /*
   * Souhrn měsíční docházky má využít šířku stránky,
   * nikoli úzký webový sloupec.
   */
  .am-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    gap: 6px !important;
  }

  .am-card {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
  }

  .am-table {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;

    table-layout: auto !important;
  }

  /*
   * Checkbox ovládající webový drawer nesmí ovlivnit tisk.
   */
  .drawer-toggle {
    display: none !important;
  }
}

/*
 * SERVIS-003CT-CISTY-PROFESIONALNI-TISK
 *
 * Finální odstranění webových stínů, průhledností, gradientů,
 * zaoblených pracovních obalů a zbytečného stránkování.
 */

@media print {

  /* ================================================================
     ÚPLNÉ ODSTRANĚNÍ STÍNŮ A WEBOVÝCH EFEKTŮ
     ================================================================ */

  *,
  *::before,
  *::after {
    box-shadow: none !important;
    text-shadow: none !important;

    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    background-image: none !important;

    opacity: 1 !important;
  }

  html,
  body {
    background: #ffffff !important;
    color: #000000 !important;
  }

  /* ================================================================
     SKRYTÍ VŠECH VARIANT WEBOVÉ HORNÍ LIŠTY
     ================================================================ */

  nav,
  header,
  aside,
  footer,

  [role="navigation"],

  .navbar,
  .topbar,
  .sidebar,
  .drawer-side,
  .drawer-toggle,
  .menu,

  .main-header,
  .site-header,
  .app-header,
  .page-header,
  .workspace-header,

  .ez-header,
  .ez-topbar,
  .ez-app-header,

  .elzak-header,
  .elzak-topbar,
  .elzak-app-header,

  [class*="topbar"],
  [class*="navbar"],
  [class*="sidebar"],
  [class*="drawer-side"],

  .breadcrumbs,
  .page-actions,
  .ez-page-actions,
  .no-print {
    display: none !important;
  }

  /* ================================================================
     ČISTÁ KONSTRUKCE STRÁNKY
     ================================================================ */

  body,
  main,
  .drawer,
  .drawer-content,
  .app-shell,
  .app-layout,
  .main-layout,
  .page-layout,
  .layout,
  .content,
  .main-content,
  .page-content,
  .content-area,
  .content-wrapper,
  .page-wrapper,
  .main-wrapper {
    position: static !important;

    inset: auto !important;

    display: block !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: auto !important;
    min-height: 0 !important;

    margin: 0 !important;
    padding: 0 !important;

    overflow: visible !important;
    transform: none !important;

    background: #ffffff !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  /* ================================================================
     KARTY – POUZE ČISTÝ DOKUMENT, NE WEBOVÉ DLAŽDICE
     ================================================================ */

  .card,
  .card-body,
  .print-card,
  .print-box,
  .document-box,
  .am-card,
  .am-mobile-card,
  .summary-box,
  .section {
    background: #ffffff !important;

    box-shadow: none !important;
    filter: none !important;

    border-radius: 0 !important;

    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  /*
   * Souhrnné karty mohou mít pouze jemný rovný rámeček.
   */
  .am-grid .am-card {
    border: 1px solid #b8b8b8 !important;
    border-radius: 0 !important;

    margin: 0 !important;
    padding: 5px 7px !important;
  }

  /*
   * Velké obsahové bloky nesmějí vynucovat novou stránku.
   */
  .am-wrap,
  .am-wrap > *,
  .am-table-wrap,
  .print-wrap,
  .print-box,
  .print-card,
  .document-box,
  .section,
  .card,
  .card-body {
    break-before: auto !important;
    break-after: auto !important;
    break-inside: auto !important;

    page-break-before: auto !important;
    page-break-after: auto !important;
    page-break-inside: auto !important;
  }

  /* ================================================================
     TABULKY – ČISTÉ A ÚHLEDNÉ
     ================================================================ */

  table {
    width: 100% !important;
    max-width: 100% !important;

    border-collapse: collapse !important;
    border-spacing: 0 !important;

    background: #ffffff !important;
  }

  thead {
    display: table-header-group !important;
  }

  tfoot {
    display: table-footer-group !important;
  }

  tbody {
    display: table-row-group !important;
  }

  tr {
    break-inside: avoid-page !important;
    page-break-inside: avoid !important;

    background: #ffffff !important;
  }

  th,
  td {
    background: #ffffff !important;
    color: #000000 !important;

    border-color: #a8a8a8 !important;

    box-shadow: none !important;
    filter: none !important;

    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  th {
    font-weight: 700 !important;
    background: #f2f2f2 !important;
  }

  /* ================================================================
     DOCHÁZKA – ODSTRANĚNÍ VZHLEDU WEBOVÉ PRACOVNÍ PLOCHY
     ================================================================ */

  .am-wrap {
    border: 0 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
  }

  .am-table-wrap {
    border: 0 !important;
    border-radius: 0 !important;

    background: #ffffff !important;
  }

  .am-table {
    border: 1px solid #999999 !important;

    background: #ffffff !important;

    font-size: 8.5px !important;
    line-height: 1.2 !important;
  }

  .am-table th,
  .am-table td {
    padding: 3px 4px !important;
  }

  /*
   * Stavové štítky budou při tisku jednoduché a bez vzhledu tlačítek.
   */
  .am-badge,
  .am-tag,
  .badge {
    display: inline-block !important;

    background: #ffffff !important;
    color: #000000 !important;

    border: 1px solid #777777 !important;
    border-radius: 2px !important;

    box-shadow: none !important;

    padding: 1px 4px !important;
  }

  /* ================================================================
     ODSTRANĚNÍ ZBYTEČNÝCH PRÁZDNÝCH VÝŠEK
     ================================================================ */

  [style*="min-height"],
  [style*="height: 100vh"],
  [style*="min-height: 100vh"] {
    min-height: 0 !important;
    height: auto !important;
  }

  .min-h-screen,
  .h-screen {
    min-height: 0 !important;
    height: auto !important;
  }

  /* ================================================================
     ČISTÉ OKRAJE PAPÍRU
     ================================================================ */

  @page {
    margin: 10mm;
  }
}

/*
 * SERVIS-003CV-OSOBNI-VYKAZ-A-JEDNOSTRANKOVA-ZADOST
 */

@media print {

  /* ================================================================
     OSOBNÍ MĚSÍČNÍ VÝKAZ
     ================================================================ */

  /*
   * Celofiremní přehled sald patří do Mzdového centra,
   * nikoli do osobního výkazu jednoho zaměstnance.
   */
  .am-print-company-payroll-overview {
    display: none !important;
  }

  /*
   * Souhrnné ukazatele jsou kompaktní hlavička výkazu.
   */
  .am-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

    gap: 1.5mm !important;
    margin: 0 0 2mm 0 !important;
  }

  .am-grid .am-card {
    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 1.5mm 2mm !important;

    border: 0.2mm solid #b8b8b8 !important;
  }

  .am-grid .am-kpi-value {
    margin: 0 0 0.5mm 0 !important;

    font-size: 10pt !important;
    line-height: 1 !important;
  }

  .am-grid .am-kpi-label,
  .am-grid .am-muted {
    margin: 0 !important;

    font-size: 7pt !important;
    line-height: 1.05 !important;
  }

  /*
   * Informační blok období nesmí zabírat velkou část stránky.
   */
  .am-wrap > .am-card {
    margin-top: 0 !important;
    margin-bottom: 2mm !important;
    padding: 2mm 3mm !important;
  }

  .am-wrap > .am-card p,
  .am-wrap > .am-card .am-muted {
    margin-top: 0.5mm !important;
    margin-bottom: 0.5mm !important;
  }

  /* ================================================================
     ŽÁDOST O NEPŘÍTOMNOST – JEDNA A4
     ================================================================ */

  @page {
    margin: 6mm;
  }

  .leave-request-print-one-page {
    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 8.2pt !important;
    line-height: 1.12 !important;

    break-inside: auto !important;
    page-break-inside: auto !important;
  }

  .leave-request-print-one-page * {
    box-shadow: none !important;
    filter: none !important;

    min-height: 0 !important;
  }

  .leave-request-print-one-page h1 {
    margin: 0 0 2mm 0 !important;

    font-size: 15pt !important;
    line-height: 1 !important;
  }

  .leave-request-print-one-page h2,
  .leave-request-print-one-page h3,
  .leave-request-print-one-page h4 {
    margin-top: 1mm !important;
    margin-bottom: 1mm !important;

    font-size: 8.5pt !important;
    line-height: 1.05 !important;
  }

  .leave-request-print-one-page p {
    margin-top: 0.5mm !important;
    margin-bottom: 0.5mm !important;
  }

  .leave-request-print-one-page > div,
  .leave-request-print-one-page section,
  .leave-request-print-one-page article,
  .leave-request-print-one-page .card,
  .leave-request-print-one-page .print-card,
  .leave-request-print-one-page .print-box {
    margin-top: 0 !important;
    margin-bottom: 0 !important;

    padding: 2.5mm 3mm !important;

    border-radius: 0 !important;

    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }

  /*
   * Vnitřní textové a podpisové plochy mají pouze nezbytnou výšku.
   */
  .leave-request-print-one-page [style*="min-height"],
  .leave-request-print-one-page [style*="height"] {
    min-height: 0 !important;
    height: auto !important;
  }

  .leave-request-print-one-page textarea,
  .leave-request-print-one-page input {
    min-height: 0 !important;
    height: auto !important;
  }

  .leave-request-print-one-page hr {
    margin-top: 1.5mm !important;
    margin-bottom: 1.5mm !important;
  }

  /*
   * Podpisová část nesmí odskočit na samostatnou druhou stránku.
   */
  .leave-request-print-one-page [class*="signature"],
  .leave-request-print-one-page [class*="podpis"],
  .leave-request-print-one-page [class*="approval"],
  .leave-request-print-one-page [class*="schval"] {
    margin-top: 1mm !important;
    margin-bottom: 0 !important;

    padding-top: 2mm !important;
    padding-bottom: 2mm !important;

    break-before: auto !important;
    page-break-before: auto !important;

    break-inside: avoid-page !important;
    page-break-inside: avoid !important;
  }
}

/*
 * SERVIS-003CY-PROFESIONALNI-TISK-DOCHAZKY-1-0
 */

@media print {

  /* ---------------------------------------------------------------
     PROFESIONÁLNÍ HLAVIČKA OSOBNÍHO VÝKAZU
     --------------------------------------------------------------- */

  .attendance-print-heading {
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 8mm !important;
    align-items: start !important;

    width: 100% !important;

    margin: 0 0 3mm 0 !important;
    padding: 0 0 2.5mm 0 !important;

    border-bottom: 0.6mm solid #111827 !important;
  }

  .attendance-print-heading h1 {
    margin: 0 !important;

    font-size: 16pt !important;
    line-height: 1.05 !important;
  }

  .attendance-print-period {
    margin-top: 1mm !important;

    font-size: 9pt !important;
    color: #334155 !important;
  }

  .attendance-print-employee {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 1mm !important;

    text-align: right !important;
  }

  .attendance-print-employee strong {
    font-size: 11pt !important;
  }

  .attendance-print-employee span {
    color: #b91c1c !important;
    font-size: 9pt !important;
    font-weight: 700 !important;
  }

  /* ---------------------------------------------------------------
     SKRYTÍ WEBOVÉHO OVLÁDÁNÍ
     --------------------------------------------------------------- */

  .am-wrap form,
  .am-wrap .am-actions,
  .am-wrap .am-mobile-cards,
  .am-wrap button,
  .am-wrap .btn,
  .am-wrap select,
  .am-wrap input,
  .am-wrap textarea {
    display: none !important;
  }

  /*
   * Uzávěrkové a mzdové ovládací sekce nejsou součástí
   * osobního papírového výkazu.
   */
  .am-wrap > section:nth-last-of-type(-n+2) {
    display: none !important;
  }

  /* ---------------------------------------------------------------
     KOMPAKTNÍ SOUHRNNÁ HLAVIČKA
     --------------------------------------------------------------- */

  .am-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;

    gap: 1.5mm !important;
    margin: 0 0 2.5mm 0 !important;
  }

  .am-grid .am-card {
    min-height: 0 !important;
    height: auto !important;

    margin: 0 !important;
    padding: 1.5mm 2mm !important;

    border: 0.2mm solid #a8a8a8 !important;
    border-radius: 0 !important;
  }

  .am-grid .am-kpi-value {
    margin: 0 0 0.5mm 0 !important;

    font-size: 10.5pt !important;
    line-height: 1 !important;
    font-weight: 700 !important;
  }

  .am-grid .am-kpi-label,
  .am-grid .am-muted {
    margin: 0 !important;

    font-size: 7pt !important;
    line-height: 1.05 !important;
  }

  /* ---------------------------------------------------------------
     OSOBNÍ TABULKA DOCHÁZKY
     --------------------------------------------------------------- */

  .am-table-wrap {
    margin: 0 !important;
    padding: 0 !important;

    border: 0 !important;
  }

  .am-table {
    width: 100% !important;

    border: 0.25mm solid #808080 !important;

    font-size: 8pt !important;
    line-height: 1.15 !important;
  }

  .am-table th,
  .am-table td {
    padding: 1.3mm 1.6mm !important;

    border: 0.2mm solid #a8a8a8 !important;

    vertical-align: top !important;
  }

  .am-table th {
    background: #f1f1f1 !important;
    font-weight: 700 !important;
  }

  /*
   * Sloupec Akce nemá v papírovém výkazu význam.
   */
  .am-table th:last-child,
  .am-table td:last-child {
    display: none !important;
  }

  /*
   * Nadpis tabulky je kompaktní.
   */
  .am-wrap section h3 {
    margin: 0 0 1.5mm 0 !important;

    font-size: 10.5pt !important;
    line-height: 1.05 !important;
  }

  .am-wrap section .am-muted {
    margin: 0 0 1.5mm 0 !important;

    font-size: 7.5pt !important;
    line-height: 1.15 !important;
  }

  /*
   * Štítky jsou při tisku jednoduché a úsporné.
   */
  .am-tag,
  .am-badge,
  .badge {
    padding: 0.3mm 1mm !important;

    border: 0.2mm solid #777 !important;
    border-radius: 0 !important;

    background: #fff !important;
    color: #000 !important;

    font-size: 7pt !important;
    line-height: 1.1 !important;
  }

  /* ---------------------------------------------------------------
     ŽÁDOST O NEPŘÍTOMNOST – JEDNA A4
     --------------------------------------------------------------- */

  .leave-request-print-one-page {
    font-size: 8.2pt !important;
    line-height: 1.1 !important;
  }

  .leave-request-print-one-page h1 {
    margin-bottom: 2mm !important;
    font-size: 15pt !important;
  }

  .leave-request-print-one-page > div,
  .leave-request-print-one-page section,
  .leave-request-print-one-page article {
    margin: 0 !important;
    padding: 2mm 2.5mm !important;
  }

  .leave-request-print-one-page p {
    margin: 0.5mm 0 !important;
  }
}

