/* Smart Fin Reports — Platform Maintenance Layer 4.4.2
   Shared theme compatibility, report typography and print normalization.
   Loaded after the platform and active tool styles. */

/* --------------------------------------------------------------------------
   Theme compatibility
   -------------------------------------------------------------------------- */
html[data-sfr-theme="dark"]{color-scheme:dark}
html[data-sfr-theme="light"]{color-scheme:light}

body.dark-platform :is(
  .sfr-pfa,
  .sfr-cfl,
  .sfr-ff,
  .sfr-fsl,
  .sfr-cce,
  .sfr-credit,
  .sfr-project-analysis,
  .fra-app,
  .sfr-corporate-analysis
) :is(input,select,textarea){
  color-scheme:dark;
}

body:not(.dark-platform) :is(
  .sfr-pfa,
  .sfr-cfl,
  .sfr-ff,
  .sfr-fsl,
  .sfr-cce,
  .sfr-credit,
  .sfr-project-analysis,
  .fra-app,
  .sfr-corporate-analysis
) :is(input,select,textarea){
  color-scheme:light;
}

/* The integrated risk module originally listened to a different theme key. */
html[data-sfr-theme="dark"] .fra-app,
body.dark-platform .fra-app{
  --fra-bg:#08111f;
  --fra-card:#0f1b2d;
  --fra-line:#26364d;
  --fra-text:#e8eef8;
  --fra-muted:#9cafc8;
  --fra-primary:#93b4ff;
  --fra-blue:#69a0ff;
  --fra-green:#45d3a0;
  --fra-amber:#f7b955;
  --fra-red:#ff7b83;
  --fra-shadow:0 12px 30px rgba(0,0,0,.22);
}

html[data-sfr-theme="light"] .fra-app,
body.light-platform .fra-app{
  --fra-bg:#f5f7fb;
  --fra-card:#fff;
  --fra-line:#dfe5ef;
  --fra-text:#0f172a;
  --fra-muted:#64748b;
  --fra-primary:#1e3a8a;
  --fra-blue:#2563eb;
  --fra-green:#0f9f6e;
  --fra-amber:#d97706;
  --fra-red:#dc2626;
  --fra-shadow:0 12px 30px rgba(15,23,42,.07);
}

/* Smooth visual switch without delaying inputs or calculations. */
@media (prefers-reduced-motion:no-preference){
  :is(
    .sfr-pfa,.sfr-cfl,.sfr-ff,.sfr-fsl,.sfr-cce,.sfr-credit,
    .sfr-project-analysis,.fra-app,.sfr-corporate-analysis
  ),
  :is(
    .sfr-pfa,.sfr-cfl,.sfr-ff,.sfr-fsl,.sfr-cce,.sfr-credit,
    .sfr-project-analysis,.fra-app,.sfr-corporate-analysis
  ) :is(article,section,input,select,textarea,button,table,th,td){
    transition-property:background-color,border-color,color,box-shadow;
    transition-duration:.16s;
    transition-timing-function:ease;
  }
}

/* --------------------------------------------------------------------------
   Shared report typography
   Reports intentionally remain white in both UI themes because they are A4
   business documents and must match Print / Save as PDF.
   -------------------------------------------------------------------------- */
:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
){
  box-sizing:border-box;
  background:#fff;
  color:#0f172a;
  font-family:"Tajawal","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  font-size:12px;
  font-weight:400;
  line-height:1.72;
  letter-spacing:0;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  font-synthesis:none;
}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(h1,h2,h3,h4){
  font-family:"Tajawal","Noto Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  color:#0f172a;
  letter-spacing:0;
  text-wrap:balance;
  break-after:avoid;
}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) h1{font-size:31px;line-height:1.28;font-weight:800}
:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) h2{font-size:21px;line-height:1.36;font-weight:800}
:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) h3{font-size:15px;line-height:1.45;font-weight:800}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(p,li,td,th,small,span){
  line-height:1.68;
}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(table){
  width:100%;
  border-collapse:collapse;
  font-size:10.5px;
  line-height:1.5;
  font-variant-numeric:tabular-nums lining-nums;
}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(th){
  font-weight:800;
  color:#334155;
  background:#f1f5f9;
}

:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(.num,.number,[data-value],td:last-child,strong){
  font-variant-numeric:tabular-nums lining-nums;
}

