/* ==========================================================================
   مركز التقارير — واجهة المنشئ + مستند التقرير + طباعة A4 بـRTL كامل
   يعتمد متغيرات الألوان الحالية في :root فقط، بلا مكتبات أو ألوان صارخة.
   ========================================================================== */

/* ---------- مركز التقارير ---------- */
.rep-intro{ font-size:12.5px; color:var(--muted); margin-bottom:12px; direction:rtl; }
.rep-entry-card{
  border:1px solid var(--line); border-radius:16px; padding:13px 14px; margin-bottom:10px;
  background:var(--card); direction:rtl;
}
.rep-entry-t{ display:flex; align-items:center; gap:8px; margin-bottom:5px; }
.rep-entry-t i{ font-style:normal; font-size:16px; color:var(--green-deep); }
.rep-entry-t b{ font-size:14.5px; color:var(--ink); }
.rep-entry-card p{ font-size:11.5px; color:var(--muted); margin-bottom:10px; }
.rep-entry-card .btn{ width:100%; }
.rep-sub{ display:block; font-size:12.5px; font-weight:700; color:var(--green-deep); margin-bottom:7px; direction:rtl; }
.rep-templates{ margin-top:14px; direction:rtl; }
.rep-template-grid{ display:flex; flex-wrap:wrap; gap:6px; }
.rep-template{
  flex:1 1 calc(50% - 6px); min-width:0; border:1px solid var(--line); border-radius:11px;
  background:var(--bg); padding:8px 9px; font-family:inherit; font-size:11.5px; color:var(--ink);
  cursor:pointer; text-align:center; direction:rtl;
}
.rep-template:hover{ border-color:var(--green); color:var(--green-deep); }

