/* ── Report page styles ────────────────────────────────────────────────────── */

.report-filter-bar { background: #fff; border-radius: 8px; padding: 12px 16px; margin-bottom: 16px; }

/* Report table styling */
.report-table thead th {
    background: #f8fafc;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    border-bottom: 2px solid #e2e8f0;
    white-space: nowrap;
}

.report-table tfoot td { font-weight: 700; background: #f8fafc; border-top: 2px solid #e2e8f0; }

/* Report home cards */
.report-hub-card { transition: box-shadow 0.18s, transform 0.15s; cursor: pointer; }
.report-hub-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.10) !important; transform: translateY(-2px); }

/* ── Print-only header (hidden on screen) ──────────────────────────────────── */
.report-print-header { display: none; }

/* ── doc-header layout ─────────────────────────────────────────────────────── */
.doc-hdr {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}
.doc-hdr-brand {
    flex-shrink: 0;
}
.doc-hdr-logo {
    height: 64px;
    width: auto;
    max-width: 140px;
    object-fit: contain;
    display: block;
}
.doc-hdr-avatar {
    width: 64px;
    height: 64px;
    border-radius: 6px;
    background: #1e3a5f;
    color: #fff;
    font-size: 22px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    letter-spacing: 1px;
}
.doc-hdr-company {
    flex: 1;
    min-width: 0;
}
.doc-hdr-company-name {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 2px;
}
.doc-hdr-meta {
    font-size: 9.5pt;
    color: #555;
    line-height: 1.5;
}
.doc-hdr-title {
    text-align: right;
    flex-shrink: 0;
    max-width: 260px;
}
.doc-hdr-doc-name {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}
.doc-hdr-doc-sub {
    font-size: 9.5pt;
    color: #555;
    line-height: 1.5;
}

/* ── @media print ────────────────────────────────────────────────────────── */
@media print {

    /* Hide all navigation and interactive chrome */
    .sidebar-wrapper,
    .top-bar,
    .page-footer,
    .no-print,
    .report-filter-bar,
    #appOffcanvas,
    #loadingBar,
    .page-header-inner .btn,
    .page-header-inner .d-flex > div:last-child { display: none !important; }

    /* Full-width main area */
    .page-wrapper    { background: #fff !important; }
    .main-container  { margin-left: 0 !important; width: 100% !important; padding: 0 !important; }
    .content-wrapper-scroll { overflow: visible !important; padding: 0 !important; }
    .content-wrapper { padding: 0 !important; }

    /* Show print header */
    .report-print-header {
        display: block !important;
        margin-bottom: 16px;
        padding-bottom: 12px;
        border-bottom: 2px solid #1e3a5f;
    }
    .doc-hdr-avatar { background: #1e3a5f !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
    .doc-hdr-logo   { max-height: 64px; }

    /* Cards */
    .card { border: 1px solid #dee2e6 !important; box-shadow: none !important; page-break-inside: avoid; }
    .card-header { background: #f0f4f8 !important; }

    /* KPI strip */
    .kpi-strip { page-break-inside: avoid; }
    .kpi-card  { border: 1px solid #dee2e6 !important; box-shadow: none !important; }

    /* Tables */
    .table { width: 100%; border-collapse: collapse; }
    .table th, .table td { border: 1px solid #ccc !important; padding: 5px 8px !important;}
    .table thead th { background: #f0f4f8 !important; font-weight: 700 !important; }
    .table tfoot td  { background: #f0f4f8 !important; font-weight: 700 !important; }

    /* Charts — let them render */
    canvas { max-width: 100%; }

    /* Hide empty states */
    .dataTables_empty { display: none; }
}
