/* ==========================================================================
   print.css — report builder controls (dark, matches app) +
   the printable report itself (always rendered light/paper-styled,
   whether you're looking at the on-screen preview or the printed page).
   ========================================================================== */

/* ---------- report builder (screen only) ---------- */
.report-builder{
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  padding:20px 22px;margin-bottom:24px;display:flex;flex-direction:column;gap:22px;
}
.rb-section{padding-bottom:18px;border-bottom:1px solid var(--border-soft);}
.rb-section:last-child{border-bottom:none;padding-bottom:0;}
.rb-title{font-family:var(--mono);font-size:11.5px;color:var(--amber);text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;}
.rb-select-actions{display:flex;gap:8px;margin-bottom:10px;}
.rb-checklist{max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel-raised);}
.rb-check-row{display:flex;align-items:center;gap:10px;padding:8px 12px;border-bottom:1px solid var(--border-soft);font-size:12.5px;font-family:var(--mono);}
.rb-check-row:last-child{border-bottom:none;}
.rb-check-row input{width:auto;flex-shrink:0;}
.rb-check-row .rc-name{color:var(--amber);font-weight:600;min-width:70px;}
.rb-check-row .rc-detail{color:var(--muted);flex:1;}
.rb-check-row .rc-status{font-size:9.5px;padding:1px 6px;border-radius:8px;text-transform:uppercase;}
.rb-check{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);margin-bottom:8px;font-family:var(--body);}
.rb-check input{width:auto;}
.layout-chip.active{background:var(--cyan);border-color:var(--cyan);color:#04201e;}

/* ---------- the report itself (paper look, shown as preview + used for print) ---------- */
#reportArea{
  background:#ffffff;color:#15181c;border-radius:10px;padding:44px 48px;
  box-shadow:0 25px 70px rgba(0,0,0,0.45);margin-bottom:40px;
}
#reportArea .report-header{text-align:left;border-bottom:2.5px solid #15181c;padding-bottom:14px;margin-bottom:22px;}
#reportArea .rh-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#8a6a2e;margin-bottom:6px;}
#reportArea .report-header h1{font-family:var(--display);font-size:23px;color:#15181c;margin:0 0 4px;}
#reportArea .rh-subtitle{font-size:13px;color:#495057;}
#reportArea .rh-meta{font-family:var(--mono);font-size:11px;color:#8a94a0;margin-top:8px;}

.print-table{width:100%;border-collapse:collapse;font-size:11.5px;margin-bottom:10px;}
.print-table th, .print-table td{border:1px solid #cdd3d8;padding:6px 8px;text-align:left;font-family:var(--mono);}
.print-table th{background:#eef0f2;font-family:var(--mono);text-transform:uppercase;font-size:9.5px;letter-spacing:.04em;color:#495057;}
.print-table tr:nth-child(even) td{background:#fafbfc;}
.print-table td.flags-cell{color:#a4322f;font-size:10.5px;}
.print-status{font-size:9px;padding:1px 6px;border-radius:8px;text-transform:uppercase;font-family:var(--mono);}
.print-status.active{background:#e2f6ea;color:#1f7a44;}
.print-status.handed{background:#fbe6e5;color:#a4322f;}

/* asset tag labels */
.label-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:14px;}
.asset-label{border:1.6px solid #15181c;border-radius:2px;padding:10px 12px;break-inside:avoid;page-break-inside:avoid;}
.asset-label .al-title{font-family:var(--display);font-weight:700;font-size:15px;letter-spacing:.02em;}
.asset-label .al-head-row{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1.4px solid #15181c;padding-bottom:6px;margin-bottom:6px;}
.asset-label .al-head-row .al-title{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.asset-label .al-lab-badge{font-family:var(--mono);font-size:9px;color:#285e61;font-weight:600;letter-spacing:.03em;}
.al-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dotted #b6bcc2;padding:3px 0;font-family:var(--mono);font-size:10.5px;}
.al-row:last-of-type{border-bottom:none;}
.al-row .al-label{color:#5b636e;}
.al-row .al-value{color:#15181c;font-weight:600;text-align:right;}
.al-checks{display:flex;justify-content:space-between;margin-top:6px;font-family:var(--mono);font-size:10px;}
.al-checks .al-check-item{display:flex;align-items:center;gap:4px;}
.al-software{margin-top:8px;border:1px solid #15181c;border-radius:2px;padding:6px 8px;}
.al-software .als-title{font-family:var(--mono);font-weight:700;font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #15181c;padding-bottom:3px;margin-bottom:4px;}
.al-software ul{margin:0;padding-left:14px;font-size:10px;}
.al-software li{margin-bottom:1px;}

/* detailed spec sheets */
.spec-sheet{border:1px solid #cdd3d8;border-radius:6px;padding:22px 26px;margin-bottom:24px;}
.spec-sheet:last-child{margin-bottom:0;}
.spec-sheet .ss-head{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1.5px solid #15181c;padding-bottom:10px;margin-bottom:14px;}
.spec-sheet .ss-name{font-family:var(--display);font-size:20px;font-weight:700;}
.spec-sheet .ss-spec{font-size:12px;color:#495057;margin-top:2px;}
.spec-sheet .ss-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px;}
.spec-sheet .ss-item{border-bottom:1px dotted #cdd3d8;padding-bottom:6px;}
.spec-sheet .ss-item.full{grid-column:1 / -1;}
.spec-sheet .ss-label{font-family:var(--mono);font-size:9.5px;color:#8a94a0;text-transform:uppercase;letter-spacing:.05em;}
.spec-sheet .ss-value{font-size:12.5px;font-family:var(--mono);color:#15181c;margin-top:2px;}
.spec-sheet .ss-flags{margin-top:12px;background:#fbe6e5;border:1px solid #e5b0ae;border-radius:6px;padding:8px 12px;font-size:11px;color:#a4322f;}

.signoff{margin-top:36px;padding-top:16px;border-top:1px solid #cdd3d8;}
.signoff-line{display:flex;justify-content:space-between;font-size:12px;color:#15181c;margin-bottom:26px;font-family:var(--mono);}

.report-pagebreak{break-before:page;page-break-before:always;height:0;}
.hidden{display:none !important;}

/* ---------- print media ---------- */
@media print{
  body{background:#fff !important;}
  .no-print, header, footer, .nav-links, .search-wrap, .view-toggle{display:none !important;}
  #screenWrap{max-width:none;padding:0;margin:0;}
  #reportArea{box-shadow:none;border-radius:0;padding:0;margin:0;}
  .spec-sheet{break-inside:avoid;page-break-inside:avoid;border:none;padding:0;margin-bottom:28px;}
  .spec-sheet:not(:last-child){break-after:page;page-break-after:always;}
  .asset-label{border:1.4px solid #000;}
  @page{ size:A4; margin:14mm; }
}
