/**
 * SPCRM Print Styles — for report printing.
 *
 * Strips sidebar, topbar, nav, and non-essential elements.
 * Forces black text on white background.
 * Expands data tables to full width.
 * Adds printed header with company logo + report title + timestamp.
 *
 * @media print
 * @package SPCRM_Suite
 */

/* === Hide non-printable elements === */
.spcrm-sidebar,
.spcrm-topbar,
.spcrm-bottom-nav,
.spcrm-sidebar-overlay,
.spcrm-topbar__search,
.spcrm-topbar__icon-btn,
.spcrm-topbar__profile,
.spcrm-topbar__hamburger,
.spcrm-nav__badge,
#spcrm-toast-container,
.spcrm-btn,
.spcrm-modal,
[x-cloak],
.no-print {
    display: none !important;
}

/* === Reset layout === */
body {
    background: #ffffff !important;
    color: #000000 !important;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.spcrm-app {
    display: block !important;
}

.spcrm-main {
    margin-left: 0 !important;
    padding: 0 !important;
}

.spcrm-content {
    padding: 0 !important;
    max-width: 100% !important;
}

/* === Force colors === */
* {
    color: #000000 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
    border-color: #cccccc !important;
}

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

/* === Print Header (auto-generated) === */
.spcrm-print-header {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    padding: 16px 0;
    margin-bottom: 24px;
    border-bottom: 2px solid #000000 !important;
}

.spcrm-print-header__logo {
    height: 32px;
}

.spcrm-print-header__title {
    font-size: 16pt;
    font-weight: 700;
    text-align: center;
    flex: 1;
}

.spcrm-print-header__meta {
    font-size: 8pt;
    text-align: right;
    color: #666666 !important;
}

/* === Tables — full width === */
table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 9pt !important;
    page-break-inside: auto;
}

thead {
    display: table-header-group;
}

tr {
    page-break-inside: avoid;
    page-break-after: auto;
}

th, td {
    padding: 6px 8px !important;
    border: 1px solid #cccccc !important;
    text-align: left;
    vertical-align: top;
}

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

/* === KPI Tiles for print === */
.spcrm-kpi-tile {
    border: 1px solid #cccccc !important;
    padding: 12px !important;
    margin-bottom: 8px;
    page-break-inside: avoid;
}

/* === Cards === */
.spcrm-card {
    border: 1px solid #cccccc !important;
    padding: 12px !important;
    margin-bottom: 16px;
    page-break-inside: avoid;
}

/* === Charts — show fallback data table if available === */
canvas {
    max-width: 100% !important;
    page-break-inside: avoid;
}

/* === Page breaks === */
.print-page-break {
    page-break-before: always;
}

.print-no-break {
    page-break-inside: avoid;
}

h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
}

/* === Page margins === */
@page {
    margin: 15mm 12mm;
    size: A4;
}

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

/* === Print footer === */
.spcrm-print-footer {
    display: block !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-size: 7pt;
    color: #999999 !important;
    border-top: 1px solid #cccccc !important;
    padding-top: 4px;
}

/* === Ensure images print === */
img {
    max-width: 100% !important;
    page-break-inside: avoid;
}

/* === URL display for links === */
a[href]:after {
    content: none; /* Don't show URLs — too noisy for CRM reports */
}

/* === Responsive data table → always table format when printing === */
.spcrm-data-table--mobile-cards .spcrm-data-table__row {
    display: table-row !important;
}

.spcrm-data-table--mobile-cards .spcrm-data-table__cell {
    display: table-cell !important;
}
