/* ==========================================================================
   FILE      public/assets/css/print.css
   MODULE    UI shell / print
   PURPOSE   Print rulesheet, linked with media="print" AFTER app.css.
             Forces light surfaces + dark ink regardless of the screen theme,
             drops the chrome, and expands .content to the full page width so
             fee receipts, invoices and report cards print cleanly and cheaply
             (no sidebar, no white-on-green buttons, no toners-heavy tints).
   ROLES     every screen
   READS     nothing
   WRITES    nothing
   TRIGGERS  browser print / save-as-PDF
   SECURITY  no dynamic values, no selectors derived from user input
   NOTES     No !important: every rule below out-specifies its app.css
             counterpart (extra `body`/`html` ancestor), so it wins whatever
             order the two sheets are linked in.
   LAST UPDATED: 2026-09-13
   ========================================================================== */

@page{margin:12mm}

/* ---- paper always white, ink always black, whatever the screen theme ---- */
html,body{background:#fff;color:#000}
body .shell{display:block;min-height:0}
body .canvas{display:block}

/* ---- chrome off ---- */
body .sidebar,
body .topbar,
body .search,
body .page-actions{display:none}

/* ---- content uses the whole sheet ---- */
body .content{width:100%;max-width:none;padding:0}

/* ---- flatten elevation and colour ---- */
body .card,body .kpi,body .kpi-top .ico,body .task .ico{
  background:#fff;border:1px solid #767676;box-shadow:none;color:#000
}
body .card-head,body .card-body{padding-left:0;padding-right:0}
body .btn,body .btn-secondary,body .btn-ghost,body .btn-block{
  background:#fff;color:#000;border:1px solid #767676;box-shadow:none
}
body .badge,body .dot-status{background:#fff;color:#000;border:1px solid #767676}
body .dot-status::before{background:#000}
body .notice{background:#fff;color:#000;border:1px solid #767676}
body .org-chip,body .licence-pill,body .avatar{background:#fff}

/* ---- tables: full width, light header, no tinted rows ---- */
body .table-wrap{overflow:visible}
body .table-dense{min-width:0;font-size:10.5pt}
body .table-dense th{background:#fff;color:#000;border-block-end:1px solid #000}
body .table-dense td{border-block-end:1px solid #ccc;color:#000}
body .table-dense tbody tr:hover,body tbody tr:hover{background:transparent}

/* ---- keep records intact across page breaks ---- */
body .card,body .task,body .table-dense tr,body .notice{break-inside:avoid;page-break-inside:avoid}
body .table-dense thead{display:table-header-group}
body h1,body h2,body h3{break-after:avoid;page-break-after:avoid}

/* ---- logo stays small on paper ---- */
body .logo,body .logo-lg,body .logo-sm{max-height:24px}
