/*
 * syndic-print.css — print & PDF views
 * ---------------------------------------------------------------------------
 * Load unconditionally (the file is entirely inside @media print):
 *   <link href="css/syndic-print.css" rel="stylesheet" />
 *
 * Covers the printable artifacts: charge-call statements, receipts, budget
 * summaries, assembly minutes, arrears reports. Screen chrome drops out,
 * colours flatten to ink, tables gain repeating headers.
 *
 * Mark a page's printable region with class="print-area". Anything with
 * class="no-print" is dropped. Both are safe to leave on screen markup.
 */

@media print{
  /* --- Page geometry — A4, Moroccan standard --------------------------- */
  @page{size:A4;margin:16mm 14mm}
  @page:first{margin-top:12mm}

  html,body{background:#fff!important;color:#000!important;font-size:10.5pt;line-height:1.4}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}

  /* --- Drop all app chrome -------------------------------------------- */
  .sidebar,.topbar,.sidebar-backdrop,.hamburger,.search,.toolbar,.tabs,.seg,
  .pager,.bulkbar,.savebar,.wizard-foot,.toast-stack,.drawer-overlay,
  .page-actions,.card-actions,.row-actions,.stepper,.no-print,
  .icon-btn,.btn,.menu,.tip::after{display:none!important}

  /* --- Reset the shell to a single flowing column ---------------------- */
  .app-shell{display:block!important}
  .main{display:block!important;min-height:0!important}
  .page{padding:0!important;max-width:none!important}

  /* When a print-area is declared, hide everything else on the page */
  body:has(.print-area) .page > *:not(.print-area){display:none!important}
  .print-area{display:block!important}

  /* --- Flatten surfaces: no shadows, hairline rules -------------------- */
  .card,.kpi,.stat-strip,.doc-tile,.upload-row,.banner,.board-card,.code{
    box-shadow:none!important;background:#fff!important;
    border:1px solid #999!important;border-radius:0!important}
  .card,.kpi{break-inside:avoid;page-break-inside:avoid}
  .card-head,.card-foot{border-color:#999!important;background:#fff!important;padding:8pt 10pt}
  .card-body{padding:10pt}

  /* --- Typography ------------------------------------------------------ */
  .page-title{font-size:20pt;color:#000!important;margin-bottom:2pt}
  .page-sub{font-size:9pt;color:#333!important}
  .sec-title,.card-title{font-size:11pt;color:#000!important}
  .kpi .value,.stat-value,.gauge-value{color:#000!important;font-size:16pt}
  .kpi .label,.stat-label{color:#333!important;font-size:7.5pt}
  .t-muted,.t-faint,.dl dt,.tl-when,.tl-who,.doc-meta{color:#333!important}

  /* --- Tables: repeat headers across pages, no zebra ------------------- */
  .tbl{font-size:9pt;width:100%!important}
  .tbl thead{display:table-header-group}
  .tbl tfoot{display:table-footer-group}
  .tbl tr{break-inside:avoid;page-break-inside:avoid}
  .tbl thead th{background:#f0f0f0!important;color:#000!important;border-bottom:1px solid #000!important;padding:5pt 6pt;font-size:7.5pt}
  .tbl tbody td{border-bottom:1px solid #ccc!important;color:#000!important;padding:4.5pt 6pt}
  .tbl tbody tr:hover,.tbl-zebra tbody tr:nth-child(even),.tbl tbody tr.is-selected{background:#fff!important}
  .tbl-wrap{overflow:visible!important}
  .tbl-footer{display:none!important}

  /* --- Status: colour is unreliable in print, so add glyphs ----------- */
  .pill{border:1px solid #666!important;background:#fff!important;color:#000!important;padding:1pt 5pt;font-size:8pt}
  .pill .dot{display:none}
  .pill.ok::before{content:"\2713\00a0"}
  .pill.crit::before{content:"\2715\00a0"}
  .pill.warn::before{content:"\0021\00a0"}

  /* --- Bars and gauges: outline + printed value ----------------------- */
  .bar{border:1px solid #666!important;background:#fff!important;height:7pt}
  .bar>span{background:#666!important}
  .gauge-track{stroke:#ddd!important}
  .gauge-fill{stroke:#000!important}
  .tally-seg.for{background:#666!important}
  .tally-seg.against{background:#000!important}
  .tally-seg.abstain{background:#ccc!important;color:#000!important}
  .flow-seg{outline:.5pt solid #fff}

  /* --- Layout: collapse side columns, keep KPI rows tight ------------- */
  .split-main,.split-side,.split-even{display:block!important}
  .grid-4,.grid-3,.grid-2,.grid-5,.grid-6{display:grid!important;gap:6pt}
  .grid-4{grid-template-columns:repeat(4,1fr)}
  .grid-3{grid-template-columns:repeat(3,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
  .board{display:block!important}
  .board-col{break-inside:avoid;margin-bottom:8pt;background:#fff!important}

  /* --- Links: show the destination for external URLs ------------------ */
  a{color:#000!important;text-decoration:none}
  a[href^="http"]::after{content:" (" attr(href) ")";font-size:7.5pt;color:#555}

  /* --- Break control --------------------------------------------------- */
  .page-break{break-before:page;page-break-before:always}
  .keep-together{break-inside:avoid;page-break-inside:avoid}
  h1,h2,h3,.sec-title{break-after:avoid;page-break-after:avoid}

  /* --- Print-only elements: letterhead, signature blocks, footers ------ */
  .print-only{display:block!important}
  .print-head{display:flex!important;justify-content:space-between;align-items:flex-start;
    border-bottom:1.5pt solid #000;padding-bottom:6pt;margin-bottom:12pt}
  .print-brand{font-family:var(--f-serif);font-size:16pt;letter-spacing:-.01em}
  .print-brand .suffix{font-family:var(--f-sans);font-size:7pt;letter-spacing:.18em;text-transform:uppercase;display:block;margin-top:1pt}
  .print-ref{text-align:end;font-size:8.5pt;line-height:1.5}
  .print-ref .mono{font-family:var(--f-mono)}
  .print-foot{display:block!important;border-top:.5pt solid #999;margin-top:14pt;padding-top:5pt;font-size:7.5pt;color:#555;text-align:center}
  /* Signature block for minutes and PV documents */
  .sign-grid{display:grid!important;grid-template-columns:repeat(2,1fr);gap:20pt;margin-top:22pt;break-inside:avoid}
  .sign-slot{border-top:.5pt solid #000;padding-top:4pt;font-size:8.5pt}
  .sign-slot .role{color:#555;font-size:7.5pt}
  /* Legal mention strip, required on Moroccan charge calls */
  .print-legal{font-size:7pt;color:#555;line-height:1.45;margin-top:10pt;text-wrap:pretty}

  /* --- RTL print ------------------------------------------------------- */
  [dir="rtl"] .print-ref{text-align:left}
  [dir="rtl"] .tbl thead th{text-align:right}
  [dir="rtl"] .tbl td.num,[dir="rtl"] .tbl th.num{text-align:left}
}

/* Print-only elements never show on screen */
.print-only,.print-head,.print-foot,.sign-grid,.print-legal{display:none}