/* Keep numeric columns aligned without forcing all Arabic headings to monospace. */
:is(
  .sfr-pfa-report-page,
  .sfr-cfl-report-page,
  .sfr-ff-report-page,
  .sfr-fsl-report-page,
  .sfr-cce-report-page,
  .sfr-credit-report-page,
  .sfr-pj-report-page,
  .fra-report-page,
  .sfr-ca-report-page,
  .sfr-report-paper,
  .report-card
) :is(td.num,.num,.metric-value,.ratio-value,[data-report-number]){
  font-family:"Cascadia Mono","Segoe UI Mono",Consolas,"Courier New",monospace;
  direction:ltr;
  unicode-bidi:isolate;
}

/* More readable screen preview. */
@media screen{
  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ){
    max-width:210mm;
    margin-inline:auto;
  }
}

/* --------------------------------------------------------------------------
   Print normalization
   -------------------------------------------------------------------------- */
@media print{
  @page{size:A4 portrait;margin:0}

  html,body{
    width:210mm!important;
    min-width:210mm!important;
    background:#fff!important;
    color:#0f172a!important;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
  }

  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ){
    position:relative;
    width:210mm!important;
    max-width:210mm!important;
    min-height:297mm!important;
    margin:0!important;
    padding:15mm 15mm 18mm!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    break-after:page;
    page-break-after:always;
  }

  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ):last-child{
    break-after:auto;
    page-break-after:auto;
  }

  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ) :is(h1,h2,h3,h4,thead,tr,article,.report-card,.panel,.kpi-card){
    break-inside:avoid;
    page-break-inside:avoid;
  }

  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ) :is(table){
    font-size:9.5px!important;
  }
}

/* Small screens: preserve report readability without horizontal overflow. */
@media screen and (max-width:720px){
  :is(
    .sfr-pfa-report-page,
    .sfr-cfl-report-page,
    .sfr-ff-report-page,
    .sfr-fsl-report-page,
    .sfr-cce-report-page,
    .sfr-credit-report-page,
    .sfr-pj-report-page,
    .fra-report-page,
    .sfr-ca-report-page,
    .sfr-report-paper
  ){
    width:100%!important;
    min-height:auto!important;
    padding:22px 14px!important;
    font-size:11.5px;
  }
}

