/* print.css - goodpoints v6.31 */
/* Druck-optimierte Styles - Ausblenden von Navigation, Menüs, Buttons */

/* Seitenränder - MUSS AUSSERHALB von @media print stehen! */
@page {
    margin: 1.5cm;
    size: A4;
}

@media print {
    /* WICHTIG: Alle Elemente mit Inline-Styles brauchen !important */
    /* Navigation und interaktive Elemente ausblenden */
    .no-print,
    .navbar,
    .sidebar,
    .footer,
    .btn,
    .button,
    .export-buttons,
    .pagination,
    .filter-section,
    .search-box,
    .modal,
    .dropdown,
    .tab-buttons,
    nav,
    .bottom-nav,
    .language-switcher,
    .help-icon,
    .tour-button,
    .header,
    .banner,
    .footer-cta,
    .demo-badge,
    .btn-primary,
    .btn-secondary,
    .toast,
    .alert,
    .notification,
    [role="button"],
    button,
    /* GoodPoints-spezifische Elemente */
    .schnupper-banner,
    .demo-banner,
    .demo-banner-inactive,
    .auto-repair-banner,
    .rollenwechsel-banner,
    .superadmin-banner,
    .nav-container,
    .nav-brand,
    .nav-hamburger,
    .nav-menu,
    .nav-link,
    .demo-exit-text,
    .demo-exit,
    .wartungsmodus-banner,
    .tour-step,
    .tour-navigation,
    .user-dropdown,
    .nav-user,
    .action-buttons,
    .back-link,
    /* v6.31: ID-Selektoren für Elemente mit IDs */
    #tour-panel,
    #mobile-dropdown,
    #nav-menu,
    #demo-choice-banner,
    /* v6.31: Spezifische GoodPoints-Klassen */
    .nav-user-dropdown,
    .nav-user-button,
    .mobile-menu,
    .bottom-nav-item,
    /* v6.31: Weitere Banner und UI-Elemente */
    .help-button,
    .hilfe-container,
    .export-button,
    .drucken-button {
        display: none !important;
        visibility: hidden !important;
    }

    /* Nur beim Drucken anzeigen */
    .print-only {
        display: block !important;
    }

    /* Body für Druck */
    body {
        font-size: 10pt;
        line-height: 1.3;
        color: #000;
        background: #fff;
        padding: 0;
        margin: 0;
    }

    /* Links ohne Unterstreichung und mit URL */
    a {
        color: #000;
        text-decoration: none;
    }

    a[href^="http"]::after {
        content: " (" attr(href) ")";
        font-size: 8pt;
        color: #666;
    }

    /* Tabellen für Druck optimieren */
    table {
        width: 100%;
        border-collapse: collapse;
        page-break-inside: avoid;
    }

    th,
    td {
        border: 1px solid #ddd;
        padding: 6px;
        text-align: left;
        font-size: 9pt;
    }

    th {
        background-color: #f0f0f0 !important;
        color: #000;
        font-weight: bold;
    }

    /* Keine Seitenumbrüche innerhalb von Zeilen */
    tr {
        page-break-inside: avoid;
    }

    /* Tabellen-Header wiederholen */
    thead {
        display: table-header-group;
    }

    /* Keine Umbrüche nach Überschriften */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        page-break-after: avoid;
        color: #000;
    }

    h1 {
        font-size: 16pt;
        margin-bottom: 10pt;
    }

    h2 {
        font-size: 14pt;
        margin-bottom: 8pt;
    }

    h3 {
        font-size: 12pt;
        margin-bottom: 6pt;
    }

    /* Container anpassen */
    .container,
    .container-fluid {
        width: 100%;
        max-width: none;
        padding: 0;
        margin: 0;
    }

    /* Karten und Panels */
    .card,
    .panel,
    .well {
        border: 1px solid #ddd;
        page-break-inside: avoid;
        margin-bottom: 10pt;
    }

    /* Bilder */
    img {
        max-width: 100%;
        height: auto;
        page-break-inside: avoid;
    }

    /* Code-Blöcke */
    pre,
    code {
        border: 1px solid #ddd;
        background-color: #f9f9f9;
        padding: 5pt;
        font-size: 8pt;
        page-break-inside: avoid;
    }

    /* Footer mit Seitenzahlen */
    .print-footer {
        position: fixed;
        bottom: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 8pt;
        color: #666;
        border-top: 1px solid #ddd;
        padding-top: 5pt;
    }

    .print-footer .page-number::before {
        content: "Seite " counter(page);
    }

    .print-footer .date::before {
        content: "Datum: " attr(data-date);
    }

    /* Header für jeden Seiten */
    .print-header {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        text-align: center;
        font-size: 10pt;
        font-weight: bold;
        border-bottom: 1px solid #ddd;
        padding-bottom: 5pt;
    }

    /* Abstände vermeiden */
    .print-spacer {
        height: 30pt;
    }

    /* Ranking-spezifische Styles */
    .ranking-table {
        width: 100%;
    }

    .ranking-table .rank-1 {
        background-color: #ffd700 !important;
        font-weight: bold;
    }

    .ranking-table .rank-2 {
        background-color: #c0c0c0 !important;
    }

    .ranking-table .rank-3 {
        background-color: #cd7f32 !important;
    }

    /* Auftrags-Status Farben */
    .status-offen {
        background-color: #fff3cd !important;
    }

    .status-in_arbeit {
        background-color: #d1ecf1 !important;
    }

    .status-erledigt {
        background-color: #d4edda !important;
    }

    .status-zurueckgegeben {
        background-color: #f8d7da !important;
    }

    /* Druck-Logo */
    .print-logo {
        max-width: 200px;
        max-height: 50px;
        margin-bottom: 10pt;
    }

    /* Warnhinweis */
    .print-warning {
        border: 2px solid #000;
        padding: 10pt;
        margin: 10pt 0;
        font-weight: bold;
        text-align: center;
        page-break-inside: avoid;
    }

    /* Datum-Uhrzeit im Footer */
    @bottom-right {
        content: "Druckdatum: " datetime();
        font-size: 8pt;
    }

    @bottom-left {
        content: "goodpoints v4.6.0";
        font-size: 8pt;
    }

    @bottom-center {
        content: "Seite " counter(page) " von " counter(pages);
        font-size: 8pt;
    }

    /* Vermeide und Hurenkinder */
    p {
        orphans: 3;
        widows: 3;
    }

    /* Listen optimieren */
    ul,
    ol {
        page-break-inside: avoid;
    }

    li {
        margin-bottom: 3pt;
    }

    /* Badge/Labels für Druck */
    .badge,
    .label {
        border: 1px solid #ddd;
        padding: 2px 6px;
        font-size: 8pt;
        background-color: #f9f9f9 !important;
        color: #000 !important;
    }

    /* Cards für Druck */
    .auftrag-card,
    .mitarbeiter-card {
        border: 1px solid #ddd;
        padding: 10pt;
        margin-bottom: 10pt;
        page-break-inside: avoid;
    }

    /* Grid-Layouts für Druck anpassen */
    .row,
    .col-md-1,
    .col-md-2,
    .col-md-3,
    .col-md-4,
    .col-md-5,
    .col-md-6,
    .col-md-7,
    .col-md-8,
    .col-md-9,
    .col-md-10,
    .col-md-11,
    .col-md-12,
    .col-lg-1,
    .col-lg-2,
    .col-lg-3,
    .col-lg-4,
    .col-lg-5,
    .col-lg-6,
    .col-lg-7,
    .col-lg-8,
    .col-lg-9,
    .col-lg-10,
    .col-lg-11,
    .col-lg-12 {
        float: none;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    /* Flex-Container für Druck */
    .d-flex,
    .flex-row,
    .flex-column {
        display: block;
    }

    /* Animationen deaktivieren */
    * {
        transition: none !important;
        animation: none !important;
    }

    /* Toast-Nachrichten nicht drucken */
    .toast,
    .alert,
    .notification {
        display: none !important;
    }

    /* Modal-Hintergrund nicht drucken */
    .modal-backdrop {
        display: none !important;
    }

    /* Pagination-Schritte nicht drucken */
    .step-indicator,
    .progress-bar {
        display: none !important;
    }

    /* Tooltip nicht drucken */
    [data-tooltip],
    [title] {
        border-bottom: none;
    }
}

/* Druck-spezifische Klassen */
.print-break-before {
    page-break-before: always;
}

.print-break-after {
    page-break-after: always;
}

.print-break-inside-avoid {
    page-break-inside: avoid;
}

.print-show {
    display: none;
}

@media print {
    .print-show {
        display: block !important;
    }
}

/* Druckvorschau optimieren */
@media print and (orientation: landscape) {
    @page {
        size: A4 landscape;
    }
}

/* Hochformat */
@media print and (orientation: portrait) {
    @page {
        size: A4 portrait;
    }
}
