/* =============================================================================
   Priority Print Layout
   Structured print system for urgent docket + reports output
   ============================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Figtree:wght@400;500;600;700&family=JetBrains+Mono:wght@500&display=swap');

:root {
    --print-ink: #1f1a15;
    --print-muted: #635b52;
    --print-muted-strong: #433b33;
    --print-border: #d9d1c6;
    --print-border-soft: #ece6dc;
    --print-border-strong: #b8ac9b;
    --print-paper-soft: #fcfaf6;
    --print-accent: #8f5f2b;
    --print-critical: #9f2b22;
    --print-critical-bg: #fff2f0;
    --print-urgent: #a15d05;
    --print-urgent-bg: #fff7e9;
    --print-task: #0f4f99;
    --print-task-bg: #eef5ff;
}

@media print {
    *, *::before, *::after {
        box-sizing: border-box !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
        color-adjust: exact !important;
    }

    @page {
        size: letter portrait;
        margin: 0.56in 0.62in;
    }

    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        color: var(--print-ink) !important;
        font-family: 'Figtree', 'Segoe UI', sans-serif !important;
        font-size: 10pt !important;
        line-height: 1.42 !important;
    }

    body > *:not(#printContent) {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
    }

    #printContent {
        display: block !important;
        visibility: visible !important;
        width: 100% !important;
        position: static !important;
        background: #fff !important;
    }

    .print-report {
        width: 100% !important;
        color: var(--print-ink) !important;
    }

    .print-header {
        border-bottom: 1.4pt solid var(--print-border-strong) !important;
        margin-bottom: 11pt !important;
        padding-bottom: 10pt !important;
        page-break-inside: avoid !important;
    }

    .print-kicker {
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7pt !important;
        letter-spacing: 0.12em !important;
        text-transform: uppercase !important;
        color: var(--print-accent) !important;
        margin-bottom: 4pt !important;
    }

    .print-header h1 {
        margin: 0 !important;
        font-family: 'Instrument Serif', Georgia, serif !important;
        font-size: 23pt !important;
        font-weight: 400 !important;
        line-height: 1.05 !important;
        color: var(--print-ink) !important;
    }

    .print-subtitle {
        margin: 4pt 0 8pt !important;
        font-size: 9.2pt !important;
        color: var(--print-muted-strong) !important;
    }

    .print-meta-row {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4pt !important;
    }

    .print-meta-item {
        display: inline-flex !important;
        align-items: center !important;
        border: 0.5pt solid var(--print-border) !important;
        border-radius: 3pt !important;
        background: var(--print-paper-soft) !important;
        color: var(--print-muted-strong) !important;
        font-size: 7.5pt !important;
        font-family: 'JetBrains Mono', monospace !important;
        padding: 2pt 5pt !important;
    }

    .print-section {
        margin: 0 0 13pt !important;
        page-break-inside: avoid !important;
    }

    .print-section-title,
    .print-section > h2 {
        margin: 0 0 4pt !important;
        font-size: 10pt !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.06em !important;
        color: var(--print-muted-strong) !important;
    }

    .print-section-intro {
        margin: 0 0 6pt !important;
        font-size: 8.4pt !important;
        color: var(--print-muted) !important;
    }

    .print-stat-grid {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 7pt !important;
        margin: 6pt 0 !important;
    }

    .print-stat-card {
        border: 0.6pt solid var(--print-border) !important;
        border-radius: 4pt !important;
        background: var(--print-paper-soft) !important;
        min-height: 44pt !important;
        padding: 7pt !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
    }

    .print-stat-num {
        font-family: 'Instrument Serif', Georgia, serif !important;
        font-size: 19pt !important;
        line-height: 1 !important;
        color: var(--print-ink) !important;
    }

    .print-stat-label {
        font-size: 7.4pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: var(--print-muted) !important;
    }

    .print-stat-card.critical {
        border-color: #e8c2bc !important;
        background: var(--print-critical-bg) !important;
    }

    .print-stat-card.critical .print-stat-num {
        color: var(--print-critical) !important;
    }

    .print-stat-card.urgent {
        border-color: #eed7ba !important;
        background: var(--print-urgent-bg) !important;
    }

    .print-stat-card.urgent .print-stat-num {
        color: var(--print-urgent) !important;
    }

    .print-stat-card.tasks {
        border-color: #cbdcf3 !important;
        background: var(--print-task-bg) !important;
    }

    .print-stat-card.tasks .print-stat-num {
        color: var(--print-task) !important;
    }

    .print-stat-card.due .print-stat-num {
        color: var(--print-accent) !important;
    }

    .print-snapshot-note {
        margin: 6pt 0 0 !important;
        font-size: 8.2pt !important;
        color: var(--print-muted) !important;
    }

    .print-snapshot-note strong {
        color: var(--print-ink) !important;
        font-weight: 700 !important;
    }

    .print-queue-list {
        list-style: none !important;
        margin: 7pt 0 0 !important;
        padding: 0 !important;
    }

    .print-queue-item {
        display: grid !important;
        grid-template-columns: 22pt 1fr auto !important;
        gap: 8pt !important;
        align-items: center !important;
        border: 0.55pt solid var(--print-border) !important;
        border-left-width: 2.2pt !important;
        border-radius: 4pt !important;
        background: #fff !important;
        padding: 6pt 7pt !important;
        margin-bottom: 4pt !important;
        page-break-inside: avoid !important;
    }

    .print-queue-rank {
        width: 18pt !important;
        height: 18pt !important;
        border-radius: 999px !important;
        border: 0.5pt solid var(--print-border-strong) !important;
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7.5pt !important;
        font-weight: 600 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        color: var(--print-muted-strong) !important;
    }

    .print-queue-title {
        font-size: 9.1pt !important;
        font-weight: 700 !important;
        color: var(--print-ink) !important;
        margin-bottom: 2pt !important;
    }

    .print-queue-meta {
        font-size: 7.8pt !important;
        color: var(--print-muted) !important;
    }

    .print-queue-tag {
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7.1pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        border-radius: 3pt !important;
        border: 0.45pt solid var(--print-border) !important;
        padding: 2pt 5pt !important;
        color: var(--print-muted-strong) !important;
        background: var(--print-paper-soft) !important;
    }

    .priority-critical {
        border-left-color: var(--print-critical) !important;
        background: var(--print-critical-bg) !important;
    }

    .priority-urgent {
        border-left-color: var(--print-urgent) !important;
        background: var(--print-urgent-bg) !important;
    }

    .priority-task-strong {
        border-left-color: var(--print-task) !important;
        background: var(--print-task-bg) !important;
    }

    .priority-task {
        border-left-color: #8d8d8d !important;
    }

    .print-queue-note {
        margin-top: 4pt !important;
        font-size: 7.6pt !important;
        color: var(--print-muted) !important;
    }

    .print-client-block {
        border: 0.7pt solid var(--print-border) !important;
        border-left-width: 2.4pt !important;
        border-radius: 4pt !important;
        background: var(--print-paper-soft) !important;
        padding: 7pt 8pt !important;
        margin-bottom: 7pt !important;
        page-break-inside: avoid !important;
    }

    .print-section-critical .print-client-block {
        border-left-color: var(--print-critical) !important;
    }

    .print-section-urgent .print-client-block {
        border-left-color: var(--print-urgent) !important;
    }

    .print-section-tasks .print-client-block {
        border-left-color: var(--print-task) !important;
    }

    .print-client-head {
        display: flex !important;
        justify-content: space-between !important;
        align-items: baseline !important;
        gap: 8pt !important;
        border-bottom: 0.4pt solid var(--print-border) !important;
        padding-bottom: 4pt !important;
        margin-bottom: 4pt !important;
    }

    .print-client-name {
        font-family: 'Instrument Serif', Georgia, serif !important;
        font-size: 13pt !important;
        font-weight: 400 !important;
        color: #17120d !important;
        letter-spacing: -0.01em !important;
    }

    .print-client-tally {
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7.2pt !important;
        text-transform: uppercase !important;
        color: var(--print-muted) !important;
        letter-spacing: 0.06em !important;
    }

    .print-matter-row {
        border-top: 0.45pt solid var(--print-border-soft) !important;
        padding: 6pt 0 !important;
        page-break-inside: avoid !important;
    }

    .print-matter-row:first-child {
        border-top: 0 !important;
        padding-top: 2pt !important;
    }

    .print-matter-topline {
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 10pt !important;
    }

    .print-matter-title {
        font-size: 9.6pt !important;
        font-weight: 700 !important;
        color: var(--print-ink) !important;
    }

    .print-deadline-badge {
        flex-shrink: 0 !important;
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.03em !important;
        border-radius: 3pt !important;
        padding: 2pt 5pt !important;
        border: 0.45pt solid var(--print-border) !important;
        background: #f5f1eb !important;
        color: var(--print-muted-strong) !important;
    }

    .print-deadline-badge.is-overdue {
        color: var(--print-critical) !important;
        border-color: #d7a4a0 !important;
        background: var(--print-critical-bg) !important;
    }

    .print-deadline-badge.is-today {
        color: var(--print-critical) !important;
        border-color: #d7a4a0 !important;
        background: #ffe8e5 !important;
    }

    .print-deadline-badge.is-soon,
    .print-deadline-badge.is-week {
        color: var(--print-urgent) !important;
        border-color: #e3cda8 !important;
        background: var(--print-urgent-bg) !important;
    }

    .print-deadline-badge.is-unscheduled {
        color: var(--print-muted) !important;
    }

    .print-matter-meta {
        margin-top: 3pt !important;
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 4pt !important;
    }

    .print-chip {
        border: 0.45pt solid var(--print-border) !important;
        border-radius: 3pt !important;
        background: #fff !important;
        color: var(--print-muted-strong) !important;
        font-size: 7.2pt !important;
        padding: 1pt 5pt !important;
    }

    .print-matter-notes {
        margin-top: 4pt !important;
        border-left: 1.6pt solid var(--print-border-strong) !important;
        padding-left: 6pt !important;
        color: var(--print-muted-strong) !important;
        font-size: 8.1pt !important;
        line-height: 1.36 !important;
        white-space: pre-wrap !important;
    }

    .print-notes-label {
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 6.8pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.05em !important;
        color: var(--print-muted) !important;
        margin-right: 4pt !important;
    }

    .print-task-row {
        border-top: 0.45pt solid var(--print-border-soft) !important;
        padding: 5pt 0 !important;
        display: grid !important;
        grid-template-columns: 36pt 1fr 98pt !important;
        gap: 7pt !important;
        align-items: start !important;
    }

    .print-task-row:first-child {
        border-top: 0 !important;
        padding-top: 2pt !important;
    }

    .print-task-urgency {
        display: inline-flex !important;
        justify-content: center !important;
        align-items: center !important;
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 7pt !important;
        border-radius: 3pt !important;
        border: 0.45pt solid var(--print-border) !important;
        background: #f4efe8 !important;
        color: var(--print-muted-strong) !important;
        padding: 2pt 4pt !important;
    }

    .task-critical .print-task-urgency {
        border-color: #d7a4a0 !important;
        color: var(--print-critical) !important;
        background: var(--print-critical-bg) !important;
    }

    .task-urgent .print-task-urgency {
        border-color: #e3cda8 !important;
        color: var(--print-urgent) !important;
        background: var(--print-urgent-bg) !important;
    }

    .task-normal .print-task-urgency {
        border-color: #bdd0ea !important;
        color: var(--print-task) !important;
        background: var(--print-task-bg) !important;
    }

    .print-task-desc {
        font-size: 8.9pt !important;
        color: var(--print-ink) !important;
    }

    .print-task-date {
        font-size: 7.3pt !important;
        color: var(--print-muted) !important;
        text-align: right !important;
    }

    .print-empty-block {
        text-align: center !important;
        border: 0.8pt dashed var(--print-border-strong) !important;
        border-radius: 5pt !important;
        background: var(--print-paper-soft) !important;
        padding: 26pt 16pt !important;
        margin: 10pt 0 14pt !important;
        page-break-inside: avoid !important;
    }

    .print-empty-block h2 {
        margin: 0 0 4pt !important;
        font-family: 'Instrument Serif', Georgia, serif !important;
        font-size: 18pt !important;
        font-weight: 400 !important;
        color: var(--print-ink) !important;
        text-transform: none !important;
        letter-spacing: 0 !important;
    }

    .print-empty-block p {
        margin: 0 !important;
        font-size: 9pt !important;
        color: var(--print-muted) !important;
    }

    .print-table {
        width: 100% !important;
        border-collapse: collapse !important;
        table-layout: fixed !important;
        margin-top: 7pt !important;
        font-size: 8.6pt !important;
        line-height: 1.35 !important;
        page-break-inside: avoid !important;
    }

    .print-table thead th {
        border: 0.6pt solid var(--print-border) !important;
        background: #f3eee5 !important;
        color: var(--print-muted-strong) !important;
        text-transform: uppercase !important;
        font-size: 7.1pt !important;
        letter-spacing: 0.05em !important;
        padding: 5pt !important;
        text-align: left !important;
    }

    .print-table tbody td {
        border: 0.45pt solid var(--print-border-soft) !important;
        padding: 5pt !important;
        vertical-align: top !important;
        color: var(--print-ink) !important;
    }

    .print-table tbody tr:nth-child(even) td {
        background: #fcfaf7 !important;
    }

    .print-summary-table td {
        text-align: center !important;
        font-size: 9pt !important;
        padding: 7pt 5pt !important;
    }

    .print-items-table th:nth-child(6),
    .print-items-table td:nth-child(6) {
        width: 32% !important;
    }

    .print-notes-cell {
        color: var(--print-muted-strong) !important;
        white-space: normal !important;
        word-break: break-word !important;
    }

    .print-badge {
        display: inline-flex !important;
        align-items: center !important;
        border-radius: 3pt !important;
        border: 0.45pt solid var(--print-border) !important;
        font-family: 'JetBrains Mono', monospace !important;
        font-size: 6.9pt !important;
        text-transform: uppercase !important;
        letter-spacing: 0.04em !important;
        padding: 2pt 4pt !important;
    }

    .print-badge-critical {
        color: var(--print-critical) !important;
        border-color: #d7a4a0 !important;
        background: var(--print-critical-bg) !important;
    }

    .print-badge-urgent {
        color: var(--print-urgent) !important;
        border-color: #e3cda8 !important;
        background: var(--print-urgent-bg) !important;
    }

    .print-row-critical td {
        background: #fff2f0 !important;
    }

    .print-row-urgent td {
        background: #fff8eb !important;
    }

    .print-empty {
        text-align: center !important;
        padding: 12pt 8pt !important;
        color: var(--print-muted) !important;
    }

    .print-summary {
        display: flex !important;
        gap: 6pt !important;
        flex-wrap: wrap !important;
        margin-top: 10pt !important;
        border-top: 0.45pt solid var(--print-border) !important;
        padding-top: 6pt !important;
    }

    .print-summary span {
        font-size: 8pt !important;
        color: var(--print-muted) !important;
    }

    .print-footer {
        margin-top: 14pt !important;
        border-top: 1pt solid var(--print-border-strong) !important;
        padding-top: 7pt !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        gap: 10pt !important;
        color: var(--print-muted) !important;
        font-size: 7.8pt !important;
    }

    .print-footer span:last-child {
        margin-left: auto !important;
        text-align: right !important;
    }

    .print-header,
    .print-section,
    .print-client-block,
    .print-queue-item,
    .print-table,
    .print-footer {
        break-inside: avoid !important;
    }
}

/* Screen default: hidden until script prepares print content */
#printContent {
    display: none;
}