/* Phase 4.6.0 — shared readability, entry ergonomics and print quality */
[data-sfr-module-root]{font-family:"Tajawal","Segoe UI",Tahoma,Arial,sans-serif;font-size:14px;line-height:1.65}
[data-sfr-module-root] input,[data-sfr-module-root] select,[data-sfr-module-root] textarea,[data-sfr-module-root] button{font-family:inherit}
[data-sfr-module-root] input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),[data-sfr-module-root] select,[data-sfr-module-root] textarea{min-height:42px;font-size:14px;line-height:1.45}
[data-sfr-module-root] input[type="number"],[data-sfr-module-root] .num,[data-sfr-module-root] [class*="score"] strong,[data-sfr-module-root] [class*="kpi"] strong{font-family:"JetBrains Mono","Consolas",monospace;font-variant-numeric:tabular-nums}
[data-sfr-module-root] table{font-size:12.5px;line-height:1.55}[data-sfr-module-root] th{font-size:12px}[data-sfr-module-root] td,[data-sfr-module-root] th{vertical-align:middle}
.sfr-tool-quality-chip{margin-inline-start:auto;min-width:142px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 9px;padding:8px 11px;border:1px solid color-mix(in srgb,#3b82f6 25%,#dbe4f0);border-radius:12px;background:color-mix(in srgb,#3b82f6 5%,#fff);color:#475569;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.sfr-tool-quality-chip span{font-size:10px;font-weight:800}.sfr-tool-quality-chip strong{font:900 13px "JetBrains Mono",monospace;color:#2563eb}.sfr-tool-quality-chip i{grid-column:1/-1;display:block;height:4px;border-radius:99px;overflow:hidden;background:#dbe4f0}.sfr-tool-quality-chip b{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#3b82f6,#10b981);transition:width .25s ease}
html[data-sfr-theme="dark"] .sfr-tool-quality-chip,body.dark-platform .sfr-tool-quality-chip{background:rgba(30,58,138,.18);border-color:#2d4668;color:#aebfd4}.sfr-tool-quality-chip+*{min-width:0}
@media(max-width:760px){.sfr-tool-quality-chip{width:100%;margin:8px 0 0;order:20}}
@media print{
  [data-sfr-module-root]{font-size:10.5pt!important;line-height:1.5!important;color:#111!important;background:#fff!important}
  [data-sfr-module-root] h1{font-size:22pt!important;line-height:1.25!important}[data-sfr-module-root] h2{font-size:16pt!important}[data-sfr-module-root] h3{font-size:13pt!important}
  [data-sfr-module-root] table{font-size:8.7pt!important;line-height:1.35!important;width:100%!important}[data-sfr-module-root] th,[data-sfr-module-root] td{padding:2.2mm!important}
  [data-sfr-module-root] article,[data-sfr-module-root] section,[data-sfr-module-root] table,[data-sfr-module-root] tr{break-inside:avoid;page-break-inside:avoid}
  .sfr-tool-quality-chip{display:none!important}
}
.sfr-model-governance-note{margin:22px 0 0;padding:15px 17px;border:1px solid color-mix(in srgb,#f59e0b 38%,#d9e2ee);border-inline-start:5px solid #f59e0b;border-radius:14px;background:color-mix(in srgb,#f59e0b 7%,#fff);color:#78350f;break-inside:avoid;page-break-inside:avoid}
.sfr-model-governance-note b{display:block;margin-bottom:5px;font-size:14px}.sfr-model-governance-note p{margin:0;font-size:12px;line-height:1.75}.sfr-model-governance-note small{display:block;margin-top:7px;font-size:10px;color:#92400e}
html[data-sfr-theme="dark"] .sfr-model-governance-note,body.dark-platform .sfr-model-governance-note{background:rgba(120,53,15,.18);border-color:#765125;color:#fbd38d}.sfr-model-governance-note small{color:inherit;opacity:.82}
@media print{.sfr-model-governance-note{margin-top:5mm;padding:3mm 4mm;background:#fff8e6!important;color:#5b3410!important;border-color:#dba849!important}.sfr-model-governance-note p{font-size:8.8pt!important}}

/* Phase 4.6.0 — professional methodology appendix shared by analytical reports */
.sfr-model-governance-page{margin:22px auto 0;max-width:210mm;padding:28px;border:1px solid #dbe4ef;border-radius:18px;background:#fff;color:#172033;box-shadow:0 16px 40px rgba(15,23,42,.07);break-inside:avoid;page-break-inside:avoid}
.sfr-model-governance-page>header{padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid #e2e8f0}.sfr-model-governance-page>header span{font-size:10px;font-weight:900;letter-spacing:.08em;color:#2563eb}.sfr-model-governance-page>header h2{margin:5px 0 4px;font-size:21px;line-height:1.35}.sfr-model-governance-page>header p{margin:0;color:#64748b;font-size:12px}
.sfr-model-governance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sfr-model-governance-grid section{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc}.sfr-model-governance-grid section:last-child{grid-column:1/-1}.sfr-model-governance-grid h3{margin:0 0 5px;font-size:13px;color:#1d4ed8}.sfr-model-governance-grid p{margin:0;font-size:11.5px;line-height:1.75;color:#334155}
html[data-sfr-theme="dark"] .sfr-model-governance-page,body.dark-platform .sfr-model-governance-page{background:#111b2d;border-color:#2b3c55;color:#e6eef8}.sfr-model-governance-page .sfr-model-governance-grid section{background:color-mix(in srgb,currentColor 3%,transparent)}html[data-sfr-theme="dark"] .sfr-model-governance-grid section,body.dark-platform .sfr-model-governance-grid section{border-color:#2b3c55}.sfr-model-governance-page .sfr-model-governance-grid p{color:inherit;opacity:.82}
@media(max-width:720px){.sfr-model-governance-page{padding:18px 13px}.sfr-model-governance-grid{grid-template-columns:1fr}.sfr-model-governance-grid section:last-child{grid-column:auto}}
@media print{.sfr-model-governance-page{width:210mm!important;max-width:210mm!important;min-height:297mm!important;margin:0!important;padding:15mm!important;border:0!important;border-radius:0!important;box-shadow:none!important;break-after:page;page-break-after:always;background:#fff!important;color:#111!important}.sfr-model-governance-grid{gap:3mm}.sfr-model-governance-grid section{padding:4mm;background:#f8fafc!important}.sfr-model-governance-grid p{font-size:9pt!important}}