/* ---------- منشئ التقرير ---------- */
.rep-builder{ direction:rtl; }
.rep-step{ border:1px solid var(--line); border-radius:14px; padding:11px 12px; margin:10px 0; background:var(--card); }
.rep-step select, .rep-step input[type=text]{ width:100%; }
.rep-quick{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; }
.rep-quick .d-mini{ flex:1 1 auto; text-align:center; }
.rep-chk-grid{ display:flex; flex-wrap:wrap; gap:6px 10px; margin-top:8px; }
.rep-chk{
  flex:1 1 calc(50% - 10px); min-width:0; display:flex; align-items:center; gap:6px;
  font-size:12px; color:var(--ink); cursor:pointer; direction:rtl;
}
.rep-chk input{ width:auto !important; flex:0 0 auto; }
.rep-chk span{ min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rep-dates{ display:flex; gap:8px; margin-top:8px; }
.rep-dates label{ flex:1; display:flex; flex-direction:column; gap:3px; font-size:11px; color:var(--muted); }
.rep-hint{ font-size:10.5px; color:var(--muted); margin-top:7px; line-height:1.5; }
.rep-preview-btn{ width:100%; }
.rep-toolbar{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:8px; direction:rtl; }
.rep-toolbar .d-mini{ flex:1 1 auto; text-align:center; }

/* ---------- مستند التقرير ---------- */
.rep-doc{
  direction:rtl; background:#fff; color:#1a1a1a; border:1px solid var(--line);
  border-radius:14px; padding:16px 14px; font-variant-numeric:tabular-nums;
}
.rep-cover{ text-align:center; border-bottom:3px double var(--green); padding-bottom:14px; margin-bottom:16px; }
.rep-cover-app{ font-size:12px; color:var(--green-deep); font-weight:700; letter-spacing:.5px; }
.rep-cover-title{ font-size:20px; color:var(--green-deep); margin:6px 0 8px; }
.rep-cover-meta{ display:flex; flex-wrap:wrap; justify-content:center; gap:4px 14px; font-size:11px; color:#555; }
.rep-cover-note{ font-size:10.5px; color:#777; margin-top:7px; }
.rep-section{ margin-bottom:18px; }
.rep-h2{
  font-size:15px; color:var(--green-deep); border-right:4px solid var(--green);
  padding-right:8px; margin-bottom:9px;
}
.rep-index-list{ padding-right:20px; font-size:12.5px; line-height:1.9; }
.rep-index-list a{ color:var(--ink); text-decoration:none; }
.rep-index-list a:hover{ color:var(--green-deep); text-decoration:underline; }

/* بطاقات المؤشرات */
.rep-cards{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.rep-card{
  flex:1 1 calc(33.333% - 6px); min-width:104px; border:1px solid var(--line);
  border-right-width:3px; border-radius:10px; padding:7px 9px; background:#fbfbfa;
  break-inside:avoid; page-break-inside:avoid;
}
.rep-card-l{ display:block; font-size:10px; color:#666; margin-bottom:2px; }
.rep-card-v{ display:block; font-size:13px; font-weight:800; color:#1a1a1a; }
/* ترميز بصري ثابت: اللون مع حد جانبي، ولا يُعتمد على اللون وحده (عنوان + إشارة) */
.rep-tone-income{ border-right-color:#2E7D5B; } .rep-tone-income .rep-card-v{ color:#1F6349; }
.rep-tone-expense{ border-right-color:#C2703A; } .rep-tone-expense .rep-card-v{ color:#9A5326; }
.rep-tone-debt{ border-right-color:#6B4E9E; } .rep-tone-debt .rep-card-v{ color:#4F3878; }
.rep-tone-goal{ border-right-color:#3D7EA6; } .rep-tone-goal .rep-card-v{ color:#2B5E7E; }
.rep-tone-deficit{ border-right-color:#B3261E; } .rep-tone-deficit .rep-card-v{ color:#B3261E; }
.rep-tone-neutral{ border-right-color:#8A8A8A; }
.rep-mono .rep-card-v, .rep-mono .rep-card{ color:#1a1a1a !important; border-right-color:#8A8A8A !important; }

/* الجداول */
.rep-table-wrap{ overflow-x:auto; }
.rep-table{ width:100%; border-collapse:collapse; font-size:11.5px; }
.rep-table th{
  background:var(--green); color:#fff; padding:6px 8px; text-align:right;
  font-size:11px; font-weight:700; white-space:nowrap;
}
.rep-table td{ border:1px solid #e3e3e0; padding:5px 8px; vertical-align:top; overflow-wrap:anywhere; }
.rep-table td.n, .rep-table th.n{ text-align:left; direction:ltr; white-space:nowrap; }
.rep-table td.c, .rep-table th.c{ text-align:center; }
.rep-table tbody tr:nth-child(even){ background:#fafafa; }
.rep-table tfoot td{ background:#f2f5f3; font-weight:800; }
.rep-sys{ font-size:9.5px; color:#9A5326; background:#FBF3EC; border-radius:999px; padding:1px 6px; white-space:nowrap; }
.rep-empty{ font-size:11.5px; color:#888; padding:8px 0; }

/* القراءة التحليلية */
.rep-insights{ list-style:none; padding:0; margin:0; }
.rep-ins{
  display:flex; gap:7px; align-items:flex-start; font-size:12px; line-height:1.65;
  padding:6px 9px; margin-bottom:5px; border-radius:9px; background:#fafafa;
  border-right:3px solid #8A8A8A; break-inside:avoid;
}
.rep-ins-mark{ flex:0 0 auto; font-weight:800; }
.rep-ins-positive{ border-right-color:#2E7D5B; background:#F3F8F5; }
.rep-ins-negative{ border-right-color:#B3261E; background:#FCF4F3; }
.rep-ins-warning{ border-right-color:#C2703A; background:#FDF7F2; }
.rep-conc{ font-size:12.5px; line-height:1.8; color:#333; margin-top:8px; }

/* الرسوم (أشرطة CSS خالصة — تطبع بموثوقية بلا مكتبة) */
.rep-chart{ margin-bottom:12px; break-inside:avoid; page-break-inside:avoid; }
.rep-chart-t{ display:block; font-size:12px; color:var(--green-deep); margin-bottom:6px; }
.rep-bar-row{ display:flex; align-items:center; gap:7px; margin-bottom:4px; font-size:11px; }
.rep-bar-l{ flex:0 0 27%; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.rep-bar-track{ flex:1 1 auto; height:11px; background:#eee; border-radius:999px; overflow:hidden; }
.rep-bar-track > i{ display:block; height:100%; background:var(--green); border-radius:999px; }
.rep-bar-v{ flex:0 0 auto; font-variant-numeric:tabular-nums; direction:ltr; white-space:nowrap; }
.rep-footer{ margin-top:16px; padding-top:9px; border-top:1px solid #e3e3e0; text-align:center; font-size:10.5px; color:#777; }

@media (max-width:430px){
  .rep-card{ flex:1 1 calc(50% - 6px); }
  .rep-table{ font-size:10.5px; }
  .rep-bar-l{ flex:0 0 34%; }
}

/* ==========================================================================
   الطباعة: A4، RTL، بلا واجهة التطبيق، مع تكرار رؤوس الجداول وفواصل الأقسام
   ========================================================================== */
@media print{
  @page{ size:A4; margin:12mm 10mm; }
  html, body{ background:#fff !important; }
  body > *{ display:none !important; }
  body > .app{ display:block !important; }
  .app > .panel{ display:none !important; }
  .app > .panel#p-reports{ display:block !important; padding:0 !important; }
  #p-reports .page-t, #p-reports .hub-head, .nav, .tabs, .no-print,
  .rep-toolbar, .rep-builder, .rep-entry-card, .rep-templates, .rep-intro{ display:none !important; }
  #p-reports .hub{ border:none !important; box-shadow:none !important; padding:0 !important; margin:0 !important; background:#fff !important; }
  .rep-doc{ border:none !important; border-radius:0 !important; padding:0 !important; background:#fff !important; }
  .rep-doc, .rep-table, .rep-card, .rep-ins{ -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .rep-break{ break-before:page; page-break-before:always; }
  .rep-cover, .rep-index{ break-before:auto; page-break-before:auto; }
  .rep-section:first-of-type{ break-before:avoid; page-break-before:avoid; }
  .rep-table thead{ display:table-header-group; }
  .rep-table tfoot{ display:table-footer-group; }
  .rep-table tr, .rep-card, .rep-ins, .rep-chart{ break-inside:avoid; page-break-inside:avoid; }
  .rep-table-wrap{ overflow:visible !important; }
  .rep-table{ font-size:10pt; width:100% !important; table-layout:fixed; }
  .rep-table td, .rep-table th{ overflow-wrap:anywhere; }
  .rep-h2{ break-after:avoid; page-break-after:avoid; }
  .rep-footer{ break-inside:avoid; }
}
